Конвертация данных 2.1: Загрузка элементов справочников из 7.7 в 8.2 по UID


Так случилось, что надо было перенести справочник сотрудников из ЗиК 7.7 в УПП 8.2.
До этого был настроен обмен между базами посредством Универсального обмена данными из УПП 8.2 в Зик 7.7. Синхронизация велась по UID из 8.2 в реквизит "UID" в 7.7.
А теперь компания решила полностью отказаться от ЗиК 7.7.

Я решил перенести всю инфу из справочника Сотрудники и др. подчиненных справочников из 7.7 в 8.2 используя ту же синхронизацию.

Но, просмотрев кучу форумов и статей, перебробовав несколько вариантов, решил писать свой, ибо ни один из них не подошел.

И так:

ПКО «Сотрудники —> СотрудникиОрганизаций» ничего не пишем.

ПКС «UID»: Источник — UID, Приемник — <пусто>, галка Поиск.   Модуль «ПередВыгрузкой»:

 

УзелСвойства = СоздатьУзел(«Свойство»);
УстановитьАтрибут(УзелСвойства, «Имя», «{УникальныйИдентификатор}»);
УстановитьАтрибут(УзелСвойства, «Тип», «Строка»);
ЗаписатьЭлемент(УзелСвойства, «Значение», Источник.UID);
ДобавитьПодчиненный(УзелКоллекцииСвойств, УзелСвойства);

Отказ = 1; // Само свойство выгружать не нужно

 

Вот и всё! Ничего в модуле Обработки «Универсальный обмен данными» не меняем!

Справочник Сотрудники из 7.7 благополучно синхронизировался с восьмерочным. Все реквизиты для переноса описываем как обычно согласно ваших правил.

 

Смотрите картинки.

4 Comments

  1. insurgut

    Думаю задача единоразовая/узкоспециализированная. Сомнительно, что у кого-то встанет задача синхронизации двусторонней из 7.7 в 8.2 и обратно. Но за пример спасибо 😉

    Reply
  2. anosin

    (1) insurgut, Регулярно возникает такая задача, приходится добавлять доп. реквизиты

    Reply
  3. superkuzja

    Огромное спасибо за красивое решение! Настроил механизм произвольной синхронизации элементов справочников между базами. Как соответствие храню строку UUID элемента из базы-приемника и при помощи вашего метода при выгрузке сразу передаю в файл нужные ссылки. Класс!

    Reply
  4. superkuzja

    (1) insurgut, по-моему это универсальное решение подмены ссылки при обменах по технологии конвертации данных, а синхронизация 7.7 и 8.2 приведена просто как один из примеров.

    Reply

Leave a Comment

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