Имя: Пароль:
1C
 
УТ11: Не сохраняются настройки варианта отчета, если подменяю схему СКД
0 Хосе
 
12.08.21
09:27
Подменяю схему компоновки отчета ВыручкаИСебестоимостьПродаж таким образом:

&Перед("ПередЗагрузкойНастроекВКомпоновщик")
Процедура дор_ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД)
    //Меняем на доработанную схему компоновки
    СхемаКомпоновкиДанных = ПолучитьМакет("дор_ОсновнаяСхемаКомпоновкиДанных");
КонецПроцедуры

В схеме настроено доп. поле Остаток.

Все окей, добавляется в настройки, но не сохраняется в варианте отчета.

Причем если сохранить, потом переключаться на другие варианты, возвращаться к этому, все ок.

А если отчет закрыть, потом открыть, то поля нет, которое добавил в вариант.

Куда порыться?

Можно, конечно, макет заменить целиком через расширение (это крайний вариант).

Но может есть идеи, где она теряет настройки, когда она подгружает исходную схему компоновки, где этого поля нет?
1 Хосе
 
15.08.21
21:17
В общем разобрался, проблема в пользовательских настройках.
Надо подменять схему СКД еще и при создании общей формы ФормаОтчета перед вызовом ПриСоздании:
&НаСервере
&Перед("ПриСозданииНаСервере")
Процедура дор_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    //Перед вызываем
    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
    Попытка
        ОтчетОбъект.дор_ПриСозданииОтчета();
    Исключение
    КонецПопытки;
    ЗначениеВДанныеФормы(ОтчетОбъект, Отчет);
КонецПроцедуры




Процедура дор_ПодменитьСхему() Экспорт
    СхемаКомпоновкиДанных = ПолучитьМакет("дор_ОсновнаяСхемаКомпоновкиДанных");
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); //важно
КонецПроцедуры

Процедура дор_ПриСозданииОтчета() Экспорт
    дор_ПодменитьСхему();
КонецПроцедуры
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.