Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТаблицаПервоначальныхДанных = Новый ТаблицаЗначений;
СписокGUID = Новый СписокЗначений;
ТаблицаСвязи = Новый ТаблицаЗначений;
ТаблицаСвязи.Колонки.Добавить("ТехОбъект", Новый ОписаниеТипов("СправочникСсылка.ТехнологическиеОбъекты"));
ТаблицаСвязи.Колонки.Добавить("GUID", Новый ОписаниеТипов("Строка"));
СтруктураДанных = Новый Структура("ТаблицаСвязи", ТаблицаСвязи);
//Первоначальное получение данных
НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, СтруктураДанных, ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаПервоначальныхДанных);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
//Настройка таблицы связей тех. объектов и их GUID
Для Каждого Строка Из ТаблицаПервоначальныхДанных Цикл
НоваяСтрока = ТаблицаСвязи.Добавить();
НоваяСтрока.ТехОбъект = Строка.ТехОбъект;
НоваяСтрока.GUID = НоваяСтрока.ТехОбъект.УникальныйИдентификатор();
СписокGUID.Добавить(НоваяСтрока.GUID);
КонецЦикла;
//Вывод дополненного отчета
НастройкиКомпоновки.ПараметрыДанных.УстановитьЗначениеПараметра("СписокGUID", СписокGUID);
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки);
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, СтруктураДанных, ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.ОтображатьПроцентВывода=Истина;
ПроцессорВывода.Вывести(ПроцессорКомпоновки,Истина);
КонецПроцедуры
Пример отчета (Скачать)
СтандартнаяОбработка = Ложь;
ТаблицаПервоначальныхДанных = Новый ТаблицаЗначений;
СписокGUID = Новый СписокЗначений;
ТаблицаСвязи = Новый ТаблицаЗначений;
ТаблицаСвязи.Колонки.Добавить("ТехОбъект", Новый ОписаниеТипов("СправочникСсылка.ТехнологическиеОбъекты"));
ТаблицаСвязи.Колонки.Добавить("GUID", Новый ОписаниеТипов("Строка"));
СтруктураДанных = Новый Структура("ТаблицаСвязи", ТаблицаСвязи);
//Первоначальное получение данных
НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, СтруктураДанных, ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаПервоначальныхДанных);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
//Настройка таблицы связей тех. объектов и их GUID
Для Каждого Строка Из ТаблицаПервоначальныхДанных Цикл
НоваяСтрока = ТаблицаСвязи.Добавить();
НоваяСтрока.ТехОбъект = Строка.ТехОбъект;
НоваяСтрока.GUID = НоваяСтрока.ТехОбъект.УникальныйИдентификатор();
СписокGUID.Добавить(НоваяСтрока.GUID);
КонецЦикла;
//Вывод дополненного отчета
НастройкиКомпоновки.ПараметрыДанных.УстановитьЗначениеПараметра("СписокGUID", СписокGUID);
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки);
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, СтруктураДанных, ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.ОтображатьПроцентВывода=Истина;
ПроцессорВывода.Вывести(ПроцессорКомпоновки,Истина);
КонецПроцедуры
Пример отчета (Скачать)