В процессе настройки обмена данными между конфигурациями 1С, особенно в случаях, когда одна база была создана путем копирования другой, разработчики часто сталкиваются с вопросом: почему при успешном прохождении обмена регистр сведений СоответствиеОбъектовДляОбмена остается пустым? Давайте разберемся, является ли это ошибкой или это штатный механизм работы платформы.
Важно понимать, что регистр СоответствиеОбъектовДляОбмена не является обязательным «журналом» для всех операций обмена. Его заполнение зависит от выбранного способа поиска объектов при загрузке данных в правилах обмена (настройки в Конвертации данных). Рассмотрим основные причины, почему записи могут отсутствовать:
GUID. Платформа 1С при стандартном обмене умеет находить объекты по их УникальномуИдентификатору автоматически. В этом случае создавать дополнительную запись в регистре соответствий нет необходимости — система «узнает» объект по его внутреннему коду.Бизнес-ключам (полям поиска) или GUID проходит успешно, принудительного заполнения регистра не происходит.ПриПолученииДанных), а не на стороне отправителя.Многие специалисты пытаются принудительно заполнить регистр, чтобы использовать его для написания внешних отчетов или интеграции через COM-соединение. Однако, как показывает практика, это не самая надежная архитектурная стратегия.
Если вы хотите использовать этот регистр как таблицу связей между двумя базами, имейте в виду следующие риски:
GUID.Вместо того чтобы полагаться на регистр СоответствиеОбъектовДляОбмена, который предназначен для внутренних нужд механизма обмена, мы рекомендуем использовать следующие подходы для аналитики или построения отчетов:
УникальномуИдентификатору. Это самый быстрый и надежный способ в распределенных системах.Чтобы окончательно убедиться, почему система ведет себя так, а не иначе, проанализируйте настройки ваших правил обмена в конфигурации Конвертация данных. Посмотрите настройки поиска для конкретных объектов:
// Пример логики, которую можно использовать при поиске объектов,
// если вы хотите программно найти соответствие без участия регистра:
НайтиПоСсылкам = ОбщегоНазначения.ПолучитьСсылкуПоУникальномуИдентификатору(УИД_Объекта, Метаданные.Справочники.Номенклатура);
Подводя итог, можно сказать: если обмен данными проходит корректно, объекты находят друг друга и обновляются, отсутствие записей в СоответствиеОбъектовДляОбмена не является критической ошибкой. Это лишь подтверждение того, что ваша система использует более глубокие механизмы платформы (GUID или правила поиска), не требующие создания дополнительных служебных записей.