- •Содержание
- •1 Справочник контрагентов
- •2 Справочник договоров с контрагентами
- •3 Работа со справочниками контрагентов и договоров
- •3.1 Справочник сортов
- •3.2 Хранение данных по взаиморасчетам с контрагентами
- •4 Документ Приход денег
- •4.1 Работа с документом
- •5 Отчет по долгам
- •6 Документ Выплата денег
- •Заключение
- •Литература
4.1 Работа с документом
Документ готов. Проверим его в работе.
Открываем 1С: Предприятие в монопольном режиме;
Через меню "Операции" команда "Управление оперативными итогами";
Ставим дату актуальности итогов на 30.08.2008;
Нажимаем [Установить];
Появился вопрос "Изменить Точку Актуальности итогов";
Отвечаем [Да];
Нам сообщают, что изменение точки актуальности завершено. Подтверждаем получение сообщения;
Выходим из окна управления итогами;
Из нового раздела меню "Документы" вызываем документ приход денег;
[Закрыть];
Нас спросят – сохранить ли документ? [Да];
Попросят указать время – в начало дня;
Входим в меню "Журналы". Выберем журнал "ДвижениеДенег";
Если мы в журнале ничего не видим, значит, у нас стоит не тот период просмотра журнала. Входим в меню Действия, команда "Интервал". Устанавливаем диапазон дат от 01.10.2000 до текущей даты;
Мы видим наш документ. Пиктограмма слева – голубенький листок бумажки. Это значит, что документ сохранен;
Откроем этот документ, дважды щелкнув его мышкой;
Теперь нажмем [ОК];
Нас спросят про сохранение документа – [Да];
Провести документ? – [Да];
Точка актуальности будет перенесена на новую дату. Продолжить? – [Да];
Нами точка Актуальности была выставлена на 30.08.2008, а документ от 31.08.2008 – точка актуальности перемещается на последний проведенный документ.
В журнале пиктограмма приобрела красную галочку – флаг проведения документа, и красную черточку внизу – признак того, что ТА (Точка Актуальности стоит на текущем документе);
Посмотрим, какие движения произвел наш документ;
Курсор на документ. Меню "Действия", команда "Движения документа". Появилось окошко. В нем галочка стоит на строке с надписью Взаиморасчеты – это означает, что движение было только по этому регистру;
Тут есть еще строчка – Реквизиты справочников. Документ при проведении может менять значения периодических реквизитов справочников! (Если, конечно, это прописать в процедуре ОбработкаПроведения).
Выбираем эту строку;
Появилось окно "Движения регистров Взаиморасчеты (Приход денег 1 (31.08.2008))";
Видим в списке движений одну строку со знаком плюс (+) - это был приход. Движение было только одно – как мы и написали;
Закроем 1С: Предприятие.
5 Отчет по долгам
Машина сама должна показывать нам кто, кому, по какому договору и сколько должен. Для таких целей существуют отчеты. Мы создадим отчет, имеющий свою отдельную форму.
В дереве метаданных, в разделе отчеты, создаем новый отчет;
Идентификатор – "Взаиморасчеты";
Конструкторы никакие вызывать не будем – так напишем;
Появилась экранная форма отчета;
Добавим поле ввода. Идентификатор – ВыбДата, тип – дата;
В модуле формы пишем: Процедура Сформировать() Запрос=СоздатьОбъект("Запрос"); // Запрос – специальный объект в 1С, служит для получения структурированной // выборки данных ТЗ=" |Период с ВыбДата по ВыбДата; |Контр = Регистр.Взаиморасчеты.Контрагент; |Дог = Регистр.Взаиморасчеты.Договор; |Сум = Регистр.Взаиморасчеты.Сумма; |Функция СумКонОст = КонОст(Сум); |Группировка Контр упорядочить по Контр.Код; |"; // Это текст запроса. Подробности в "Описании языка" том 2 Если Запрос.Выполнить(ТЗ)=0 Тогда Сообщить("Запрос не выполнен"); Возврат; КонецЕсли; // Если запрос будет не выполнен по какой либо причине, метод Выполнить() // вернет 0. Мы сообщим пользователю о произошедшей ошибке, и // командой Возврат – прервем выполнение процедуры ИтогоМы=0; ИтогоНам=0; // В этих двух переменных мы будем хранить итоговую информацию по долгу Таб=СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица(""); Таб.ВывестиСекцию("Шапка"); Пока Запрос.Группировка("Контр")=1 Цикл // Получаем очередную запись из запроса ТЭ=Запрос.Контр; // Во временную переменную передаем значение выборки Долг=Запрос.СумКонОст; // Определяем суммарный долг по текущему значению выборки // Дальше уже все знакомые нам методы Если ТЭ.ЭтоГруппа()=1 Тогда НазГр=СокрЛП(ТЭ.Наименование); Если Долг=0 Тогда ИначеЕсли Долг>0 Тогда Мы=Долг; Нам=0; ИначеЕсли Долг<0 Тогда Мы=0; Нам=-Долг; КонецЕсли; Таб.ВывестиСекцию("Группа"); Иначе Наз="("+СокрЛП(Строка(ТЭ.Код))+") "+СокрЛП(ТЭ.Наименование); Если Долг=0 Тогда Продолжить; ИначеЕсли Долг>0 Тогда Мы=Долг; Нам=0; ИтогоМы=ИтогоМы+Мы; ИначеЕсли Долг<0 Тогда Мы=0; Нам=-Долг; ИтогоНам=ИтогоНам+Нам; КонецЕсли; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("Итого"); Таб.ТолькоПросмотр(1); Таб.ПараметрыСтраницы(1,100,1); Таб.Показать(""); КонецПроцедуры
Перейдем на закладку таблица, создадим шаблон (рисунок 2);
Рисунок 2 – Шаблон отчёта по долгам
Закроем форму отчета;
Теперь будем включать наш отчет в меню. В окне метаданных перейдем на закладку "Интерфейсы";
Меню Действия, команда "Редактировать". Редактировать меню, входим в редактирование строки "новая колонка..." (рисунок 3);
Рисунок 3 – Редактирование свойств элемента меню
Название пишем "Отчеты";
[ОК];
Открываем появившийся раздел меню "Отчеты";
Открываем подраздел меню "новый..." (рисунок 4);
Рисунок 4 – Редактирование подраздела меню
Выбираем объект – Отчеты.Взаиморасчеты;
Поля Название, Подсказка заполнились автоматически. Их можно поменять;
[ОК];
Меню Действия команда "Тест" вызовет окошко, где будет показано, как будет выглядеть наше меню;
Закрываем тестовое окно и окно редактирования меню;
Возвращаемся к дереву метаданных;
Сохраняем конфигурацию;
Входим в 1С: Предприятие;
Через меню Отчеты вызываем наш отчет "Взаиморасчеты";
Устанавливаем дату 31.08.2008;
Нажимаем [Сформировать].