Произвольный родитель и поиск по нему

1. pyrkin_vanya 498 06.06.16 16:16 Сейчас в теме
Всем привет. Есть задача. Перенести справочник номенклатура, но запихнуть все в группу "Товары", если такой нет, то создать, и сохранить иерархию источника. Т.е. было например так: Столы-Деревянные-Стол №1, а должно стать так: Товары-Столы-Деревянные-Стол №1. Как такое реализовать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sonne 06.06.16 16:23 Сейчас в теме
(1) pyrkin_vanya, сделать ПКО, которое будет выгружать только папку Товары. В ПКО по номенклатуре в ПКС Родитель делать проверку на пустого родителя и выгружать Родителя по разным правилам.
7. pyrkin_vanya 498 06.06.16 16:38 Сейчас в теме
(2) sonne, вот здесь чуть подробнее пожалуйста. Что Вы имеете в виду?
8. sonne 06.06.16 16:58 Сейчас в теме
(7) pyrkin_vanya, какой именно этап непонятен?
1. Делаете ПКО Номенклатура (Спр Номенклатура -> Спр Номенклатура), с полями поиска Родитель, ЭтоГруппа, Наименование(?)
2. Делаете ПКО ГруппаТовары (Строка -> Спр Номенклатура), с полями поиска Наименование, ЭтоГруппа. ПередВыгрузкой в ПКС Наименование пишите
"Значение = Источник;"

3. В ПКО Номенклатура ПКС Родитель пишите условие:
Если НЕ ЗначениеЗаполнено(Источник.Родитель) Тогда
   ИмяПКО = "ГруппаТовары";
   Значение = "Товары";
Иначе
   ИмяПКО = "Номенклатура";
КонецЕсли;


Примерно так. Скорее всего, надо что-то подправить. И может, есть более красивый вариант.
myoker; pyrkin_vanya; +2 Ответить
3. Xershi 1536 06.06.16 16:23 Сейчас в теме
(1) pyrkin_vanya, ну самое простое все перенести, а затем создать эту папку и изменить родителя у элементов в корне.
Ну, а если писать правила, то так и пишешь в ПКС родитель после загрузки:
Если Не ЗначениеЗаполнено(Источник.Родитель) Тогда
Значение = Справочники.Номенклатура.НайтиПонаиманованию("Товары");
КонецЕсли;


В КД2 давно не пишу, то логика такая.
4. pyrkin_vanya 498 06.06.16 16:29 Сейчас в теме
Проблема в поиске этой номенклатуры в приемнике. Как ее искать в этом случае?
5. Xershi 1536 06.06.16 16:31 Сейчас в теме
(4) pyrkin_vanya, когда он рекурсивно дойдет до корня, выполнится мой код и все. В после загрузки идет работа уже с приемником
6. pyrkin_vanya 498 06.06.16 16:33 Сейчас в теме
(5) Xershi, ничего не понял. После загрузки уже сработает поиск в приемнике. И если элемент не будет найден, то создастся еще один.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот