Как настроить автоматический обмен данными из 1С:ERP в УПП по изменениям объектов?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При поэтапном переходе с конфигурации «Управление производственным предприятием» (УПП) на «ERP Управление предприятием» возникают ситуации, когда необходимо регулярно передавать актуальные данные из одной системы в другую. Если правила конвертации созданы с нуля в программе «Конвертация данных 2.1» (XML), при попытке интегрировать их в современный интерфейс «Синхронизация данных» конфигурации 1С:ERP 2.2+ можно столкнуться с трудностями, так как штатные подсистемы современных конфигураций рассчитаны на формат EnterpriseData (КД 3.0).

Рассмотрим подробно, как связать готовые правила обмена XML с планом обмена и автоматизировать выгрузку данных исключительно по зарегистрированным изменениям объектов.

Причина сложности при использовании стандартного интерфейса БСП

Проанализируем архитектурные особенности 1С:ERP. В подсистеме «Обмен данными» Библиотеки Стандартных Подсистем (БСП) типовой мастер настройки синхронизации работает с форматом EnterpriseData. Выполнить прямую загрузку правил формата КД 2.1 через меню Синхронизация данных — Через универсальный обмен без доработки конфигурации или без специального плана обмена не получится, так как типовой интерфейс ожидает Правила регистрации объектов (ПРО) и интеграционные правила в формате XDTO.

Для решения этой задачи существуют два основных технических подхода: легкий способ через регламентное задание и обработку универсального обмена, а также полнофункциональная интеграция собственного плана обмена в подсистему БСП.

Вариант 1. Автоматизация через План обмена и обработку «Универсальный обмен данными»

Разберем по шагам наиболее быстрый и практичный способ выгрузки данных, не требующий глубокой переработки БСП.

  1. Создание Плана обмена в конфигураторе:

    В конфигураторе (или в расширении) добавим новый объект ПланОбмена (без признака РИБ). В его состав включим метаданные объектов, изменения которых требуется отслеживать. Авторегистрацию изменений настроим для нужных справочников и документов.

  2. Связка с обработкой универсального обмена:

    Стандартная обработка УниверсальныйОбменДаннымиВФорматеXML умеет работать с регистрацией изменений. В настройках выгрузки напротив выгружаемых объектов необходимо указать узел нашего плана обмена. В этом случае обработка выгрузит только те объекты, которые зарегистрированы на выбранном узле обмена, и при успешном завершении операции автоматически снимет их с регистрации.

  3. Программный запуск по расписанию:

    Создадим регламентное задание, которое будет вызываться по расписанию и исполнять процедуру общего модуля. Напишем код вызова обработки выгрузки:

    
    Процедура ВыполнитьАвтоматическийОбмен() Экспорт
    
        ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиВФорматеXML.Создать();
        ОбработкаОбмена.РежимРаботы = "Выгрузка";
        ОбработкаОбмена.ИмяФайлаПравил = "C:\Exchange\Rules_ERP_UPP.xml";
        ОбработкаОбмена.ИмяФайлаОбмена = "C:\Exchange\DataOut.xml";
        
        // Указываем узел плана обмена для выгрузки по изменениям
        УзелОбмена = ПланыОбмена.МойПланОбменаУПП.НайтиПоКоду("УПП_MAIN");
        ОбработкаОбмена.УзелОбмена = УзелОбмена;
        ОбработкаОбмена.ИспользоватьОтборыПоУзламОбмена = Истина;
        
        // Загрузка правил и выгрузка данных
        ОбработкаОбмена.ЗагрузитьПравилаОбмена();
        ОбработкаОбмена.ВыполнитьВыгрузку();
    
    КонецПроцедуры
    

Вариант 2. Встраивание Плана обмена в подсистему БСП

Если требуется, чтобы обмен полностью управлялся пользователями из пользовательского интерфейса (разделы администрирования, монитор синхронизации данных, расписания БСП), потребуется полноценная интеграция в библиотеку БСП:

  1. В конфигураторе создается новый ПланОбмена и регистрируется в подсистеме обмена данными (включается в соответствующие определяемые типы, такие как ПланОбменаПодсистемыОбменДанными, и прописывается в общем модуле ОбменДаннымиПереопределяемый).
  2. Правила регистрации объектов (ПРО) и правила конвертации (ПКО) выгружаются из «Конвертации данных 2.1» в формате XML и загружаются в справочник правил БСП или помещаются в макеты созданного плана обмена.
  3. В режиме «1С:Предприятие» настраивается стандартный сценарий обмена данными, запускаемый типовым регламентным заданием БСП.

Важные технические нюансы

При реализации автоматического обмена обратим внимание на следующие критические моменты:

← На главную