Имя: Пароль:
1C
 
Как загрузить пользовательский вариант отчета на СКД программно
,
0 arsenfn
 
31.08.21
15:52
Добрый день!

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

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