Введение в конфигурирование 1Cv8 - Основные объекты


Способы обхода результатов запроса, группировки в табличном документе - часть 2


/p>

Создайте данный отчет, выбирая различные порядки обхода, смотрите получаемый результат.

Перем ОбшиеИтогиКоличество;

 

Макет = ПолучитьМакет ("ПрололжениеМакет");

 

Секция = Макет. ПолучитьОбласть ("Шалка");

 

Секция. Параметры. ПериодС = Формат (КонПериода, "ДЛФ-D");

 

Секция. Параметры. ПериодПо = Формат (КонПериода, "ДЛФ=D");

 

ТабДок. Вывести (Секция);

 

Секция = Макет. ПолучитьОбласть ("Позиция");

 

Запрос = Новый Запрос;

 

ТекстЗапроса = "ВЫБРАТЬ [Номенклатура, Номенклатура. Наименование НаименованиеНоменклатуры, Количество Количество, Сумма Сумма |ИЗ Документ. Приходная. Товары Где Ссылка. Дата Межлу &НачПериода И &КонПериода |УПОРЯДОЧИТЬ ПО Номенклатура. Наименование |ИТОГИ Сумма (Количество), Сумма (Сумма) ПО ОБЩИЕ, Номенклатура ИЕРАРХИЯ

Запрос. Текст = ТекстЗапроса;

 

Запрос. УстановитьПараметрС'НачПериола", НачПериода);

 

Запрос. УстановитьПараметрС'КонПериода", КонецДня (КонПериола));

 

РезультатЗапроса = Запрос. Выполнить ();

 

ТП. Значение=РезультатЗапроса. Выгрузить ();

 

ТП. СоздатьКолонки ();

 

ТабДок. НачатьАвтогруппировкуСтрок ();

 

Номер=0;

 

ВыборкаОсновная = РезультатЗапроса. Выбрать (ОбходРезультата);

 

Пока ВыборкаОсновная. Следуюший () Цикл Секция. Параметры. Наименовакие = ВыборкаОсновная. НаименованиеНоменклатуры;

 

Секция. Параметры. Колво = ВыборкаОсновная. Количество;

 

Секция. Параметры. Сумма = ВыборкаОсновная. Сумма;

 

Секция. Параметры. Номер = Номер;

 

Секция. Параметры. ТипЗаписи = ВыборкаОсновная. ТипЗаписи ();

 

Секция. Параметры. Уровень = ВыборкаОсновная. Уровень ();

 

ТабДок. Вывести (Секция, ВыборкаОсновная. Уровень ());

 

ВыборкаДетальная = ВыборкаОсновная. Выбрать (ОбходРезультата);

 

ВыдатьРекурсивно (ВыборкаДетальная, Номер, ТабДок, Секция, ОбходРезультата);

 

КонецЦикла;

 

ТабДок. ЗакончитьАвтогруппировкуСтрокО;

 

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

Рассмотрим еще один пример

Рассмотрим отчет «Вложенная таблица». Данный отчет иллюстрирует как за счет «обхода» (на самом деле механизм основан на том, что поле, содержащее табличную часть, имеет тип «Результат запроса») можно получить данные, которые не «запрашивались явно» при написании текста запроса.

В диалоге основной формы отчета необходимо разместить элемент формы «поле табличного документа» (имя «тблРезультат»).

Модуль отчета приведен ниже:




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