0
Лунтик
10.02.15
✎
09:49
|
Как зацепить макет на Компоновщик настроек?
// сначала просто формируем КЗ
Сх=ПолучитьМакет(ИмяСхемы);
Н=Сх.НастройкиПоУмолчанию;
КМ=Новый КомпоновщикМакетаКомпоновкиДанных;
М=КМ.Выполнить(сх,Н,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПК=Новый ПроцессорКомпоновкиДанных;
ПК.Инициализировать(М,Стрк);
ПВ=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений ;
ПВ.УстановитьОбъект(ТЗ);
ПВ.Вывести(ПК,истина);
// теперь выводим в ТД
Сх=ПолучитьМакет(ДругаяСхема);
СхемаКомпоновкиДанных=сх;
Н=КомпоновщикНастроек.Настройки;
КМ=Новый КомпоновщикМакетаКомпоновкиДанных;
М=КМ.Выполнить(сх,Н,,,Тип("ГенераторМакетаКомпоновкиДанных"));
ПК=Новый ПроцессорКомпоновкиДанных;
ПК.Инициализировать(М,Стрк);
Р=ЭлементыФормы.Результат;
ПВ=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент ;
ПВ.УстановитьДокумент(Р);
ПВ.Вывести(ПК);
Информация выводится по основным настройка, хотя под кнопкой Настройки сидят новые настройки.
|
|
2
Лунтик
16.02.15
✎
08:52
|
Похоже, нужно делать так:
вместо Н=КомпоновщикНастроек.Настройки (это действительно настройки по основной схеме, которые цепляются автоматом при открытии формы. Кстати форма обычная)
надо написать следующее:
Н=Сх.НастройкиПоУмолчанию;
КомпоновщикНастроек.ЗагрузитьНастройки(Н);
КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(РанееСохраненныеНастройки);
КомпоновщикНастроек.Восстановить()
Похоже что в интерактивном режиме ЗагрузитьНастройки и ЗагрузитьПользовательскиеНастройки всегда должны идти рядом. Почему-то нигде такое в инете не попадалось, может я ошибаюсь?
В какой момент нужно использовать КомпоновщикНастроек.Инициалищировать()?
|
|