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