Администрирование · 10 мин
Как скопировать соответствие объектов в 1С
Разбираем, как скопировать соответствие объектов в 1С при обмене данными: типовые способы, ручное и программное копирование, ошибки и проверка результата.
Соответствие объектов информационных баз — это таблица связей, по которой 1С при обмене данными понимает, какой элемент справочника или документ в одной базе равен объекту в другой. Когда обмен настраивается заново, переносится в другую базу или ломается после обновления, возникает задача скопировать эти связи, чтобы не сопоставлять тысячи позиций вручную.
Чаще всего речь идёт о регистре сведений «Соответствия объектов информационных баз» (в конфигурациях на БСП) или о данных узла плана обмена, где хранятся результаты сопоставления. Скопировать соответствие можно несколькими способами: через повторное автоматическое сопоставление, через выгрузку и загрузку регистра, а также программно — обработкой.
Выбор способа зависит от ситуации: переносите ли вы настройки в копию той же базы, в новую базу с теми же данными или в базу с другими объектами. Ниже разобраны все три сценария с конкретными шагами и проверками.
Что такое соответствие объектов и где оно хранится
При синхронизации двух баз 1С каждому объекту-источнику ставится в соответствие объект-приёмник. Связь строится по уникальному идентификатору (GUID), а если GUID не совпадают — по полям поиска: наименованию, ИНН, коду, номеру документа и дате.
В типовых конфигурациях на базе Библиотеки стандартных подсистем (УТ, ERP, БП, ЗУП) результат сопоставления хранится в регистре сведений «Соответствия объектов информационных баз» с привязкой к узлу плана обмена. Именно этот регистр и нужно копировать, когда требуется перенести соответствие.
Отдельный случай — самописные обмены и старые конфигурации, где соответствие может храниться в другом регистре или в конвертации данных. Перед копированием уточните, где именно ваша конфигурация хранит связи: это видно в конфигураторе по составу подсистемы обмена.
Подготовка: что сделать до копирования
Главное правило — сделайте резервную копию обеих баз. Копирование соответствий напрямую влияет на то, какие объекты будут обновлены при следующем обмене. Ошибка в связях приводит к перезаписи не тех объектов или к массовому появлению дублей.
Далее определите, какой у вас сценарий. Если вторая база — точная копия первой (GUID объектов совпадают), соответствие переносится напрямую. Если базы разные и GUID различаются, прямое копирование регистра бессмысленно: ссылки будут указывать на несуществующие объекты, и нужен перенос с пересопоставлением.
Также проверьте, что план обмена и узел в новой базе уже созданы. Соответствие привязано к конкретному узлу, и копировать его нужно с заменой узла-владельца, иначе записи не будут учитываться при обмене.
Способ 1: повторное автоматическое сопоставление
Самый безопасный вариант, если базы содержат одинаковые по смыслу данные, но GUID различаются. В этом случае копировать регистр не нужно — 1С построит соответствие сама.
Откройте настройку синхронизации данных, перейдите к этапу сопоставления объектов и запустите автоматическое сопоставление по рекомендуемым полям поиска. Для контрагентов это обычно ИНН и КПП, для номенклатуры — наименование и артикул, для документов — номер, дата и организация.
После автоматического прохода обязательно просмотрите несопоставленные объекты и свяжите их вручную. Проверьте колонку с дублями: если система предлагает связать два разных объекта, лучше разорвать такую связь, чем получить перезапись данных.
- 1Создайте или откройте настройку синхронизации данных между базами
- 2Загрузите данные из базы-источника на этапе обмена
- 3Откройте форму сопоставления объектов и запустите автоматическое сопоставление
- 4Проверьте список несопоставленных объектов и свяжите их вручную
- 5Примите сопоставление и выполните пробную выгрузку с контролем дублей
Способ 2: копирование регистра сведений обработкой
Если вторая база — копия первой (например, вы разворачиваете обмен заново после переноса на новый сервер), соответствия можно перенести напрямую. Для этого подойдёт типовая обработка «Выгрузка и загрузка данных XML» или любая универсальная обработка переноса регистров сведений.
В базе-источнике откройте обработку, выберите регистр сведений «Соответствия объектов информационных баз» и выгрузите записи, отфильтровав их по нужному узлу обмена. Затем загрузите файл в базу-приёмник. Поскольку GUID объектов в копии совпадают, связи останутся рабочими.
Если узел обмена в новой базе другой, после загрузки потребуется заменить значение измерения «Узел информационной базы» на актуальный. Это делается небольшой обработкой или вручную, если записей немного.
Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ РегистрСведений.СоответствияОбъектовИнформационныхБаз ГДЕ УзелИнформационнойБазы = &Узел"); Запрос.УстановитьПараметр("Узел", СтарыйУзел); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Менеджер = РегистрыСведений.СоответствияОбъектовИнформационныхБаз.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(Менеджер, Выборка); Менеджер.УзелИнформационнойБазы = НовыйУзел; Менеджер.Записать(); КонецЦикла;Способ 3: программное копирование с пересопоставлением
Когда базы разные, но часть объектов можно идентифицировать по ключевым полям, пишется обработка: она читает соответствия из источника, находит объект в приёмнике по ИНН, коду или наименованию и записывает новую связь. Такой вариант требует участия разработчика, но экономит часы ручной работы на больших справочниках.
Обработка обычно строится в три этапа: выгрузка соответствий в табличный документ или CSV, сопоставление по полям поиска в новой базе, запись результата в регистр с указанием нового узла. На этапе сопоставления обязательно выводите отчёт о ненайденных объектах — их придётся связать вручную.
Не переносите программно соответствия документов, у которых ключевые поля (номер, дата) могут повторяться у разных объектов. Ошибочная связь документа опаснее ошибки в справочнике: при обмене документ-приёмник будет перезаписан чужими данными.
Сравнение способов копирования
Подходит, когда базы разные и GUID не совпадают. Безопасно, но требует ручной доработки несопоставленных объектов.
Подходит для копии той же базы с совпадающими GUID. Быстро, но бесполезно для баз с другими идентификаторами.
Подходит для больших объёмов при разных базах. Требует разработчика и тщательной проверки результата.
Проверка результата после копирования
После переноса соответствий не запускайте боевой обмен сразу. Сначала выполните тестовую синхронизацию и проанализируйте, что 1С собирается выгрузить и загрузить. Количество новых объектов должно быть близким к нулю — если система хочет создать сотни «новых» контрагентов или товаров, соответствия не подхватились.
Дополнительно сверьте несколько контрольных объектов вручную: откройте элемент справочника в одной базе, найдите его пару в другой и убедитесь, что при изменении реквизита в источнике меняется именно этот объект в приёмнике.
Как проверить результат
Создаются единичные новые объекты, остальные обновляются
Массовое создание дублей справочников
Записи привязаны к актуальному узлу обмена
Записи ссылаются на старый или несуществующий узел
Изменение в источнике обновляет нужный объект в приёмнике
Изменяется другой объект или создаётся дубль
Типичные ошибки и ограничения
Самая частая ошибка — копирование соответствий между базами с разными GUID. Записи регистра загружаются, но ссылки «битые», и обмен либо падает с ошибкой, либо создаёт дубли. Всегда проверяйте, совпадают ли идентификаторы объектов в обеих базах.
Вторая ошибка — забытый узел обмена. Соответствие, привязанное к старому узлу, не участвует в новой синхронизации, и пользователь видит, что «всё скопировано, но не работает». Третья типичная проблема — копирование без резервной копии и теста, после чего приходится восстанавливать базу из-за перезаписанных документов.
Частые вопросы
Можно ли скопировать соответствие между разными конфигурациями, например из УТ в БП?
Напрямую — нет, потому что состав объектов и их идентификаторы различаются. Для обмена между разными конфигурациями соответствие строится заново через автоматическое сопоставление в настройке синхронизации с последующей ручной доработкой.
Что делать, если после копирования при обмене появились дубли?
Остановите обмен, восстановите базу-приёмник из резервной копии или удалите созданные дубли вручную. Затем проверьте, что записи соответствий привязаны к правильному узлу и что GUID объектов совпадают. После исправления повторите тестовую синхронизацию.
Как посмотреть текущие соответствия без конфигуратора?
В типовых конфигурациях список соответствий доступен из настройки синхронизации: откройте узел обмена и перейдите к результатам сопоставления. Также регистр можно вывести универсальным отчётом по регистрам сведений, если у вас есть соответствующие права.
Сколько времени занимает ручное сопоставление, если не копировать?
Зависит от объёма справочников и качества автосопоставления. При заполненных ИНН у контрагентов и уникальных наименованиях номенклатуры автоматика связывает большую часть, а вручную остаются единицы или десятки позиций. При незаполненных ключевых полях ручная работа может занять часы.
Нужно ли копировать соответствие при обновлении конфигурации?
Нет. Обновление конфигурации не затрагивает данные регистра соответствий — связи сохраняются автоматически. Копирование требуется только при переносе обмена в другую базу, смене узла или восстановлении после сбоя.
Можно ли очистить соответствия и начать сопоставление заново?
Да. Удалите записи регистра по нужному узлу обмена и запустите сопоставление повторно. Делайте это только на копии базы или после резервного копирования: очистка необратима, и все ранее выполненные ручные связи будут потеряны.
Что важно запомнить
Соответствие объектов в 1С хранится в регистре сведений и привязано к узлу обмена. Для копии базы переносите регистр напрямую, для разных баз используйте автоматическое сопоставление или программный перенос. Всегда делайте резервную копию и проверяйте результат тестовой синхронизацией до запуска боевого обмена.