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

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

Как соединить две базы 1С в одну

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

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

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

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

Определите сценарий: какие базы и зачем соединяем

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

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

Третий вопрос — объём и состав данных. Иногда достаточно перенести только справочники (контрагенты, номенклатура, договоры), иногда нужны все документы за период, а иногда — ещё и остатки по регистрам на дату начала совместной работы. Чем шире состав, тем тщательнее нужна проверка результата.

Маршрут решения

Как выбрать сценарий

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

Подготовка: резервные копии и анализ данных

До любых действий сделайте полные резервные копии обеих баз. Для файловых баз достаточно скопировать каталог базы или выгрузить dt-файл через конфигуратор (Администрирование → Выгрузить информационную базу). Для клиент-серверных баз делайте копию средствами СУБД (MS SQL, PostgreSQL) — это надёжнее и быстрее, чем выгрузка dt.

Далее проведите аудит данных в обеих базах. Выпишите, какие справочники пересекаются: контрагенты, номенклатура, склады, подразделения, сотрудники. Для каждого справочника определите ключ сопоставления — признак, по которому вы поймёте, что два элемента из разных баз описывают один и тот же объект. Для контрагентов это обычно ИНН + КПП, для номенклатуры — артикул или штрихкод, для сотрудников — ФИО вместе с датой рождения или СНИЛС.

Полезно заранее найти явные дубли внутри каждой базы. В типовых конфигурациях есть обработка «Поиск и удаление дублей» (раздел «Администрирование» → «Обслуживание»). Устранение дублей до объединения существенно снижает объём ручной работы после него.

Способ 1: выгрузка и загрузка данных XML для одинаковых конфигураций

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

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

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

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

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

Способ 2: универсальный обмен данными для разных конфигураций

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

Для популярных пар конфигураций (например, «Управление торговлей» → «Бухгалтерия предприятия») существуют типовые правила, которые поставляются вместе с конфигурациями или доступны в составе обновлений. Используйте их как основу. Если типовых правил нет или они не покрывают ваши данные (добавленные реквизиты, нестандартные документы), правила дорабатывают в конфигурации «1С:Конвертация данных».

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

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

Способ 3: план обмена для постоянной синхронизации

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

Настройка обычно выглядит так: в одной базе создаётся узел обмена с указанием второй базы, задаётся состав передаваемых данных (с помощью фильтров по организациям, подразделениям, датам), выбирается способ транспорта — через каталог, FTP, электронную почту или прямое подключение. Затем настраивается расписание автоматического обмена.

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

Для распределённых систем с иерархией (главный узел и филиалы) существует механизм распределённых информационных баз, где изменения конфигурации и данных передаются автоматически. Он подходит, когда филиалы работают на одной конфигурации и центр управляет её обновлением.

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

Выгрузка/загрузка XML

Быстро и просто, но только для идентичных конфигураций и релизов; не решает проблему дублей, созданных вручную

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

Работает между разными конфигурациями, гибкий поиск для предотвращения дублей; требует правил и навыков их настройки

План обмена / синхронизация

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

Распределённая база (РИБ)

Для филиальной структуры на одной конфигурации; жёсткая иерархия, периферийная база создаётся из главного узла, а не объединяет две независимые

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

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

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

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

Типичные ошибки при объединении баз
01
Перенос сразу в рабочую базу без тестовой копии — при ошибке откат невозможен или очень труден
02
Загрузка без настройки поиска по ключевым реквизитам — массовые дубли контрагентов и номенклатуры
03
Автоматическое удаление дублей без ручного просмотра групп — объединяются разные объекты с похожими наименованиями
04
Перенос документов без переноса связанных справочников — битые ссылки вида «Объект не найден»
05
Игнорирование закрытых периодов — загруженные документы прошлых периодов меняют уже сданную отчётность
06
Объединение баз с разными релизами без обновления — обработка выгрузки отказывается работать или переносит данные некорректно

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

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

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

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

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

Как проверить результат объединения

Оборотно-сальдовая ведомость на дату объединения
Норма

Итоги совпадают с суммой данных двух исходных баз

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

Расхождения по счетам — ищите неперенесённые или задвоенные документы

Справочники контрагентов и номенклатуры
Норма

Один реальный объект представлен одним элементом, ссылки в документах корректны

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

Пары элементов с одинаковыми ИНН или артикулами — дубли не устранены

Проведение перенесённых документов
Норма

Документы перепроводятся без ошибок

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

Ошибки вида «Объект не найден» или незаполненные реквизиты — не перенесены связанные данные

Нумерация новых документов
Норма

Новые документы получают последовательные номера без конфликтов

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

Ошибки уникальности номера — нужно обновить нумерацию

Ограничения и когда нужен специалист

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

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

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

Итог

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

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

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

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

Напрямую — нет: обработка выгрузки/загрузки XML требует идентичности конфигураций. Сначала обновите более старую базу до актуального релиза, затем выполняйте перенос. Либо используйте универсальный обмен с правилами конвертации, который допускает различия в структуре.

Перенесутся ли внутренние ссылки между документами и справочниками?

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

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

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

Как не потерять данные, если что-то пойдёт не так?

Работайте только на тестовой копии базы-приёмника, а рабочую базу не трогайте до полной проверки результата. Храните резервные копии обеих баз минимум до завершения сверки остатков. Для клиент-серверных баз делайте копии средствами СУБД — восстановление из них быстрее и надёжнее.

Можно ли объединить базы, если в них вёлся учёт по разным организациям?

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

Нужно ли переносить всю историю документов или можно ввести только остатки?

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