При настройке обмена данными и синхронизации между различными конфигурациями 1С часто возникает вопрос: для чего именно нужен регистр сведений СоответствияОбъектовИнформационныхБаз? Начинающие специалисты и администраторы баз данных предполагают, что он используется исключительно при загрузке для поиска существующих объектов. Давайте разберем эту тему подробно, проанализируем механику работы платформы и выясним истинное назначение данного регистра на всех этапах обмена. Для быстрой первичной настройки обмена в типовых конфигурациях можно использовать инструмент для быстрого создания узла плана обмена в БСП.
Рассмотрим базовую архитектуру распределенных систем. В каждой информационной базе 1С элементы справочников, документы и другие ссылочные типы имеют свой внутренний уникальный идентификатор, который в терминологии 1С называется УникальныйИдентификатор (или GUID).
Если одна и та же сущность (например, контрагент "ООО Ромашка" или товар "Стол офисный") была заведена пользователями в двух базах независимо друг от друга вручную, их внутренние GUID не совпадут. По умолчанию, при стандартном обмене, система сопоставляет данные именно по этим внутренним идентификаторам. Если опираться только на них, то при переносе данных из первой базы во вторую 1С не найдет существующего контрагента и создаст дубль. В таких ситуациях задействуют перенос данных между похожими конфигурациями 1С с сопоставлением по произвольным полям поиска.
Чтобы избежать постоянного задвоения сущностей, система должна «запомнить», что внешний объект с идентификатором "X" из базы-источника — это то же самое, что локальный объект "Y" в базе-приемнике. Именно эту таблицу жестких связок в разрезе узлов обмена и хранит регистр сведений СоответствияОбъектовИнформационныхБаз. Это его фундаментальная и ключевая роль.
Проанализируем ситуацию, когда система-приемник получает файл обмена. Участие регистра в процессе загрузки наиболее очевидно и работает по следующему алгоритму:
СоответствияОбъектовИнформационныхБаз и ищет запись для текущего узла обмена по этому GUID.ИНН и КПП, а номенклатуру — по реквизиту Артикул).Поэтому первоначальное предположение о том, что регистр нужен для загрузки, абсолютно верно. Но это лишь половина картины.
На профильных форумах часто звучит ошибочное мнение, что при выгрузке программа просто «выбрасывает» GUID ссылки наружу, даже не глядя в регистр соответствий. Разберем по шагам, почему это не так и как регистр задействован при экспорте.
При выгрузке данных регистр выполняет несколько критически важных функций:
Таким образом, регистр активно читается и пишется не только при получении данных, но и при формировании ответных сообщений.
Посмотрим на пример работы с помощником интерактивного сопоставления. Часто при первом обмене реквизиты объектов в двух базах отличаются из-за человеческого фактора. Например, в одной конфигурации контрагент заведен как "ООО Ромашка", а в другой — "Ромашка ООО". Алгоритмы поиска по строковым реквизитам могут не справиться с такой задачей и система "засомневается".
В этом случае платформа останавливает автоматический процесс и выводит пользователю окно ручного сопоставления. В этом окне отображаются две таблицы: данные из файла и данные локальной базы. Когда вы вручную сводите две строки в этом интерфейсе, подтверждая, что это один и тот же контрагент, результат ваших действий физически записывается всё в тот же регистр сведений СоответствияОбъектовИнформационныхБаз.
Технологии не стоят на месте, и мы проанализируем, как эволюционировал этот механизм в свежих версиях типовых конфигураций на базе Библиотеки стандартных подсистем (БСП). Сегодня активно применяется универсальный формат обмена EnterpriseData.
В связи с переходом на новый формат функционал работы с соответствиями был расширен и частично вынесен в дополнительные структуры:
Появился регистр сведений ПубличныеИдентификаторыСинхронизируемыхОбъектов. Его задача — связывать внутренние ссылки локальной информационной базы 1С со строковыми универсальными идентификаторами (ID формата EnterpriseData). Главное отличие публичного ID от внутреннего GUID состоит в том, что он не зависит от конкретной базы 1С и понятен любым сторонним системам, включая сайты, мобильные приложения и учетные системы других вендоров.
Подведем итог: Регистр соответствия объектов выполняет роль главного "переводчика" между различными информационными базами. Он критически необходим как для загрузки (для быстрого поиска локальных сущностей), так и для выгрузки (для синхронизации связок между узлами). Понимание его работы позволяет избегать дублирования справочников и строить надежные распределенные системы. При необходимости настроить постоянную синхронизацию по расписанию используется автоматизация регулярного обмена данными между базами 1С.