Как связаны Планы обмена и Конвертация данных 2.0 при синхронизации?

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

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

Разделение понятий: Регистрация и Выгрузка

Для понимания процесса необходимо четко разделять два независимых этапа:

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

Частая ошибка — попытка смешать эти процессы. Помните: объект может быть зарегистрирован для обмена в Плане обмена, но если в Правилах выгрузки данных (ПВД) для него нет описания, он просто останется висеть в очереди и никуда не отправится.

Как работают Планы обмена и Правила регистрации

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

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

Роль Правил обмена (КД 2.0)

Файлы правил КД 2.0 обычно делятся на три типа:

  1. Правила обмена (конвертации): Описывают соответствие объектов и свойств между базами.
  2. Правила выгрузки данных (ПВД): Указывают, какие именно объекты из зарегистрированных нужно обрабатывать и выгружать.
  3. Правила регистрации объектов: Описывают, какие объекты должны быть помечены как «измененные» в плане обмена.

Рассмотрим, как это выглядит на практике. В составе Плана обмена вы указываете метаданные, которые в принципе могут быть выгружены. В ПВД вы уже описываете конкретную логику обработки этих данных. Если вы создадите ПВД для справочника, которого нет в составе Плана обмена, выгрузка не сработает, так как механизм регистрации не «увидел» объект.

Почему так много способов настройки отборов?

Часто возникает вопрос: почему отбор можно сделать в ПриЗаписи модуля объекта, в Правилах регистрации или в ПВД? Давайте проанализируем преимущества каждого подхода:

Рекомендации по реализации

Чтобы построить надежную систему обмена, придерживайтесь следующих правил:

  1. Всегда используйте Правила регистрации для первичного фильтра. Это избавит вас от «раздувания» таблиц регистрации ненужными данными.
  2. Используйте ПВД для детальной настройки выгрузки. Даже если вы не планируете сложные трансформации, создание ПВД полезно для отладки выгрузки в ручном режиме.
  3. Если объект не передается, в первую очередь проверяйте, зарегистрирован ли он на узле (в таблице регистрации) и присутствует ли соответствующее правило в ПВД.

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

← На главную