Есть задачка перенести справочники из базы в базу с сохранением иерархии, но с добавлением верхнего родителя "Перенесено из...".
В ПКС Родитель --> Родитель пишу
[code]
Если ЗначениеЗаполнено(Источник.Родитель) Тогда
ИмяПКО = "Номенклатура";
Иначе
Выражение = "Справочники.Номенклатура.НайтиПоНаименованию(""" + Параметры.ИмяВерхнейГруппыСправочников + """)";
КонецЕсли;
[/code]
Поиск стоит не по GUID, а по "Наименование" и "ЭтоГруппа".
Элементы переносятся нормально, а группы при каждом переносе дублируются :(
Подскажите, где ошибка и как победить?
2. В обработчике "Перед загрузкой данных"
Параметры.НоменклатураКорень = Справочники.Номенклатура.НайтиПоНаименованию ("##Сп##" , Истина);
Если Параметры.НоменклатураКорень.Пустая () Тогда
КорневаяГруппа = Справочники.Номенклатура.СоздатьГруппу();
КорневаяГруппа.Наименование = "##Сп##";
КорневаяГруппа.Записать();
Параметры.НоменклатураКорень = КорневаяГруппа.Ссылка;
КонецЕсли;
3. В обработчике ПКО номенклатуры "После загрузки"
Если Объект.Уровень() = 0 тогда // все объекты из корня загоним в папку по организациям
Объект.Родитель = Параметры.НоменклатураКорень.Ссылка;
КонецЕсли;
И не в коем не включай поиск в приемнике по родителю = задвоит.