в разделе отчеты, создаем новый
В дереве метаданных, в разделе отчеты, создаем новый отчет;
Идентификатор – "Взаиморасчеты";
А вот вставлять в интерфейс из визарда не будем. Мы потом сами ручками вставим;
Конструкторы никакие вызывать не будем – так напишем (либо скопируем с сей методички);
Появилась экранная форма отчета;
Добавим поле ввода. Идентификатор – ВыбДата, тип – дата;
В модуле формы пишем:
Процедура Сформировать()
Запрос=СоздатьОбъект("Запрос");
// Запрос – специальный объект в 1С, служит для получения структурированной
// выборки данных
ТЗ="
|Период с ВыбДата по ВыбДата;
|Контр = Регистр.Взаиморасчеты.Контрагент;
|Дог = Регистр.Взаиморасчеты.Договор;
|Сум = Регистр.Взаиморасчеты.Сумма;
|Функция СумКонОст = КонОст(Сум);
|Группировка Контр упорядочить по Контр.Код;
|";
// Это текст запроса. Подробности в "Описании языка" том 2
Если Запрос.Выполнить(ТЗ)=0 Тогда
Сообщить("Запрос не выполнен");
Возврат;
КонецЕсли;
// Если запрос будет не выполнен по какой либо причине, метод Выполнить()
// вернет 0. Мы сообщим пользователю о произошедшей ошибке, и
// командой Возврат – прервем выполнение процедуры
ИтогоМы=0;
ИтогоНам=0;
// В этих двух переменных мы будем хранить итоговую информацию по долгу
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("");
Таб.ВывестиСекцию("Шапка");
Пока Запрос.Группировка("Контр")=1 Цикл
// Получаем очередную запись из запроса
ТЭ=Запрос.Контр;
// Во временную переменную передаем значение выборки
Долг=Запрос.СумКонОст;
// Определяем суммарный долг по текущему значению выборки
// Дальше уже все знакомые нам методы
Если ТЭ.ЭтоГруппа()=1 Тогда
НазГр=СокрЛП(ТЭ.Наименование);
Если Долг=0 Тогда
ИначеЕсли Долг>0 Тогда
Содержание Назад Вперед