К статье
Практический материал

Администрирование · 10 мин

Как скопировать соответствие объектов в 1С

Разбираем, как скопировать соответствие объектов в 1С при обмене данными: типовые способы, ручное и программное копирование, ошибки и проверка результата.

Соответствие объектов информационных баз — это таблица связей, по которой 1С при обмене данными понимает, какой элемент справочника или документ в одной базе равен объекту в другой. Когда обмен настраивается заново, переносится в другую базу или ломается после обновления, возникает задача скопировать эти связи, чтобы не сопоставлять тысячи позиций вручную.

Чаще всего речь идёт о регистре сведений «Соответствия объектов информационных баз» (в конфигурациях на БСП) или о данных узла плана обмена, где хранятся результаты сопоставления. Скопировать соответствие можно несколькими способами: через повторное автоматическое сопоставление, через выгрузку и загрузку регистра, а также программно — обработкой.

Выбор способа зависит от ситуации: переносите ли вы настройки в копию той же базы, в новую базу с теми же данными или в базу с другими объектами. Ниже разобраны все три сценария с конкретными шагами и проверками.

Что такое соответствие объектов и где оно хранится

При синхронизации двух баз 1С каждому объекту-источнику ставится в соответствие объект-приёмник. Связь строится по уникальному идентификатору (GUID), а если GUID не совпадают — по полям поиска: наименованию, ИНН, коду, номеру документа и дате.

В типовых конфигурациях на базе Библиотеки стандартных подсистем (УТ, ERP, БП, ЗУП) результат сопоставления хранится в регистре сведений «Соответствия объектов информационных баз» с привязкой к узлу плана обмена. Именно этот регистр и нужно копировать, когда требуется перенести соответствие.

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

Подготовка: что сделать до копирования

Главное правило — сделайте резервную копию обеих баз. Копирование соответствий напрямую влияет на то, какие объекты будут обновлены при следующем обмене. Ошибка в связях приводит к перезаписи не тех объектов или к массовому появлению дублей.

Далее определите, какой у вас сценарий. Если вторая база — точная копия первой (GUID объектов совпадают), соответствие переносится напрямую. Если базы разные и GUID различаются, прямое копирование регистра бессмысленно: ссылки будут указывать на несуществующие объекты, и нужен перенос с пересопоставлением.

Также проверьте, что план обмена и узел в новой базе уже созданы. Соответствие привязано к конкретному узлу, и копировать его нужно с заменой узла-владельца, иначе записи не будут учитываться при обмене.

Способ 1: повторное автоматическое сопоставление

Самый безопасный вариант, если базы содержат одинаковые по смыслу данные, но GUID различаются. В этом случае копировать регистр не нужно — 1С построит соответствие сама.

Откройте настройку синхронизации данных, перейдите к этапу сопоставления объектов и запустите автоматическое сопоставление по рекомендуемым полям поиска. Для контрагентов это обычно ИНН и КПП, для номенклатуры — наименование и артикул, для документов — номер, дата и организация.

После автоматического прохода обязательно просмотрите несопоставленные объекты и свяжите их вручную. Проверьте колонку с дублями: если система предлагает связать два разных объекта, лучше разорвать такую связь, чем получить перезапись данных.

Порядок действий при автосопоставлении
  1. 1
    Создайте или откройте настройку синхронизации данных между базами
  2. 2
    Загрузите данные из базы-источника на этапе обмена
  3. 3
    Откройте форму сопоставления объектов и запустите автоматическое сопоставление
  4. 4
    Проверьте список несопоставленных объектов и свяжите их вручную
  5. 5
    Примите сопоставление и выполните пробную выгрузку с контролем дублей

Способ 2: копирование регистра сведений обработкой

Если вторая база — копия первой (например, вы разворачиваете обмен заново после переноса на новый сервер), соответствия можно перенести напрямую. Для этого подойдёт типовая обработка «Выгрузка и загрузка данных XML» или любая универсальная обработка переноса регистров сведений.

В базе-источнике откройте обработку, выберите регистр сведений «Соответствия объектов информационных баз» и выгрузите записи, отфильтровав их по нужному узлу обмена. Затем загрузите файл в базу-приёмник. Поскольку GUID объектов в копии совпадают, связи останутся рабочими.

Если узел обмена в новой базе другой, после загрузки потребуется заменить значение измерения «Узел информационной базы» на актуальный. Это делается небольшой обработкой или вручную, если записей немного.

bsl
Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ РегистрСведений.СоответствияОбъектовИнформационныхБаз ГДЕ УзелИнформационнойБазы = &Узел"); Запрос.УстановитьПараметр("Узел", СтарыйУзел); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Менеджер = РегистрыСведений.СоответствияОбъектовИнформационныхБаз.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(Менеджер, Выборка); Менеджер.УзелИнформационнойБазы = НовыйУзел; Менеджер.Записать(); КонецЦикла;

Способ 3: программное копирование с пересопоставлением

Когда базы разные, но часть объектов можно идентифицировать по ключевым полям, пишется обработка: она читает соответствия из источника, находит объект в приёмнике по ИНН, коду или наименованию и записывает новую связь. Такой вариант требует участия разработчика, но экономит часы ручной работы на больших справочниках.

Обработка обычно строится в три этапа: выгрузка соответствий в табличный документ или CSV, сопоставление по полям поиска в новой базе, запись результата в регистр с указанием нового узла. На этапе сопоставления обязательно выводите отчёт о ненайденных объектах — их придётся связать вручную.

Не переносите программно соответствия документов, у которых ключевые поля (номер, дата) могут повторяться у разных объектов. Ошибочная связь документа опаснее ошибки в справочнике: при обмене документ-приёмник будет перезаписан чужими данными.

Сравнение способов копирования

Автоматическое сопоставление

Подходит, когда базы разные и GUID не совпадают. Безопасно, но требует ручной доработки несопоставленных объектов.

Перенос регистра обработкой

Подходит для копии той же базы с совпадающими GUID. Быстро, но бесполезно для баз с другими идентификаторами.

Программное копирование

Подходит для больших объёмов при разных базах. Требует разработчика и тщательной проверки результата.

Проверка результата после копирования

После переноса соответствий не запускайте боевой обмен сразу. Сначала выполните тестовую синхронизацию и проанализируйте, что 1С собирается выгрузить и загрузить. Количество новых объектов должно быть близким к нулю — если система хочет создать сотни «новых» контрагентов или товаров, соответствия не подхватились.

Дополнительно сверьте несколько контрольных объектов вручную: откройте элемент справочника в одной базе, найдите его пару в другой и убедитесь, что при изменении реквизита в источнике меняется именно этот объект в приёмнике.

Контрольные точки

Как проверить результат

Тестовая синхронизация
Норма

Создаются единичные новые объекты, остальные обновляются

Тревожный признак

Массовое создание дублей справочников

Записи регистра соответствий
Норма

Записи привязаны к актуальному узлу обмена

Тревожный признак

Записи ссылаются на старый или несуществующий узел

Контрольный объект
Норма

Изменение в источнике обновляет нужный объект в приёмнике

Тревожный признак

Изменяется другой объект или создаётся дубль

Типичные ошибки и ограничения

Самая частая ошибка — копирование соответствий между базами с разными GUID. Записи регистра загружаются, но ссылки «битые», и обмен либо падает с ошибкой, либо создаёт дубли. Всегда проверяйте, совпадают ли идентификаторы объектов в обеих базах.

Вторая ошибка — забытый узел обмена. Соответствие, привязанное к старому узлу, не участвует в новой синхронизации, и пользователь видит, что «всё скопировано, но не работает». Третья типичная проблема — копирование без резервной копии и теста, после чего приходится восстанавливать базу из-за перезаписанных документов.

Типичные ошибки
01
Перенос регистра в базу с другими GUID — связи указывают на несуществующие объекты и порождают дубли
02
Копирование без замены узла обмена — записи есть, но синхронизация их не использует
03
Автосопоставление без ручной проверки — разные объекты связываются между собой, и данные перезаписываются
04
Запуск боевого обмена сразу после копирования — ошибки обнаруживаются уже на реальных данных

Частые вопросы

Можно ли скопировать соответствие между разными конфигурациями, например из УТ в БП?

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

Что делать, если после копирования при обмене появились дубли?

Остановите обмен, восстановите базу-приёмник из резервной копии или удалите созданные дубли вручную. Затем проверьте, что записи соответствий привязаны к правильному узлу и что GUID объектов совпадают. После исправления повторите тестовую синхронизацию.

Как посмотреть текущие соответствия без конфигуратора?

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

Сколько времени занимает ручное сопоставление, если не копировать?

Зависит от объёма справочников и качества автосопоставления. При заполненных ИНН у контрагентов и уникальных наименованиях номенклатуры автоматика связывает большую часть, а вручную остаются единицы или десятки позиций. При незаполненных ключевых полях ручная работа может занять часы.

Нужно ли копировать соответствие при обновлении конфигурации?

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

Можно ли очистить соответствия и начать сопоставление заново?

Да. Удалите записи регистра по нужному узлу обмена и запустите сопоставление повторно. Делайте это только на копии базы или после резервного копирования: очистка необратима, и все ранее выполненные ручные связи будут потеряны.

Итог

Что важно запомнить

Соответствие объектов в 1С хранится в регистре сведений и привязано к узлу обмена. Для копии базы переносите регистр напрямую, для разных баз используйте автоматическое сопоставление или программный перенос. Всегда делайте резервную копию и проверяйте результат тестовой синхронизацией до запуска боевого обмена.