Вход | Регистрация
 

Как загрузить пользовательский вариант отчета на СКД программно

Как загрузить пользовательский вариант отчета на СКД программно
Я
   arsenfn
 
31.08.21 - 15:52
Добрый день!

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

Конфигурация Комплексная автоматизация 2. Помогите пожалуйста решить проблему.
   Андроны едут
 
1 - 31.08.21 - 17:02
Такие вещи сейчас кошерно делать при помощи БСП. В вашем случае это БСП ВариантыОтчетов
   PloAl
 
2 - 31.08.21 - 17:53
Не могу посмотреть точно но часть второй строки, должна выглядеть примерно так:
НашВариантОтчета.ПОЛЬЗОВАТЕЛЬСКИЕНастройки.Получить()
   arsenfn
 
3 - 01.09.21 - 09:40
(2) Что-то так никак не получается. У спр. вариант отчета нет реквизита "ПОЛЬЗОВАТЕЛЬСКИЕНастройки".

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