Имя: Пароль:
1C
1С v8
Изменение мк
0 Nic1
 
15.05.12
13:04
В отчете имеется два макета СКД, надо в зависимости от установленного флага на форме использовать либо один макет, либо другой. При этом каждый раз использовать настройки именно для данного макета. Пробую примерно так, но при таком варианте не учитываются выбранные вручную пользователем настройки на форме.

   Если БезРазбивкиПоСкладам Тогда
       СхемаБезРазбивки = ПолучитьМакет("БезРазбивкиПоСкладам");
       СхемаКомпоновкиДанных = СхемаБезРазбивки;
       КомпоновщикНастроек.ЗагрузитьНастройки(СхемаБезРазбивки.НастройкиПоУмолчанию);
   Иначе
       ОсновнаяСхема = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
       СхемаКомпоновкиДанных = ОсновнаяСхема;
       КомпоновщикНастроек.ЗагрузитьНастройки(ОсновнаяСхема.НастройкиПоУмолчанию);
   КонецЕсли;
1 Buster007
 
15.05.12
13:06
там также есть ещё и пользовательские настройки у компоновщика, насколько я помню, которые также можно загрузить...
2 Nic1
 
15.05.12
13:10
(1) Вот я и не могу понять, как тут применить пользовательские настройки. Например, когда используется один из макетов, то его настройки по умолчанию, видимо, уже загружаются в текущие пользовательские настройки. И если их загрузить для другого макета, то будут использованы настройки не того макета...
3 Nic1
 
15.05.12
13:20
Хотя... при таком варианте вроде результат похож на желаемый:


   Если БезРазбивкиПоСкладам Тогда
       СхемаБезРазбивки = ПолучитьМакет("БезРазбивкиПоСкладам");
       СхемаКомпоновкиДанных = СхемаБезРазбивки;
       ПользНастр=КомпоновщикНастроек.ПользовательскиеНастройки;
       КомпоновщикНастроек.ЗагрузитьНастройки(СхемаБезРазбивки.НастройкиПоУмолчанию);
       КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПользНастр);
   Иначе
       ОсновнаяСхема = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
       СхемаКомпоновкиДанных = ОсновнаяСхема;
       ПользНастр=КомпоновщикНастроек.ПользовательскиеНастройки;
       КомпоновщикНастроек.ЗагрузитьНастройки(ОсновнаяСхема.НастройкиПоУмолчанию);
       КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПользНастр);
   КонецЕсли;
Независимо от того, куда вы едете — это в гору и против ветра!