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