Как загрузить свои правила обмена в синхронизацию 1С:Розница 2 без изменения конфигурации?

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

При настройке типовой синхронизации данных в конфигурации 1С:Розница 2.2 (например, с 1С:Бухгалтерия предприятия 3.0) часто возникает необходимость выгружать только определенные документы или модифицировать состав выгружаемых реквизитов. При этом нередко действует строгое ограничение: основная конфигурация должна оставаться на типовой поддержке без внесения изменений, а использовать отдельные сторонние обработки для ручной выгрузки запрещено.

Разберем, почему в типовом интерфейсе может отсутствовать привычная кнопка загрузки правил конвертации и какими стандартными способами можно реализовать требуемое поведение обмена.

Выясним причину: почему нельзя просто загрузить XML-файл конвертации

В ранних версиях механизмов обмена (технология Конвертация данных 2.0) правила конвертации данных (ПКД) представляли собой единый XML-файл. Его можно было загрузить непосредственно в форму настройки обмена.

В современных типовых решениях обмен строится на базе технологии EnterpriseData (Конвертация данных 3.0):

  1. Правила конвертации «вшиты» в программный код: вся логика трансформации объектов в формат EnterpriseData и обратно реализована в модулях менеджеров планов обмена и общих модулях с использованием XDTO-пакетов. Загрузить отдельный XML-файл конвертации для таких планов обмена невозможно, так как архитектура формата не предусматривает их интерпретацию из внешнего XML-файла.
  2. XML-правила используются только для регистрации: через пользовательский интерфейс в формате XML можно загрузить исключительно Правила регистрации объектов (ПРО), которые определяют, какие именно объекты и при каких условиях должны регистрироваться к отправке на узле.

Рассмотрим подробнее доступные пути решения задачи при условии сохранения конфигурации на полной поддержке.

Способ 1. Подмена модуля менеджера через регистр сведений «Правила для обмена данными»

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

Разберем по шагам, как это настраивается в программе:

  1. Откроем меню Функции для технического специалиста (или Все функции).
  2. Перейдем в регистр сведений ПравилаДляОбменаДанными.
  3. Найдем запись, соответствующую нашему плану обмена или конкретному узлу синхронизации.
  4. В поле источника правил переключим режим на использование внешней обработки и выберем подготовленный файл обработки (.epf), реализующий интерфейс менеджера обмена через универсальный формат.

В результате платформа при выполнении регламентного или интерактивного обмена будет вызывать экспортные процедуры из внешней обработки, а сама конфигурация останется неизменной.

Способ 2. Переопределение логики обмена с помощью расширения конфигурации

Если требуется скорректировать заполнение формата EnterpriseData, наиболее современным и надежным способом является использование механизма расширений (.cfe). Этот способ не снимает конфигурацию с поддержки и сохраняет работоспособность регламентных заданий.

Проанализируем алгоритм создания расширения:

  1. Создадим новое расширение конфигурации с назначением Адаптация или Дополнение.
  2. Добавим в расширение модуль менеджера нужного плана обмена или общий модуль менеджера обмена через универсальный формат.
  3. Переопределим процедуры формирования данных с помощью аннотаций &Вместо, &Перед или &После.

Посмотрим на пример переопределения процедуры в модуле расширения:


&Вместо("ПакетнаяВыгрузкаОбработка")
Процедура Расш1_ПакетнаяВыгрузкаОбработка(КомпонентыОбмена)
    // Вызов стандартной логики или собственная обработка выборки
    ПродолжитьВызов(КомпонентыОбмена);
КонецПроцедуры

Способ 3. Загрузка собственных правил регистрации объектов (ПРО)

Если структура выгружаемого формата EnterpriseData вас полностью устраивает, а задача состоит исключительно в фильтрации (выгружать строго определенные документы по сложным условиям), модифицировать правила конвертации не требуется.

В этом случае достаточно изменить правила регистрации:

  1. Сформируем в конфигурации Конвертация данных файл правил регистрации объектов (ПРО) в формате XML.
  2. В 1С:Рознице перейдем в форму настройки параметров синхронизации данных.
  3. Выберем команду Загрузить правила регистрации и укажем подготовленный XML-файл.

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

Способ 4. Интерактивная работа с составом выгрузки

Если выгрузка требуется разово или состав документов определяется вручную оператором, можно воспользоваться встроенным инструментом Регистрация изменений для обмена данными:

  1. Откроем форму синхронизации данных.
  2. Перейдем к просмотру зарегистрированных изменений узла.
  3. Снимем с регистрации лишние объекты и добавим вручную только те документы, которые необходимо отправить в XML-пакет.
← На главную