1С-Предприятие 8.0. Практическое пособие разработчика


Отчет РеестрДокументовОказаниеУслуги - часть 5


   Пока ВыборкаДетали.Следующий() Цикл

       ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

       ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

   КонецЦикла;

 

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

   ТабДок.Вывести(ОбластьПодвалТаблицы);

   ТабДок.Вывести(ОбластьПодвал);

 

   //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ

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

 

В форме отчета расположен элемент управления ПолеТабличногоДокумента с именем "ТабДок", который заполняется данными на основе макета, сформированного конструктором. [170]

В начале процедуры мы получаем макет отчета, из которого затем получаем существующие в нем области в соответствующие переменные:

...

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

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

   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

...

 

Затем мы очищаем табличный документ и выводим в него те области, которые не содержат данных, получаемых из результата запроса:

...

   ТабДок.Очистить();

   ТабДок.Вывести(ОбластьЗаголовок);

   ТабДок.Вывести(ОбластьШапкаТаблицы);

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

...

 

В последней строке конструктор добавил начало автогруппировки строк. В данном примере у нас нет строк, которые нужно было бы группировать, но по умолчанию конструктор всегда предлагает выполнить группировку строк в табличном документе. На скорость вывода отчета такой вызов влиять не будет, поэтому оставим текст конструктора без изменений.

После этого мы получаем выборку из результата запроса, которую перебираем в цикле:




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