Объединение информационных баз 1С: способы и подводные камни

· 9 мин

Содержание

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

Главная ловушка при объединении информационных баз — не сам перенос, а дубли: один и тот же контрагент, номенклатура или физлицо, заведённые в двух базах независимо, после объединения превратятся в две разные записи. Поэтому половина работы — это сопоставление объектов и проверка остатков, а не нажатие кнопки «Загрузить».

Ниже — рабочие методы, порядок подготовки и ошибки, которые встречаются чаще всего.

Разберёмся, что вы на самом деле объединяете

Под «объединением баз» люди обычно имеют в виду три разные задачи, и решаются они по-разному.

  • 🗂️ Свести данные двух баз в одну. Например, две фирмы вели учёт раздельно, а теперь нужна единая база. Это перенос данных: XML-выгрузка, Конвертация данных или синхронизация.
  • 🧩 Объединить конфигурации. Две доработанные базы, и нужно собрать изменения кода и метаданных в одну конфигурацию. Это делается в Конфигураторе через сравнение и объединение конфигураций — данные при этом не трогаются.
  • 💾 Залить одну базу поверх другой целиком. Для этого грузят файл .dt, но это полная замена, а не объединение: всё содержимое базы-приёмника затирается.

Загрузка .dt не объединяет данные — она полностью заменяет базу. Если нужно сохранить данные обеих баз, этот путь не подходит.

Что именно нужно объединить?

Что сделать до переноса: копии и проверка совместимости

Любое объединение баз — операция с высоким риском потерять данные. Готовятся к ней так.

  1. ⚠️ Снимите резервные копии обеих баз. Для файловой базы — выгрузка в .dt через Конфигуратор → Администрирование → Выгрузить информационную базу. Для клиент-серверной — средствами СУБД (бэкап SQL) плюс та же выгрузка .dt. Копии храните до тех пор, пока не убедитесь, что объединённая база считается без ошибок.
  2. Проверьте целостность. Запустите Конфигуратор → Администрирование → Тестирование и исправление. Эта операция требует монопольного доступа — завершите сеансы пользователей заранее. Для файловой базы перед этим полезно прогнать chdbfl.exe.
  3. Сверьте версии и конфигурации. Платформа у обеих баз должна быть номером не ниже той, в которой создавались данные. Если объединяете однотипные базы, сравните релизы конфигурации: расхождение в версиях типового решения — частая причина ошибок при загрузке.
  4. Зафиксируйте контрольные суммы. Выпишите ключевые остатки: сальдо по счетам, количество документов за период, остатки на складах. После объединения вы сверите эти же цифры.

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

Делайте перенос на копиях, а не на рабочих базах. Разверните обе базы из архивов на тестовом сервере, отработайте весь сценарий там и только потом повторяйте на боевых данных.

Перенос через выгрузку и загрузку данных в формате XML

Это стандартный способ для баз на одной или очень близкой конфигурации. Используется внешняя обработка «Выгрузка и загрузка данных XML» (файл с расширением .epf из комплекта поставки на диске ИТС).

Порядок работы:

  1. Откройте обработку в базе-источнике через Файл → Открыть (режим 1С:Предприятие).
  2. На закладке выгрузки отметьте типы данных, которые переносите: справочники, документы, регистры. Можно выгрузить всё либо выборочно по видам объектов и периоду.
  3. Сохраните результат в файл выгрузки.
  4. Откройте ту же обработку в базе-приёмнике и загрузите этот файл.

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

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

Конвертация данных 2.0 и 3.0: когда без правил обмена не обойтись

Когда конфигурации разные (например, данные из «Управления торговлей» нужно поднять в «Бухгалтерию»), простой XML-перенос не сработает: структура метаданных не совпадает. Здесь нужны правила обмена.

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

Конвертация данных 3.0 работает с универсальным форматом EnterpriseData. Вместо правил «объект в объект» описывается соответствие объектов конфигурации единому формату обмена, а результат оформляется модулем менеджера обмена или расширением. Это современный путь, на нём же построена штатная синхронизация типовых конфигураций.

Для типовых решений (БП 3.0, ЗУП 3.1, УТ 11) чаще всего не нужно собирать правила с нуля — там уже есть встроенная синхронизация через универсальный формат. Включается она в разделе Администрирование → Синхронизация данных: сначала разрешается сама синхронизация, затем настраивается обмен через универсальный формат, и данные выгружаются в файл, который загружается в приёмнике. Разовое объединение делается тем же механизмом — просто настраивается один сеанс выгрузки и загрузки.

СпособКогда применятьОсновной риск
Выгрузка-загрузка XMLОдинаковые или очень близкие конфигурацииДубли по разным идентификаторам
Конвертация данных 2.0Разные конфигурации, нужен тонкий контрольТрудоёмкая настройка правил
Конвертация данных 3.0 / универсальный форматТиповые решения, перенос в общем форматеПереносятся не все нетиповые данные
Загрузка .dtНужна полная замена базыЗатирает данные приёмника

Объединение конфигураций и перенос через расширение

Если задача не в данных, а в коде — собрать доработки двух баз в одну, — работают с конфигурацией, а не с выгрузкой данных.

В Конфигураторе откройте Конфигурация → Сравнить, объединить конфигурации. Укажите вторую конфигурацию как файл .cf или загрузите её из другой базы. Система покажет дерево различий: добавленные объекты, изменённые модули, новые реквизиты. Для каждого отличия вы решаете, брать его из второй конфигурации или оставить своё.

После объединения конфигурацию нужно обновить: Конфигурация → Обновить конфигурацию базы данных. Если менялась структура (добавлены реквизиты, таблицы), обновление потребует монопольного доступа — пользователей придётся отключить, и на время реструктуризации база будет недоступна.

Когда вмешиваться в саму конфигурацию нежелательно (например, чтобы не снимать её с поддержки), часть переноса удобно вынести в расширение конфигурации . В расширении можно разместить обработку переноса или донастройку, подключив её без изменения основной конфигурации. Расширения доступны начиная с платформы 8.3.6; загрузка файла .cfe и последующее обновление конфигурации базы — это два отдельных шага.

Объединение конфигураций переносит метаданные и код, но не данные. Если после этого в структуре появились новые объекты, их ещё предстоит наполнить — отдельным переносом данных.

Сопоставление объектов и борьба с дублями

Это этап, который чаще всего недооценивают. После переноса в базе-приёмнике почти всегда оказываются задвоенные элементы справочников: два одинаковых контрагента, две позиции одной номенклатуры, два физлица.

Что делать:

  • 🔎 Сверьте ключевые справочники. Отсортируйте контрагентов по ИНН, номенклатуру — по наименованию или артикулу. Одинаковые по сути записи с разными ссылками — это дубли.
  • 🔗 Объедините дубли штатными средствами. В типовых конфигурациях есть команда поиска и объединения дублей (в разделе работы со справочниками, в сервисных функциях). Она переносит все ссылки с лишнего элемента на оставленный и помечает дубль на удаление.
  • 🧹 Не удаляйте напрямую. Элемент, на который ссылаются документы, так просто не удалить. Сначала объедините или замените ссылки, затем используйте обработку удаления помеченных объектов с контролем ссылочной целостности.

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

Как убедиться, что объединение прошло корректно

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

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

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

Ошибки при объединении баз и как их устранить

Диагностика: выберите симптом

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

Можно ли объединить две базы одной кнопкой?
Нет. Единого действия «объединить» в 1С не существует. Вы выбираете метод под задачу: выгрузка-загрузка XML, Конвертация данных, синхронизация через универсальный формат или объединение конфигураций для кода.
Сохранятся ли при объединении все документы и движения?
При корректной настройке — да, но переносятся только те типы данных, которые вы отметили в выгрузке. Регистры и связанные объекты легко пропустить, поэтому после загрузки обязательна сверка остатков и перепроведение.
Что делать с дублями контрагентов после объединения?
Объедините их штатной командой поиска и объединения дублей: она переносит все ссылки на оставленный элемент. Прямое удаление не сработает, пока на элемент ссылаются документы.
Чем объединение конфигураций отличается от переноса данных?
Объединение конфигураций в Конфигураторе сводит код и метаданные, но не трогает данные. Перенос данных (XML, Конвертация, синхронизация) переносит справочники, документы и остатки, но не меняет саму конфигурацию.
Подойдёт ли загрузка файла `.dt` для объединения?
Нет. Загрузка .dt полностью заменяет базу-приёмник. Для объединения данных она не годится — используйте её только как способ сделать точную копию или резервный архив.