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