Как обновить правила обмена в Конвертации данных 2.1 после обновления конфигурации?

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

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

Шаг 1. Анализ необходимости изменений в правилах

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

  1. Задействованы ли обновленные объекты: затронул ли релиз те справочники, документы или регистры, которые включены в состав правил обмена.
  2. Изменения в кодовой базе: если в обработчиках событий (таких как ПередВыгрузкой, ПриВыгрузке, ПослеЗагрузки) вызывались экспортные процедуры общих модулей конфигурации (например, подсистем БСП), необходимо убедиться, что эти процедуры не были переименованы, перемещены или удалены разработчиками типового решения.
  3. Новые обязательные реквизиты: если в обновленном приемнике появились реквизиты, обязательные для заполнения при записи объекта, старые правила могут вызывать ошибку вида Ошибка при вызове метода контекста (Записать).

Шаг 2. Выгрузка актуальной структуры метаданных

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

  1. Откроем обновленную базу (источник или приемник) в режиме «1С:Предприятие». Важно запускать выгрузку именно в пользовательском режиме предприятия, а не через конфигуратор, чтобы корректно зафиксировались все расширения типов, перечисления и составные типы данных.
  2. Запустим обработку md83Exp.epf (поставляется в комплекте с КД 2.1).
  3. Укажем путь для сохранения XML-файла с описанием структуры метаданных и выполним выгрузку.
  4. Повторим операцию для второй информационной базы, если она также подвергалась доработкам или обновлениям.

Шаг 3. Загрузка метаданных и существующих правил в КД 2.1

Перейдем в рабочую базу Конвертация данных 2.1 и синхронизируем информацию:

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

Шаг 4. Актуализация ПКО, ПКС и ПВД

Рассмотрим подробнее процесс редактирования логики переноса:

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

Шаг 5. Выгрузка правил и способ их применения

После внесения всех изменений сохраним правила обмена в файл XML через форму конвертации («Выгрузить правила»). Далее способ их подключения зависит от архитектуры обмена:

  1. Обмен через «Универсальный обмен данными в формате XML»: если интеграция выполняется вручную или по расписанию через внешнюю обработку УниверсальныйОбменДаннымиXML.epf, достаточно просто указать полученный XML-файл правил в настройках обработки.
  2. Обмен через типовые Планы обмена (БСП): если синхронизация работает штатно внутри конфигураций (механизм «Синхронизация данных»), одного файла правил конвертации объектов недостаточно. В этом случае синхронизация опирается на Правила регистрации данных (ПРД). Чтобы новые объекты автоматически регистрировались к выгрузке при записи, необходимо обновить также правила регистрации. Готовый комплект правил загружается через интерфейс администрирования: Администрирование — Синхронизация данных — Настройки синхронизации данных — Загрузить правила.

Шаг 6. Отладка и тестирование

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

← На главную