Имя: Пароль:
1C
1С v8
СКД, скопировать отборы из одного компоновщика настроек компоновки в другой
,
0 guitar_player
 
27.02.12
10:41
Всем привет! Собственно сабж, подскажите как проще сделать? Нет ли какой нибудь стандартной функции, которая скопирует все дерево отбора? Конфигурация Зарплата и Управление Персоналом, редакция 2.5 (2.5.45.1.001).
1 DrShad
 
27.02.12
10:49
а тупо пройти циклом по элементам отбора это не простая функция?
2 guitar_player
 
27.02.12
10:53
(1) ну оно не само, нужно рекурсивную функцию писать, хотя видимо так и предется сделать
3 DrShad
 
27.02.12
10:55
накуя тут рекурсия?
4 guitar_player
 
27.02.12
11:01
(3) отборы же вложенные, папки всякие.
5 DrShad
 
27.02.12
11:03
что значит вложенные отборы?
6 DSSS
 
27.02.12
11:05
в УТ 11 есть общая функция, СкопироватьНастройкиКомпоновщика. Глянь там если есть конфа.
7 guitar_player
 
27.02.12
11:07
(6) можешь поделиться? конфы под рукой нет(
8 DSSS
 
27.02.12
11:11
(7) Давай на мыло
9 guitar_player
 
27.02.12
11:14
(8) webber (гав) rambler.ru

спасибо
10 Stepa86
 
27.02.12
11:15
11 guitar_player
 
27.02.12
11:55
(10) мне нужно было скопировать только отбор, сделал вот так. Вроде работает...

   Для Каждого ЭлементОтбора Из Источник Цикл
       Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
           ЗаполнитьЗначенияСвойств(Приемник.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")), ЭлементОтбора);        
       Иначе
           НоваяГруппа = Приемник.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
           ЗаполнитьЗначенияСвойств(НоваяГруппа, ЭлементОтбора);
           СкопироватьОтборКомпоновщика(ЭлементОтбора.Элементы, НоваяГруппа.Элементы);
       КонецЕсли;
   КонецЦикла;
2 + 2 = 3.9999999999999999999999999999999...