Описание встроенного языка системы 1С Предприятие


Разработка вложенных отчетов - часть 2


Рассмотрим построение вложенных отчетов на примере. Допустим, у вас есть отчет «ПродажиТоваров», в котором отображается перечень товаров, коли­чество и сумма проданных за некоторый период товаров. Программный модуль формирования такого отчета приведен ниже.

Пример:

Процедура ПродВсего()

   Перем Запрос, ТекстЗапроса, Таб;

   ДатаКон = ДатаКонца;

   Если ДатаКон >= ПолучитьДатуТА() Тогда

      ДатаКон = Дата(0);

   КонецЕсли;

   //Создание объекта типа Запрос

   Запрос = СоздатьОбъект("Запрос");

   ТекстЗапроса = "//{{ЗАПРОС(ПродВсего)

   |Период с ДатаНачала по ДатаКон;

   |ТОВАР = Документ.РасхНакл.Товар;

   |Сумма_Прод = Документ.РасхНакл.СуммаРуб;

   |КОЛВО_Прод = Документ.РасхНакл.Количество;

   |Группировка ТОВАР;

   |Функция Продано = Сумма(КОЛВО_Прод);

   |Функция СуммаПродано = Сумма(Сумма_Прод);

   |"//}}ЗАПРОС

   ;

   // Если ошибка в запросе, то выход из процедуры

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

      Возврат;

   КонецЕсли;

   // Подготовка к заполнению

   Таб = СоздатьОбъект("Таблица");

   Таб.ИсходнаяТаблица("ТабВсего");

   Таб.ВывестиСекцию("Отчет");

   Пока Запрос.Группировка("Товар") = 1 Цикл

      ПродСумма = Запрос.СуммаПродано;

      Если Запрос.Товар.ЭтоГруппа() = 1 Тогда

         Таб.ВывестиСекцию("Группа");

      Иначе

         Таб.ВывестиСекцию("Товар");

      КонецЕсли;

   КонецЦикла;

   // Вывод заполненной формы

   Таб.ТолькоПросмотр(1);

   Таб.Опции(0, 0, 4, 0);

   Таб.Показать("Продажа товаров ", "");

КонецПроцедуры

Text Box: Отчет по продаже товаров</p></div>
<p>с 01.11.96 по 19.11.96</p>
<p>Товар


В режие исполнения у нас получится такой отчет:

Далее, допустим, мы хотим получить более подробный отчет по конкретно­му товару, так, чтобы указав на товар в отчете, и дважды нажав кнопку мыши, мы получали отчет по продажам именно этого товара с точностью до каждого клиента. Для этого откроем в Конфигураторе редактор таблицы нашего отчета и в свойствах ячейки (Свойства ячейки — Текст — поле: Значение), отображающей наименование товара, проставим значение ячейки. («Запрос.Товар»)




Начало  Назад  Вперед



Книжный магазин