Имя: Пароль:
1C
1С v8
СКД и два макета
0 qeos
 
18.11.13
15:17
Есть два макета в отчете.

есть такой код при смене варианта:

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


Проблема в том что при переключении на второй вылетает ошибка:
Поле не найдено "НаименованиеРеквизитаИзПервогоМакета"

Как правильно переключаться между ними? или что я упускаю?

В обычном приложении -- работает, на УФ -- эта ошибка.
дайте мысли или идеи как исправить.
1 Defender aka LINN
 
18.11.13
15:22

Адрес = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор);
Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Адрес));
2 qeos
 
18.11.13
15:30
(1) без изменений..

может надо както очистить старые настройки...
3 banco
 
18.11.13
15:31
(2) может надо вложенные схемы использовать?
4 qeos
 
18.11.13
15:35
(3) незнаю, никогда не использовал
Независимо от того, куда вы едете — это в гору и против ветра!