В процессе разработки интеграционных решений на платформе 1С:Предприятие 8 мы часто сталкиваемся с необходимостью настройки планов обмена. Одним из ключевых параметров в настройках узла плана обмена является флаг «Распределенная информационная база». Давайте подробно разберем, зачем он нужен, когда его стоит использовать, а в каких ситуациях от него лучше отказаться.
Механизм Распределенной информационной базы (РИБ) предназначен для обеспечения идентичности конфигураций в различных узлах обмена. Когда мы активируем этот флаг, платформа берет на себя автоматическое управление синхронизацией метаданных между главным и подчиненным узлом.
Если флаг установлен, при каждом изменении конфигурации (например, добавлении нового реквизита в справочник или создании нового документа) в главном узле, платформа автоматически фиксирует эти изменения. При выполнении очередного сеанса обмена данные об изменениях метаданных (структуры конфигурации) упаковываются и передаются в периферийный узел. В результате, при следующем запуске 1С в подчиненном узле, система обнаруживает наличие обновлений и предлагает (или применяет автоматически) обновление конфигурации базы данных.
Рассмотрим ситуации, когда данный функционал может быть избыточным или даже мешать реализации задачи:
Управлением торговлей и Бухгалтерией, структура метаданных этих конфигураций принципиально различается. В этом случае механизм РИБ не применим, так как автоматическое обновление конфигурации из одного узла в другой приведет к критическим ошибкам или порче данных.обновление конфигурации в режиме конфигуратора), использование встроенного механизма РИБ может быть неудобным.Многих разработчиков интересует вопрос «внутренней кухни» платформы: как именно 1С «запоминает», какие изменения конфигурации нужно передать? Согласно техническим спецификациям и результатам анализа структуры таблиц информационной базы, платформа использует специальные системные таблицы для регистрации изменений.
Рассмотрим таблицы, которые создаются в базе данных при работе с планами обмена:
_ConfigChngR для фиксации изменений самой конфигурации. Также используется таблица _ConfigChngR_ExtProps для учета изменений внешних свойств конфигурации._ExtsChngR (для регистрации изменений объектов расширения) и _ExtsChngR_ExtProps (для внешних свойств расширений).Важно понимать, что при работе в режиме РИБ, периферийная база находится в «подчиненном» состоянии. Это накладывает жесткое архитектурное ограничение: вы не можете менять структуру метаданных в периферийной базе самостоятельно через конфигуратор, так как при получении следующего обновления из главного узла все ваши изменения будут перезаписаны или вызовут конфликт версий конфигурации.
Если вы столкнулись с необходимостью обмена между различными конфигурациями, рекомендуем придерживаться следующих принципов:
ПланОбмена только как инструмент для регистрации изменений прикладных данных (объектов СправочникСсылка, ДокументСсылка и т.д.).Подводя итог, можно сказать, что механизм РИБ — это мощный инструмент для быстрого развертывания и поддержки сети идентичных баз данных. Однако при построении сложных гетерогенных систем интеграции важно понимать границы его применимости и использовать специализированные средства для трансформации данных.