Книга: Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных
Назад: Редактирование настроек не основной схемы компоновки
Дальше: Вывод в дерево значений, таблицу значений для дальнейшей программной обработки

Вывод отчета

После того как установлена схема компоновки данных и ее настройки, можно программно сформировать и вывести отчет (листинг 3.61).

Листинг 3.61. Программное формирование отчета

Процедура СформироватьОтчет() Экспорт

 

СхемаКомпоновкиДанных = УстановитьСхему();

 

Настройки = УстановитьНастройки(СхемаКомпоновкиДанных);

 

// В этот объект помещается информация о расшифровке данных.

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

 

// Формирование макета компоновки данных с помощью компоновщика макета.

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

// В макет компоновки передаются СхемаКомпоновкиДанных, ее настройки и

// ДанныеРасшифровки для заполнения информации о расшифровке.

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки,

ДанныеРасшифровки);

 

// Выполнение компоновки данных с помощью процессора компоновки.

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

 

// Очистка поля табличного документа – Результат.

Результат.Очистить();

 

// Вывод результатов компоновки в табличный документ.

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

ПроцессорВывода.УстановитьДокумент(Результат);

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

 

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

Данная процедура реализована в обработке Работа с СКД. В функциях УстановитьСхему(), УстановитьНастройки() программно описывается схема компоновки данных и задаются стандартные настройки. В результате в обработке Работа с СКД при нажатии кнопки Сформировать отчет полностью программным образом получается отчет о последних ценах комплектующих из регистра сведений Цены (см. рис. 3.319).

Система компоновки данных позволяет выводить результат компоновки данных в результирующий документ. Для этого у процессора вывода реализован метод Вывести(), в качестве параметра которому передается процессор компоновки данных. В приведенном выше примере результат выводится в элемент формы – поле табличного документа. В следующем примере результат компоновки выводится не в отчетную форму, а в новый табличный документ (листинг 3.62).

Листинг 3.62. Вывод отчета в табличный документ

ДокументРезультат = Новый ТабличныйДокумент;

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

Процессор компоновки данных выполняет автоматическую фиксацию заголовка таблицы, если в отчет выводится одна таблица или одна группировка (возможно, с вложенными группировками).

Назад: Редактирование настроек не основной схемы компоновки
Дальше: Вывод в дерево значений, таблицу значений для дальнейшей программной обработки