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