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