В форме в процедуре ПриИзмененииВариатыСКД
Упрощённо:
Если Отчет.ВариатыСКД = 1 Тогда
СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Первый”);
Иначе
СКД = РеквизитФормыВЗначение(“Отчет”).ПолучитьМакет(“Второй”);
КонецЕсли;
URLКомпоновки = ПоместитьВоВременноеХранилище(СКД);
Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLКомпоновки));
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
Отчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное);
В модуле в Процедуре ПриКомпоновкеРезультата
…
:
Если ЭтотОбъект.ВариатыСКД = 1 Тогда
СКД = ЭтотОбъект.ПолучитьМакет(“Первый”);
Иначе
СКД = ЭтотОбъект.ПолучитьМакет(“Второй”);
КонецЕсли;
НастройкиСКД = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки();
…
Смотрю в отладчике значение НастройкиСКД.ДоступныеПоляДополнительныхОтборов – выдаёт список отборов из другого макета СКД.
А если заменить в модуле НастройкиСКД на
НастройкиСКД = СКД.НастройкиПоУмолчанию;
тогда НастройкиСКД.ДоступныеПоляДополнительныхОтборов выдаёт правильный список отборов, но, конечно с значениями по умолчанию.
Что делать? куда смотреть?