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






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

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

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

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

Решение задачи было реализовано в конфигурации «Конвертация данных 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 не будет опубликован. Обязательные поля помечены *