Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Т-13 программно в дерево значений

Т-13 программно в дерево значений
Я
   zippygrill
 
12.05.21 - 12:36
Привет!
Прошу вашей помощи, сам уже перестал понимать и искать причину почему результат отчета пустой. Проклятый какой то отчет.
Программно нужно сформировать т-13 в ЗУП последний релиз. Данные мне нужны в дереве значений. Все установленные параметры один в один с типовым отчетом при формировании (ПриКомпоновкиРезультата)
Вроде не впервые формирую отчеты программно, но этот непобедим..

    ОтчОб = отчеты.УнифицированнаяФормаТ13.Создать();
    ЗарплатаКадрыОтчеты.ПередНачаломКомпоновкиРезультата(ОтчОб);
    СхемаКомпоновкиДанных = ОтчОб.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    АдресВХ = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, Новый УникальныйИдентификатор);
    Настройки = ОтчОб.КомпоновщикНастроек.ПолучитьНастройки();
    ЗаполнитьСписокВидовВремени(Настройки);
    
    КомпоновщикНастроекКомпоновкиДанных = Новый КомпоновщикНастроекКомпоновкиДанных;        
    //КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВХ));
    КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(Настройки);

    
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ПериодОтчета", СтандартныйПериод);
    ПараметрРассчитыватьПлановоеВремя = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РассчитыватьПлановоеВремя"));
    ПараметрРассчитыватьПлановоеВремя.Использование = Истина;
    ПараметрРассчитыватьПлановоеВремя.Значение = Истина;
    
    Отбор = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Сотрудник");
    Отбор.ПравоеЗначение = Сотрудник;
    ОТбор.Использование = Истина;
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        
    МакетКомпоновки = ЗарплатаКадрыОтчеты.МакетКомпоновкиДанныхДляКоллекцииЗначений(СхемаКомпоновкиДанных, Настройки);
    
    ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
    ПараметрыПолученияДанных.ДатаНачала = "ДатаНачала";
    ПараметрыПолученияДанных.ДатаОкончания = "ДатаОкончания";
    УчетРабочегоВремениРасширенный.ПолученияДанныхУчетаВремениПослеКомпоновкиМакета(МакетКомпоновки.НаборыДанных.ДанныеОВремени, ПараметрыПолученияДанных);
    
    СоответствиеПользовательскихПолей = ЗарплатаКадрыОтчеты.СоответствиеПользовательскихПолей(Настройки);
    
    //Выполним компоновку с помощью процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , , Истина);
        
    ДанныеОВремени = Новый ДеревоЗначений;
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ПроцессорВывода.УстановитьОбъект(ДанныеОВремени);
    
    // Обозначим начало вывода
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);
   zippygrill
 
1 - 12.05.21 - 13:22
апну
   zippygrill
 
2 - 12.05.21 - 14:21
fgye
   hhhh
 
3 - 12.05.21 - 14:42
(0) вот это точно правильно?

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

обычно в зуп схема компоновки вытаскивается откуда-то через задницу кучей общих модулей и формируется из четырех схем одна результирующая.
   zippygrill
 
4 - 12.05.21 - 17:23
(3) К этому отчету одна единственная схема
   hhhh
 
5 - 12.05.21 - 17:44
(4) всё равно проверьте, как она в зупе вытаскивается.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.