В начало

Программный вывод отчета в дерево значений

 

Далее приведен пример вывода отчета «Автопром» в дерево значений.

На форме отчета «Автопром» нужно разместить кнопку, в процедуре действия которой прописать код, приведенный в листинге далее.

 

Листинг. Модуль формы отчета

Процедура ДействияФормыВДерево(Кнопка)

            СКД = Отчеты.Автопром.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

            КМ = Новый КомпоновщикМакетаКомпоновкиДанных;        

            Настройки = СКД.НастройкиПоУмолчанию;

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

 

            ПКД = Новый ПроцессорКомпоновкиДанных;

            ПКД.Инициализировать(МК);

           

            ДЗ = Новый ДеревоЗначений;

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

            ПВ.УстановитьОбъект(ДЗ);

            ПВ.Вывести(ПКД); 

КонецПроцедуры

 

Если установить точку останова в конце процедуры, а затем вычислить выражение, то можно увидеть результат отчета, который находится в переменной «ДЗ».

 

Рис. Как посмотреть результат отчета в переменной «ДЗ»

 

            Далее показана коллекция строк дерева значений, помимо чисто служебных колонок, есть и интересующие нас колонки, такие как: «Код», «Наименование» и «Страна», именно эти колонки и были выбраны для вывода в отчет.

Рис. Результат отчета (содержимое дерева значений «ДЗ»)

 

            Для таблицы значений результат будет аналогичный.

            Таким образом, можно получить программным способом результат выполнения отчета, в данном случае «Автопром» в виде дерева значений, а вот нахрена это нужно трудно сказать.