Администрирование · 15 мин
Как соединить две базы 1С в одну
Как объединить две базы 1С в одну: выгрузка и загрузка данных, синхронизация справочников, типовые обработки, проверка результата и типичные ошибки.
Под задачей «соединить две базы 1С» обычно понимают одну из трёх ситуаций: перенести данные из одной информационной базы в другую, объединить две базы одинаковой конфигурации в единую рабочую базу или настроить постоянный обмен между двумя базами. От того, какая именно задача стоит, зависит весь инструментарий: разовая выгрузка, типовая обработка переноса или план обмена.
Главная сложность объединения — не техническая выгрузка, а сопоставление данных. В двух базах один и тот же контрагент, номенклатурная позиция или договор могут иметь разные внутренние идентификаторы, дублироваться с разными наименованиями или ссылаться на разные элементы справочников. Если просто «залить» данные, получите задвоенные справочники и битые ссылки в документах.
Поэтому любое объединение начинается с анализа: совпадают ли конфигурации и их версии, какие справочники и документы нужно переносить, есть ли пересекающиеся данные и как определять дубли. Только после этого выбирается инструмент и сценарий переноса.
Определите сценарий: какие базы и зачем соединяем
Первый вопрос — одинаковые ли у баз конфигурации. Если обе базы работают на одной конфигурации одной версии (например, две «1С:Бухгалтерии 8.3» одного релиза), задача сильно упрощается: структуры данных совпадают, и объекты можно переносить напрямую по внутренним ссылкам. Если конфигурации разные (из «Управления торговлей» в «Бухгалтерию») или различаются релизы, потребуется конвертация данных по правилам.
Второй вопрос — разовое объединение или постоянный обмен. Разовое объединение нужно при консолидации: две организации сливаются, филиал закрывается, учёт переводится в одну базу. Постоянный обмен нужен, когда обе базы продолжают жить: например, торговый отдел работает в одной базе, бухгалтерия — в другой. Для постоянного обмена правильнее настраивать план обмена, а не делать ручные выгрузки.
Третий вопрос — объём и состав данных. Иногда достаточно перенести только справочники (контрагенты, номенклатура, договоры), иногда нужны все документы за период, а иногда — ещё и остатки по регистрам на дату начала совместной работы. Чем шире состав, тем тщательнее нужна проверка результата.
Как выбрать сценарий
Подготовка: резервные копии и анализ данных
До любых действий сделайте полные резервные копии обеих баз. Для файловых баз достаточно скопировать каталог базы или выгрузить dt-файл через конфигуратор (Администрирование → Выгрузить информационную базу). Для клиент-серверных баз делайте копию средствами СУБД (MS SQL, PostgreSQL) — это надёжнее и быстрее, чем выгрузка dt.
Далее проведите аудит данных в обеих базах. Выпишите, какие справочники пересекаются: контрагенты, номенклатура, склады, подразделения, сотрудники. Для каждого справочника определите ключ сопоставления — признак, по которому вы поймёте, что два элемента из разных баз описывают один и тот же объект. Для контрагентов это обычно ИНН + КПП, для номенклатуры — артикул или штрихкод, для сотрудников — ФИО вместе с датой рождения или СНИЛС.
Полезно заранее найти явные дубли внутри каждой базы. В типовых конфигурациях есть обработка «Поиск и удаление дублей» (раздел «Администрирование» → «Обслуживание»). Устранение дублей до объединения существенно снижает объём ручной работы после него.
Способ 1: выгрузка и загрузка данных XML для одинаковых конфигураций
Если обе базы имеют идентичную конфигурацию и одинаковый релиз, самый прямой путь — типовая обработка «Выгрузка и загрузка данных XML». Она переносит объекты вместе с их уникальными идентификаторами, поэтому ссылки между объектами сохраняются корректно: документ, выгруженный вместе со своим контрагентом, будет ссылаться именно на него после загрузки.
Порядок работы такой. В базе-источнике откройте обработку, выберите объекты для выгрузки (справочники, документы за период, при необходимости — движения), укажите файл и выполните выгрузку. Затем откройте ту же обработку в базе-приёмнике и загрузите файл. Загрузку лучше выполнять в монопольном режиме, чтобы пользователи не изменяли данные в процессе.
Обратите внимание на опцию «Продолжить загрузку в случае возникновения ошибки» и журнал загрузки: при больших объёмах часть объектов может не загрузиться из-за нарушения уникальности или заполнения обязательных реквизитов. Каждую такую ошибку нужно разобрать отдельно, а не игнорировать.
Важное ограничение: если в обеих базах независимо создавали одинаковые объекты (например, один и тот же контрагент заведён вручную в обеих базах), у них разные уникальные идентификаторы. После загрузки вы получите два элемента-«близнеца». Такие дубли устраняются обработкой «Поиск и удаление дублей» уже после переноса.
- 1Сделайте резервные копии обеих баз и разверните тестовую копию базы-приёмника
- 2В базе-источнике откройте обработку «Выгрузка и загрузка данных XML» и выгрузите нужные объекты в файл
- 3В тестовой копии приёмника загрузите файл в монопольном режиме, изучите журнал ошибок
- 4Выполните «Поиск и удаление дублей» по ключевым справочникам (контрагенты, номенклатура)
- 5Проверьте остатки и отчёты, после успешной проверки повторите перенос в рабочей базе
Способ 2: универсальный обмен данными для разных конфигураций
Когда конфигурации различаются, прямой перенос по ссылкам невозможен: структуры объектов не совпадают. В этом случае используется «Универсальный обмен данными в формате XML» вместе с правилами конвертации. Правила описывают, как объект источника преобразуется в объект приёмника: какие реквизиты куда переносятся, как сопоставляются перечисления и как ищутся уже существующие элементы.
Для популярных пар конфигураций (например, «Управление торговлей» → «Бухгалтерия предприятия») существуют типовые правила, которые поставляются вместе с конфигурациями или доступны в составе обновлений. Используйте их как основу. Если типовых правил нет или они не покрывают ваши данные (добавленные реквизиты, нестандартные документы), правила дорабатывают в конфигурации «1С:Конвертация данных».
Ключевая настройка в правилах — способ поиска существующих объектов при загрузке. Для контрагентов задайте поиск по ИНН и КПП, для номенклатуры — по артикулу или коду, для организаций — по ИНН. Правильно настроенный поиск предотвращает дубли: если элемент с таким ключом уже есть в приёмнике, загрузчик обновит его, а не создаст новый.
Доработка правил конвертации — задача, требующая навыков разработки на встроенном языке 1С. Если конфигурации сильно различаются или данных много, имеет смысл привлечь специалиста по обменам: цена ошибки в правилах — искажённые учётные данные, которые потом сложно вычистить.
Способ 3: план обмена для постоянной синхронизации
Если обе базы должны работать постоянно и обмениваться данными регулярно, разовые выгрузки не подходят — нужен план обмена. Типовые конфигурации содержат готовые планы обмена для распространённых связок, а также универсальный механизм синхронизации данных через формат EnterpriseData.
Настройка обычно выглядит так: в одной базе создаётся узел обмена с указанием второй базы, задаётся состав передаваемых данных (с помощью фильтров по организациям, подразделениям, датам), выбирается способ транспорта — через каталог, FTP, электронную почту или прямое подключение. Затем настраивается расписание автоматического обмена.
При первой синхронизации двух уже работавших баз возникает та же проблема сопоставления: механизм предложит сопоставить объекты, и эту работу нужно выполнить аккуратно вручную по ключевым справочникам. Пропущенные на этом этапе дубли будут воспроизводиться при каждом сеансе обмена.
Для распределённых систем с иерархией (главный узел и филиалы) существует механизм распределённых информационных баз, где изменения конфигурации и данных передаются автоматически. Он подходит, когда филиалы работают на одной конфигурации и центр управляет её обновлением.
Сравнение способов объединения
Быстро и просто, но только для идентичных конфигураций и релизов; не решает проблему дублей, созданных вручную
Работает между разными конфигурациями, гибкий поиск для предотвращения дублей; требует правил и навыков их настройки
Подходит для постоянной работы двух баз, автоматизируется по расписанию; сложнее в настройке и требует первичного сопоставления
Для филиальной структуры на одной конфигурации; жёсткая иерархия, периферийная база создаётся из главного узла, а не объединяет две независимые
Сопоставление справочников и устранение дублей
Это самый трудоёмкий этап объединения. Даже при идеально работающем переносе остаются объекты, которые существовали в обеих базах независимо. Алгоритм работы с ними одинаков: определить ключ сопоставления, найти пары дублей, выбрать «главный» элемент и заменить ссылки на него во всех документах и регистрах.
Обработка «Поиск и удаление дублей» в типовых конфигурациях делает это полуавтоматически: вы указываете справочник и правила поиска (по наименованию, по реквизитам), обработка находит группы похожих элементов, вы отмечаете оригинал, и все ссылки с дублей переназначаются на него, после чего дубли помечаются на удаление. Перед запуском убедитесь, что в настройках не стоит автоматическое удаление без просмотра — группы дублей нужно просматривать глазами, особенно по контрагентам с похожими наименованиями.
Для номенклатуры будьте особенно внимательны: позиции с одинаковым наименованием могут быть реально разными товарами с разными характеристиками и единицами измерения. Объединение таких позиций исказит складские остатки и себестоимость. Проверяйте артикулы, штрихкоды и остатки по каждой сомнительной паре.
Проверка результата после объединения
После переноса и устранения дублей результат нужно проверить количественно и качественно. Количественная проверка — сверка остатков: сформируйте в обеих базах (исходной до объединения и объединённой) оборотно-сальдовые ведомости, отчёты по складским остаткам, взаиморасчётам на одну и ту же дату и сравните итоги. Суммы должны сходиться с точностью до сознательно не перенесённых данных.
Качественная проверка — выборочный просмотр документов: откройте несколько перенесённых документов разных видов, проверьте, что контрагент, договор, товары и суммы на месте, документ проводится без ошибок. Также запустите тестирование и исправление информационной базы в режиме проверки ссылочной целостности — оно выявит битые ссылки.
Отдельно проверьте нумерацию. В двух базах номера документов могли пересекаться. После объединения настройте нумерацию заново и убедитесь, что новые документы получают корректные номера и нет конфликтов уникальности.
Как проверить результат объединения
Итоги совпадают с суммой данных двух исходных баз
Расхождения по счетам — ищите неперенесённые или задвоенные документы
Один реальный объект представлен одним элементом, ссылки в документах корректны
Пары элементов с одинаковыми ИНН или артикулами — дубли не устранены
Документы перепроводятся без ошибок
Ошибки вида «Объект не найден» или незаполненные реквизиты — не перенесены связанные данные
Новые документы получают последовательные номера без конфликтов
Ошибки уникальности номера — нужно обновить нумерацию
Ограничения и когда нужен специалист
Самостоятельное объединение оправданно, когда конфигурации идентичны, объём данных умеренный, а пересечения справочников невелики и легко контролируются. В этой ситуации типовых обработок достаточно, а риски ограничиваются трудозатратами на устранение дублей.
Привлекайте специалиста по 1С, если: конфигурации разные или сильно доработаны, нужны нестандартные правила конвертации, объём данных велик (сотни тысяч документов), базы клиент-серверные с большой нагрузкой, либо объединение затрагивает закрытые периоды и сданную отчётность. В этих случаях ошибка обходится дороже, чем настройка.
Отдельное предупреждение про закрытые периоды: если в объединяемых базах есть документы периодов, по которым сдана отчётность, их перенос и перепроведение могут изменить данные этих периодов. Правильная практика — переносить историю справочно (без проведения) или вводить остатки на дату начала совместного учёта, а не переносить всю историю документами.
Что важно запомнить
Сначала определите сценарий: одинаковые конфигурации объединяются обработкой «Выгрузка и загрузка данных XML», разные — через правила конвертации, постоянная работа двух баз — через план обмена. Всегда работайте на копии, сопоставляйте справочники по ключевым реквизитам, устраняйте дубли с ручным просмотром и проверяйте результат сверкой остатков и отчётов.
Частые вопросы
Можно ли объединить базы с разными версиями одной конфигурации?
Напрямую — нет: обработка выгрузки/загрузки XML требует идентичности конфигураций. Сначала обновите более старую базу до актуального релиза, затем выполняйте перенос. Либо используйте универсальный обмен с правилами конвертации, который допускает различия в структуре.
Перенесутся ли внутренние ссылки между документами и справочниками?
Да, если выгружать связанные объекты вместе. Обработка «Выгрузка и загрузка данных XML» сохраняет ссылки по уникальным идентификаторам, но только для объектов, включённых в выгрузку. Если документ выгружен, а его контрагент — нет, после загрузки получите битую ссылку.
Что делать с пересекающимися номерами документов после объединения?
Конфликт номеров решается обновлением нумерации: перенесённые документы сохраняют свои номера, а новые документы должны продолжать нумерацию от максимального существующего. При необходимости используйте префиксы базы, чтобы различать документы по происхождению.
Как не потерять данные, если что-то пойдёт не так?
Работайте только на тестовой копии базы-приёмника, а рабочую базу не трогайте до полной проверки результата. Храните резервные копии обеих баз минимум до завершения сверки остатков. Для клиент-серверных баз делайте копии средствами СУБД — восстановление из них быстрее и надёжнее.
Можно ли объединить базы, если в них вёлся учёт по разным организациям?
Да, это самый благоприятный случай: данные организаций почти не пересекаются, дублей минимум. Достаточно перенести справочники и документы второй организации, проверить, что общие элементы (банки, валюты, виды номенклатуры) сопоставились корректно, и сверить остатки по каждой организации отдельно.
Нужно ли переносить всю историю документов или можно ввести только остатки?
Оба варианта допустимы. Перенос остатками на дату начала совместного учёта быстрее и безопаснее для закрытых периодов, но теряется детализация истории в единой базе. Полный перенос документов сохраняет историю, но требует аккуратной работы с закрытыми периодами и занимает значительно больше времени.