6
Axel2009
03.08.11
✎
13:57
|
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//В качестве схемы компоновки будет выступать схема самого отчета
//В качестве настроек отчета - текущие настройки отчета
//Данные расшифровки будем помещать в ДанныеРасшифровки
Если ЗаполнятьДанныеРасшифровки Тогда
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, НастройкаКомпоновкиДанных, ДанныеРасшифровки, МакетОформления);
Иначе
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, НастройкаКомпоновкиДанных, , МакетОформления);
КонецЕсли;
//Создадим и инициализируем процессор компоновки
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
Если ВнешниеНаборыДанных = Неопределено Тогда
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
Иначе
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);
КонецЕсли;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
//Обозначим начало вывода
ПроцессорВывода.НачатьВывод();
//Основной цикл вывода отчета
Пока Истина Цикл
ОбработкаПрерыванияПользователя();
//Получим следующий элемент результата компоновки
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Если ЭлементРезультата = Неопределено Тогда
//Следующий элемент не получен - заканчиваем цикл вывода
Прервать;
Иначе
//тут обработки, подправлять макет компоновки, если данные в элементе результата необходимый параметр сменился
//(МакетКомпоновки, ДанныеРасшифровки, ЭлементРезультата);
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЕсли;
КонецЦикла;
//Завершение вывода отчета
ПроцессорВывода.ЗакончитьВывод();
|
|