Для чего нужен флаг «Распределенная информационная база» в планах обмена и где фиксируются изменения конфигурации?

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

В процессе разработки интеграционных решений на платформе 1С:Предприятие 8 мы часто сталкиваемся с необходимостью настройки планов обмена. Одним из ключевых параметров в настройках узла плана обмена является флаг «Распределенная информационная база». Давайте подробно разберем, зачем он нужен, когда его стоит использовать, а в каких ситуациях от него лучше отказаться.

Назначение механизма РИБ в планах обмена

Механизм Распределенной информационной базы (РИБ) предназначен для обеспечения идентичности конфигураций в различных узлах обмена. Когда мы активируем этот флаг, платформа берет на себя автоматическое управление синхронизацией метаданных между главным и подчиненным узлом.

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

Когда стоит отключать флаг РИБ?

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

  1. Обмен между разными конфигурациями: Если мы настраиваем интеграцию, например, между Управлением торговлей и Бухгалтерией, структура метаданных этих конфигураций принципиально различается. В этом случае механизм РИБ не применим, так как автоматическое обновление конфигурации из одного узла в другой приведет к критическим ошибкам или порче данных.
  2. Ручное управление обновлениями: Если архитектура системы подразумевает, что обновление конфигурации каждого узла должно происходить строго по графику или централизованно через другие инструменты управления (например, через обновление конфигурации в режиме конфигуратора), использование встроенного механизма РИБ может быть неудобным.
  3. Передача только данных: Если план обмена используется исключительно как «транспорт» для передачи объектов (справочников, документов) в формате XML или JSON, и нам не требуется синхронизация структуры метаданных.

Техническая реализация: где фиксируются изменения?

Многих разработчиков интересует вопрос «внутренней кухни» платформы: как именно 1С «запоминает», какие изменения конфигурации нужно передать? Согласно техническим спецификациям и результатам анализа структуры таблиц информационной базы, платформа использует специальные системные таблицы для регистрации изменений.

Рассмотрим таблицы, которые создаются в базе данных при работе с планами обмена:

Важно понимать, что при работе в режиме РИБ, периферийная база находится в «подчиненном» состоянии. Это накладывает жесткое архитектурное ограничение: вы не можете менять структуру метаданных в периферийной базе самостоятельно через конфигуратор, так как при получении следующего обновления из главного узла все ваши изменения будут перезаписаны или вызовут конфликт версий конфигурации.

Рекомендации по реализации обменов между разными конфигурациями

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

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

Подводя итог, можно сказать, что механизм РИБ — это мощный инструмент для быстрого развертывания и поддержки сети идентичных баз данных. Однако при построении сложных гетерогенных систем интеграции важно понимать границы его применимости и использовать специализированные средства для трансформации данных.

← На главную