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

Справочники и Данные · 11 мин

Как перенести справочник из одной базы 1С в другую

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

Перенести справочник из одной базы 1С в другую можно несколькими способами: через выгрузку и загрузку данных в формате XML, типовой обработкой «Универсальный обмен данными», настройкой синхронизации между конфигурациями или программным кодом. Выбор зависит от того, одинаковые ли конфигурации у баз, нужен ли разовый перенос или регулярный, и насколько много элементов нужно перенести.

Самый простой случай — базы с идентичными конфигурациями, например две копии «1С:Бухгалтерии» одной версии. Здесь достаточно типовой обработки выгрузки-загрузки или встроенной синхронизации. Сложнее, когда конфигурации разные: например, справочник «Номенклатура» нужно перенести из «Управления торговлей» в «Бухгалтерию». Тогда потребуется сопоставление реквизитов, а иногда и написание правил конвертации.

Перед любым переносом сделайте резервную копию базы-приёмника. Ошибка при загрузке может создать дубли элементов, затереть существующие данные или нарушить связи между объектами, а откатить такие изменения вручную бывает очень трудоёмко.

Определите, какие у вас базы и какой способ подходит

Первый шаг — выяснить, совпадают ли конфигурации источника и приёмника. Откройте в каждой базе сведения о конфигурации (раздел «Администрирование» — «О программе» или аналогичный пункт) и сравните название и версию. Если конфигурации идентичны, структура справочников совпадает, и перенос сводится к простой выгрузке-загрузке.

Если конфигурации разные, посмотрите, есть ли между ними типовой обмен. Между популярными решениями — например, «1С:Управление торговлей» и «1С:Бухгалтерия» — существуют готовые правила обмена, которые покрывают основные справочники: «Номенклатура», «Контрагенты», «Организации», «Склады».

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

Выгрузка/загрузка XML (типовая обработка)

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

Синхронизация данных

Подходит для регулярного обмена между разными типовыми конфигурациями. Требует первоначальной настройки и сопоставления объектов.

Универсальный обмен данными XML

Гибкий вариант для разных конфигураций при наличии правил конвертации. Требует подготовки или приобретения правил.

Программный перенос (код)

Подходит для нестандартных задач и тонкой фильтрации. Требует навыков программирования на встроенном языке 1С.

Способ 1. Выгрузка и загрузка через типовую обработку XML

Для баз с идентичными конфигурациями используется обработка «Выгрузка и загрузка данных XML». Во многих типовых решениях она доступна в разделе «Администрирование», либо её можно взять из состава конфигурации «Конвертация данных» или с диска ИТС. Обработка работает в два этапа: сначала выгрузка из базы-источника в файл XML, затем загрузка из файла в базу-приёмник.

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

Порядок выгрузки и загрузки через XML
  1. 1
    Сделайте резервную копию базы-приёмника.
  2. 2
    Откройте обработку «Выгрузка и загрузка данных XML» в базе-источнике.
  3. 3
    Отметьте нужный справочник, при необходимости настройте отбор по элементам.
  4. 4
    Укажите имя файла и выполните выгрузку.
  5. 5
    Откройте ту же обработку в базе-приёмнике на вкладке загрузки.
  6. 6
    Выберите файл и выполните загрузку.
  7. 7
    Проверьте количество элементов и отсутствие дублей.

На этапе загрузки обратите внимание на режим «Использовать итоги» и опции поиска объектов. Обработка сопоставляет элементы по уникальному идентификатору (GUID). Если элемент с таким GUID уже есть в приёмнике, он будет обновлён, а не продублирован. Это важно: при повторной загрузке того же файла дублей не возникнет.

Способ 2. Синхронизация данных между типовыми конфигурациями

Если обмен нужен регулярно или базы работают на разных типовых конфигурациях, используйте встроенный механизм синхронизации. Он настраивается в разделе «Администрирование» — «Синхронизация данных» (в некоторых конфигурациях — «Обмены данными»).

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

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

Способ 3. Универсальный обмен данными с правилами конвертации

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

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

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

Перед разработкой собственных правил проверьте, не закрывает ли задачу обычный перенос через табличный документ: многие справочники позволяют скопировать список в Excel и загрузить его обработкой «Загрузка данных из табличного документа» в разделе «Администрирование». Для простых линейных справочников это часто быстрее любого обмена.
ПЗ
Практическое замечание

Способ 4. Загрузка из табличного документа и программный перенос

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

Программный способ — написание обработки на встроенном языке с подключением к другой базе через COM-соединение или через чтение файла произвольного формата. Это вариант для нестандартных задач: перенос с трансформацией данных, объединение дублей по сложным правилам, перенос истории изменений. Такую обработку должен писать и тестировать специалист, знакомый с обеими конфигурациями.

Проверка результата и типичные ошибки

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

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

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

Количество элементов
Норма

Совпадает с источником с учётом отборов

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

Элементов больше (дубли) или меньше (потери)

Иерархия
Норма

Группы и вложенность сохранены

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

Все элементы попали в корень или в одну группу

Связанные объекты
Норма

Единицы измерения, ставки, владельцы заполнены

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

Пустые ссылки, «Объект не найден»

Повторная загрузка
Норма

Элементы обновляются без дублей

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

Каждый запуск создаёт новые элементы

Самая частая ошибка — дубли при переносе между разными базами, где элементы создавались независимо и имеют разные GUID. Решается сопоставлением при синхронизации или поиском по ключевым полям (ИНН и КПП для контрагентов, наименование — как крайний вариант). Вторая типичная проблема — битые ссылки вида «Объект не найден», возникающие, когда перенесён справочник, ссылающийся на объекты, которые не были выгружены.

Типичные ошибки
01
Загрузка без резервной копии — при ошибке данные приёмника теряются безвозвратно.
02
Выгрузка справочника без связанных объектов — в приёмнике появляются битые ссылки.
03
Пропуск этапа сопоставления при синхронизации — массовые дубли контрагентов и номенклатуры.
04
Перенос между базами с разными релизами одной конфигурации — реквизиты могут не совпасть, часть данных не загрузится.
05
Поиск элементов только по наименованию — элементы с опечатками в названии задваиваются.

Если дубли уже появились, используйте типовую обработку «Поиск и удаление дублей» (раздел «Администрирование» — «Обслуживание»). Она находит совпадающие элементы по заданным реквизитам и заменяет ссылки на дубли ссылками на основной элемент во всех документах и регистрах.

FAQ

Можно ли перенести справочник между базами с разными версиями одной конфигурации?

Можно, но с оговорками. Если в новой версии добавились реквизиты, они просто останутся пустыми; если реквизит был удалён или переименован, данные из него не загрузятся. Рекомендуется сначала обновить обе базы до одного релиза, либо тестировать перенос на копии и проверять полноту реквизитов вручную.

Как перенести только часть элементов справочника, а не весь?

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

Перенесутся ли штрихкоды, цены и остатки вместе с номенклатурой?

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

Что делать, если после загрузки появились элементы «Объект не найден»?

Это битые ссылки: перенесённый справочник ссылается на объекты, которых нет в приёмнике. Выгрузите недостающие связанные объекты (в XML-обработке включите выгрузку по ссылкам) и загрузите их повторно — ссылки восстановятся автоматически, так как они хранят GUID.

Можно ли автоматизировать регулярный перенос справочников?

Да. Настройте синхронизацию данных с выполнением по расписанию — обмен будет проходить автоматически через заданный интервал. Альтернатива — план обмена с выгрузкой в каталог или FTP и регламентным заданием на загрузку в базе-приёмнике.

Какой способ выбрать для разового переноса контрагентов из УТ в Бухгалтерию?

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

Итог

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

Для идентичных конфигураций достаточно выгрузки-загрузки XML, для разных — синхронизации или обмена с правилами конвертации, для простых справочников — загрузки из табличного документа. Всегда делайте резервную копию приёмника, тестируйте на копии и после переноса проверяйте количество элементов, иерархию и отсутствие дублей.