Получаю неправильные настройки для СКД при использовании нескольких макетов СКД в одном отчете

В форме в процедуре ПриИзмененииВариатыСКД

Упрощённо:

Если Отчет.ВариатыСКД = 1 Тогда

СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Первый”);

Иначе

СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Второй”);

КонецЕсли;

URLКомпоновки = ПоместитьВоВременноеХранилище(СКД);
Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLКомпоновки));
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
Отчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное);

В модуле в Процедуре ПриКомпоновкеРезультата

:

Если ЭтотОбъект.ВариатыСКД = 1 Тогда

СКД = ЭтотОбъект.ПолучитьМакет(“Первый”);

Иначе

СКД = ЭтотОбъект.ПолучитьМакет(“Второй”);

КонецЕсли;

НастройкиСКД = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки();

Смотрю в отладчике значение НастройкиСКД.ДоступныеПоляДополнительныхОтборов – выдаёт список отборов из другого макета СКД.

А если заменить в модуле НастройкиСКД на

НастройкиСКД = СКД.НастройкиПоУмолчанию;

тогда НастройкиСКД.ДоступныеПоляДополнительныхОтборов выдаёт правильный список отборов,   но,  конечно с значениями по умолчанию.

Что делать? куда смотреть?

 

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии