Имя: Пароль:
1C
1С v8
КД Дублируются группы справочников
0 Dasty
 
19.09.11
09:02
Есть задачка перенести справочники из базы в базу с сохранением иерархии, но с добавлением верхнего родителя "Перенесено из...".
В ПКС Родитель --> Родитель пишу

[code]
Если ЗначениеЗаполнено(Источник.Родитель) Тогда
    ИмяПКО = "Номенклатура";
Иначе
    Выражение = "Справочники.Номенклатура.НайтиПоНаименованию(""" + Параметры.ИмяВерхнейГруппыСправочников + """)";
КонецЕсли;
[/code]

Поиск стоит не по GUID, а по "Наименование" и "ЭтоГруппа".
Элементы переносятся нормально, а группы при каждом переносе дублируются :(
Подскажите, где ошибка и как победить?
1 ЧеловекДуши
 
19.09.11
09:07
Искать группы по наименованию и лучше без учета регистра ;)
2 Dasty
 
19.09.11
09:11
Переносить без поиска "ЭтоГруппа" пробовал - результат тот-же. Регистр роли не играет - переносится/дублируется один в один.
3 Dasty
 
19.09.11
09:33
UP
4 SuperMario
 
19.09.11
09:45
Хе. Вчера буквально такую задачу делал.

1. Создал параметр НоменклатураКорень.

2. В обработчике "Перед загрузкой данных"
   Параметры.НоменклатураКорень = Справочники.Номенклатура.НайтиПоНаименованию ("##Сп##" , Истина);
   Если  Параметры.НоменклатураКорень.Пустая () Тогда
       КорневаяГруппа =  Справочники.Номенклатура.СоздатьГруппу();
       КорневаяГруппа.Наименование  = "##Сп##";
       КорневаяГруппа.Записать();
       Параметры.НоменклатураКорень = КорневаяГруппа.Ссылка;
   КонецЕсли;


3. В обработчике ПКО номенклатуры "После загрузки"

Если Объект.Уровень() = 0 тогда // все объекты из корня загоним в папку по организациям
Объект.Родитель = Параметры.НоменклатураКорень.Ссылка;    
КонецЕсли;

И не в коем  не включай поиск в приемнике по родителю = задвоит.
5 SuperMario
 
19.09.11
09:55
(0) Ээээ. Не совсем то посоветовал. У меня при загрузке в приемник номенклатура падает в одну группу ##Сп## плоским списком.

При выгрузке Отказ = Источник.ЭтоГруппа;
И свойство "Родитель" у номенклатуры я не выгружаю.

:((