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