Выгрузка отчета в таблицу/дерево значений

Использование нескольких схем компоновки данных в одном отчете
СКД. Вывод информации табличной части в одну ячейку.

Недавно появилась задачка, необходимо создать отчет, который требуется выгружать в Excel. Написал запрос, создал схему компоновки данных и отчет готов, результат компоновки выводится в табличный документ. Приступил к реализации вывода отчетных данных в Excel и призадумался, а как же это лучше сделать?

Оказывается, результат компоновки данных можно выводить в таблицу значений или дерево значений для последующей программной обработки. Для этого предназначен объект языка программирования ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений. У этого объекта имеется метод УстановитьОбъект(), который является аналогом метода УстановитьДокумент() объекта ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент.

Привожу пример вывода результата компоновки в таблицу значений:

Функция СкомпоноватьРезультатВКоллекциюЗначений() Экспорт

тзКомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных;
тзМакетКомпоновкиДанных = тзКомпоновщикМакет.Выполнить(
СхемаКомпоновкиДанных,
КомпоновщикНастроек.ПолучитьНастройки(),
,
,
Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

тзПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
тзПроцессорКомпоновкиДанных.Инициализировать(тзМакетКомпоновкиДанных);

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

тзПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
тзПроцессорВывода.УстановитьОбъект(тзРезультат);
тзПроцессорВывода.Вывести(тзПроцессорКомпоновкиДанных);

Возврат тзРезультат;

КонецФункции // СкомпоноватьРезультатВКоллекциюЗначений()

Эту функцию я поместил в модуль отчета, что бы можно было вызывать её как из обычной так и из управляемой формы. Далее я успешно обхожу все строки таблицы значений в цикле и вывожу их в Excel.

При выводе результата компоновки в таблицу или дерево значений существуют следующие ограничения:
  • в настройках должны присутствовать только группировки и детальные записи. Использование таблиц, диаграмм и вложенных отчетов не допускается;
  • все папки, указанные в выбранных полях, игнорируются;
  • не используется условное оформление, а также оформление для поля, указанное в схеме компоновки данных;
  • из параметров вывода используются только следующие: расположение общих итогов по вертикали; тип заголовка полей; количество записей; процент записей;
  • предопределенные макеты не используются.

Комментарии

  1. А как потом эту таблицу значений на форме отчета отобразить?

    ОтветитьУдалить

Отправить комментарий