- •Лабораторная работа № (продолжение) Построение простейшей конфигурации по учету складских операций
- •2.7 Справочник складов
- •2.8 Справочник контрагентов
- •2.9 Справочник договоров с контрагентами
- •2.10 Работа со справочниками контрагентов и договоров
- •2.11 Справочник сортов
- •2.12 Хранение данных по взаиморасчетам с контрагентами
- •2.13 Первый документ. Приход денег
- •2.14 Работа с документом.
- •2.15 Отчет по долгам.
- •2.16 Документ "Выплата денег".
- •2.17 Документ "Изменение цен".
- •2.18 Регистры по товарам.
- •2.19 Приходная накладная.
- •2.20 Отчет по остаткам на складе.
- •2.21 Fifo/lifo/По-среднему.
- •2.22 Расходная накладная.
- •2.23 Расходная накладная. Продолжение.
- •2.24 Накладная на перемещение
- •2.25 Оборотные ведомости
- •2.26 Отчет по прибыли с товара
- •2.27 Отчет по обороту товара
- •2.28 Новые наборы прав
- •2.29 Новые интерфейсы
2.14 Работа с документом.
Документ готов. Проверим его в работе.
Открываем 1С:Предприятие в монопольном режиме;
Через меню "Операции" команда "Управление оперативными итогами";
Ставим дату актуальности итогов на 01.10.2007;
Нажимаем [Установить];
Появился вопрос "Изменить Точку Актуальности итогов";
Отвечаем [Да];
Нам сообщают, что изменение точки актуальности завершено. Подтверждаем получение сообщения (подробнее см. "Руководство пользователя");
Выходим из окна управления итогами;
Из нового раздела меню "Документы" вызываем документ приход денег;
Номер документа – 1, Дата – 02.10.2007, Комментарий – "наш первый документ", Контрагент – "Винни-Пух и все все все", Договор – "№12 от 2 Октября 2007 г.", Сумма – 1000;
[Закрыть];
Нас спросят – сохранить ли документ? [Да];
Попросят указать время – в начало дня;
Входим в меню "Журналы". Выберем журнал "ДвижениеДенег";
Если мы в журнале ничего не видим, значит, у нас стоит не тот период просмотра журнала. Входим в меню Действия, команда "Интервал". Устанавливаем диапазон дат от 01.10.2007 до текущей даты;
Мы видим наш документ. Пиктограммка слева – голубенький листок бумажки. Это значит, что документ сохранен;
Откроем этот документ, дважды щелкнув его мышкой;
Теперь нажмем [ОК];
Нас спросят про сохранение документа – [Да];
Провести документ? – [Да];
Точка актуальности будет перенесена на новую дату. Продолжить? – [Да]; Нами точка Актуальности была выставлена на 01.10.2007, а документ от 02.10.2007 – точка актуальности перемещается на последний проведенный документ.
В журнале пиктограммка приобрела красную галочку – флаг проведения документа, и красную черточку внизу – признак того, что ТА (Точка Актуальности стоит на текущем документе);
Посмотрим, какие движения произвел наш документ;
Курсор на документ. Меню "Действия", команда "Движения документа". Появилось окошко. В нем галочка стоит на строке с надписью Взаиморасчеты – это означает, что движение было только по этому регистру; Тут есть еще строчка – Реквизиты справочников. Документ при проведении может менять значения периодических реквизитов справочников! (Если, конечно, это прописать в процедуре ОбработкаПроведения).
Выбираем строку Взаиморасчеты;
Появилось окно "Движения регистров Взаиморасчеты (Приход денег 1 (02.10.2007))";
Видим в списке движений одну строку со знаком плюс (+) – это был приход. Движение было только одно – как мы и написали;
Закроем 1С:Предприятие;
2.15 Отчет по долгам.
Мы теперь, по данным нашей программы, должны фирме "Винни-Пух и все все все" – 1000 ед. денег. Это мы можем определить из нашего единственного документа, но когда таких документов будет много, и контрагентов в документах будет тоже много, мы запутаемся. Пусть лучше машина сама показывает нам кто, кому, по какому договору и сколько должен. Для таких целей существуют отчеты. Простейший отчет – "список номенклатуры" – мы уже создавали. Этот отчет у нас был включен в форму списка справочника. Теперь мы создадим отчет, имеющий свою отдельную форму.
В дереве метаданных, в разделе отчеты, создаем новый отчет;
Идентификатор – "Взаиморасчеты";
А вот вставлять в интерфейс из визарда не будем. Мы потом сами ручками вставим;
Конструкторы никакие вызывать не будем – так напишем (либо скопируем с сей методички);
Появилась экранная форма отчета;
Добавим поле ввода. Идентификатор – ВыбДата, тип – дата;
В модуле формы пишем: Процедура Сформировать() Запрос=СоздатьОбъект("Запрос"); // Запрос – специальный объект в 1С, служит для получения структурированной // выборки данных ТЗ=" |Период с ВыбДата по ВыбДата; |Контр = Регистр.Взаиморасчеты.Контрагент; |Дог = Регистр.Взаиморасчеты.Договор; |Сум = Регистр.Взаиморасчеты.Сумма; |Функция СумКонОст = КонОст(Сум); |Группировка Контр упорядочить по Контр.Код; |"; // Это текст запроса. Подробности в "Описании языка" том 2 Если Запрос.Выполнить(ТЗ)=0 Тогда Сообщить("Запрос не выполнен"); Возврат; КонецЕсли; // Если запрос будет не выполнен по какой либо причине, метод Выполнить() // вернет 0. Мы сообщим пользователю о произошедшей ошибке, и // командой Возврат – прервем выполнение процедуры ИтогоМы=0; ИтогоНам=0; // В этих двух переменных мы будем хранить итоговую информацию по долгу Таб=СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица(""); Таб.ВывестиСекцию("Шапка"); Пока Запрос.Группировка("Контр")=1 Цикл // Получаем очередную запись из запроса ТЭ=Запрос.Контр; // Во временную переменную передаем значение выборки Долг=Запрос.СумКонОст; // Определяем суммарный долг по текущему значению выборки // Дальше уже все знакомые нам методы Если ТЭ.ЭтоГруппа()=1 Тогда НазГр=СокрЛП(ТЭ.Наименование); Если Долг=0 Тогда ИначеЕсли Долг>0 Тогда Мы=Долг; Нам=0; ИначеЕсли Долг<0 Тогда Мы=0; Нам=-Долг; КонецЕсли; Таб.ВывестиСекцию("Группа"); Иначе Наз="("+СокрЛП(Строка(ТЭ.Код))+") "+СокрЛП(ТЭ.Наименование); Если Долг=0 Тогда Продолжить; ИначеЕсли Долг>0 Тогда Мы=Долг; Нам=0; ИтогоМы=ИтогоМы+Мы; ИначеЕсли Долг<0 Тогда Мы=0; Нам=-Долг; ИтогоНам=ИтогоНам+Нам; КонецЕсли; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("Итого"); Таб.ТолькоПросмотр(1); Таб.ПараметрыСтраницы(1,100,1); Таб.Показать(""); КонецПроцедуры
Перейдем на закладку таблица, создадим шаблон, такого вида:
Закроем форму отчета;
Теперь будем включать наш отчет в меню. В окне метаданных перейдем на закладку "Интерфейсы";
Меню Действия, команда "Редактировать". Редактировать меню;
Входим в редактирование строки "новая колонка...";
Название пишем "Отчеты";
[ОК];
Открываем появившийся раздел меню "Отчеты";
Открываем подраздел меню "новый...";
Выбираем объект – Отчеты.Взаиморасчеты;
Поля Название, Подсказка заполнились автоматически. Их можно поменять;
[ОК];
Меню Действия команда "Тест" вызовет окошко, где будет показано, как будет выглядеть наше меню;
Закрываем тестовое окно;
Закрываем окно редактирования меню;
Возвращаемся к дереву метаданных;
Сохраняем конфигурацию;
Входим в 1С:Предприятие;
Через меню Отчеты вызываем наш отчет "Взаиморасчеты";
Устанавливаем дату 02.10.2000;
Нажимаем [Сформировать];
Результат. Мы должны всем поставщикам 1000, из них Винни-Пуху 1000, а всего наш долг 1000. Что и требовалось;