Перенос из независимого справочника в подчиненный справочник через конвертацию.






Как перенести из независимого справочника в подчиненный справочник через конвертацию.

Поделюсь опытом решения интересной задачи.

В ЗУПе был создан нетиповой независимый справочник в ЗУПе «СтрокиТД» (строки трудового договора) с предопределенными папками и значениями. 

Понадобилось сделать его подчиненным владельцу — Организации.

Решение задачи было реализовано в конфигурации «Конвертация данных 2».

1. В рабочей конфигурации создаем подчиненный справочник.

2. В правилах выгрузки вручную добавляем ПКО для источника, в котором указываем приемника:

3. В этом же ПКО в обработчике события «Перед выгрузкой» создадим программно Владельца во входящих данных:

 

 4. В конвертации свойств для Владельца поставим галочку «Получить из входящих данных»:

 

5. Для владельца (справочника Организации) добавим КПО Организации.

6. В свойствах конвертации зададим параметр Организация, чтобы указывать владельца загружаемого справочника явно:

 

7. Сохраняем правила выгрузки.

8. Открываем обработку v82Exchange.epf.

9. Выбираем созданные правила выгрузки.

10. Указываем в параметрах выгрузки «Подключение и выгрузка данных в приемник» (в пределах той же базы).

11. На закладке «Параметры» в строке Организация указываем нужного владельца в приемнике:

 

12. Нажимаем кнопку «Выгрузить данные».

13. Смотрим результат:

7 Comments

  1. KonstB

    А просто перебарть справочник и создать элементы в подчиненном не получится?

    Reply
  2. Intervent

    Название организации в двух местах закрасил, а в шапке последнего скрина (и по совместительству в превью) упустил, верно.

    [fixed]

    Reply
  3. Gasilin

    (1) KonstB,можно. Сколько времени уйдет на написания кода? В конвертации это сделал за 20 минут.

    Reply
  4. Intervent

    Пункт «13. Смотрим результат» ссылается на картинку по старому адресу: «…/5fb/Источник — приемник.png», вместо «…/3a6/…».

    Reply
  5. echo77

    да, результат ни хера не виден.

    Обработчик ПКО, я бы заменил на обработчик ПКС Владелец ПередВыгрузкой:

    Значение = Параметры.ВыбраннаяОрганизация

    Да, согласен, конвертацию можно использовать для таких преобразований данных, если это делается быстрее чем написание обработки. Хотя УниверсальныйПодборИОбработкаОбъектов тоже помогает

    Reply
  6. KonstB

    (3) Сколько… минуту, даже обработку писать не нужно…

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

    Показать

    Добавить обработку групп и готово (если я правильно понял задачу) 🙂 вобщем то делов на 0,1 копейку )

    Reply
  7. sitec-it

    Не совсем согласен по поводу обработок, поскольку, часто стоит задача не просто выгрузить и установить владельца, а «расплодить» справочник на каждого владельца. К слову сказать, тут всего-то поставить галочку «Не запоминать выгруженные» и вместо стандартной выборки написать элементарный запрос.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *