Имя: Пароль:
1C
1С v8
v8: Перенос настроек СКД между компановщиками
0 simol
 
05.09.11
18:18
Имею два КомпановщикНастроекКомпановкиДанных.
Как из одного в другой перенести только выбранные поля?
Метод ЗагрузитьНастройки на входе ждет полные НастройкиКомпановкиДанных.

Предыстория: УПП, произвольные отчеты, есть отчет с большим числом выбранных полей. В СКД были добавлены новые доступные поля. Настроек этого очета тоже много. Не хочется в каждую настройку руками добавлять. Добавил в один и хочу прокопировать в остальные.
1 detec
 
05.09.11
18:50
(0) Можно превратить выбранные поля в объект XDTO, схему компоновки туда же, записать в схему настройки и восстановить из объекта XDTO схему.

В типовой УПП видел процедуру, которая делает это с настройками. Т.е. настройки записывает в схему по этому алгоритму.
2 detec
 
05.09.11
18:51
к (1) т.е. записывать не в схему, а в настройки-приёмник, превращённые в объект XDTO.
3 simol
 
05.09.11
18:56
(1)спасибо за идею
4 simol
 
16.09.11
11:18
Достучался программно и сделал так:


....
   ИсходныяСКД = ВыбранныйОтчет.СхемаКомпоновкиДанных.Получить();
   ВыходнаяСКД = ВыбраннаяНастройкаОбъект.ХранилищеНастроек.Получить();
   
   ВыходнаяСКД.НастройкиКомпоновщика.Выбор.Элементы.Очистить();
   ТиповыеОтчеты.СкопироватьЭлементы(ВыходнаяСКД.НастройкиКомпоновщика.Выбор, ИсходныяСКД.ВариантыНастроек.Основной.Настройки.Выбор);
   
   ВыбраннаяНастройкаОбъект.ХранилищеНастроек = Новый ХранилищеЗначения(ВыходнаяСКД);
   ВыбраннаяНастройкаОбъект.Записать();