Как объединить несколько информационных баз 1С в одну
Содержание
Кнопки «слить две базы в одну» в 1С нет. Объединение — это перенос данных
из одной информационной базы в другую: справочники, настройки, остатки, при необходимости — документы. Для типовых конфигураций одной редакции (две базы Бухгалтерии 3.0) работает штатная синхронизация. Для разных конфигураций или нестандартного учёта берут Конвертацию данных с правилами обмена.
Главный риск любого объединения — дубли. У каждого элемента справочника свой внутренний идентификатор (GUID), и в разных базах один и тот же контрагент или товар имеют разные GUID. Если переносить «в лоб», в приёмнике появятся два «ООО Ромашка» и две одинаковые номенклатуры. Поэтому перенос всегда идёт с сопоставлением по реквизитам: ИНН, артикулу, наименованию.
Ниже — как подготовиться, выбрать способ под свою ситуацию, перенести данные и проверить, что в объединённой базе всё сошлось.
Подготовка к объединению: аудит и резервные копии
Сначала решите, что именно переносите. Базы редко объединяют целиком «со всей историей». Чаще переносят справочники и входящие остатки на дату, а старые документы оставляют в исходной базе для архива. Это быстрее, даёт меньше дублей и не тянет в новую базу накопленные ошибки.
Определите базу-приёмник (куда льём) и базу-источник (откуда берём). Приёмником обычно делают более полную и актуальную базу.
Перед любым переносом снимите резервные копии обеих баз. Для файловой базы это выгрузка в .dt через Конфигуратор → Администрирование → Выгрузить информационную базу. Для клиент-серверной — средствами СУБД. Пока не убедитесь, что результат верен, исходные базы не удаляйте.
Отдельно сверьте релизы. Штатная синхронизация двух типовых баз работает корректно, только когда версии конфигураций близки. Если одна база на старом релизе — сначала обновите её, иначе правила обмена не подойдут.
Заведите таблицу соответствия настроек: план счетов, учётная политика, нумерация документов. После объединения эти вещи вручную приводят к одному виду, автоматически они не «сольются».
Выбор способа объединения под вашу ситуацию
Способ зависит от того, что за базы и какой объём данных переносится. Не выбирайте инструмент «по привычке» — от этого зависит, получите вы чистую базу или свалку дублей.
Отдельный вопрос — переносить ли документы. Если в источнике закрытые прошлые периоды, разумнее перенести справочники и ввести входящие остатки документами «Ввод остатков », а не грузить тысячи старых документов. Весь учёт прошлых лет при этом остаётся доступен в архивной базе.
Стандартная синхронизация типовых баз
Для двух баз Бухгалтерии 3.0 одной редакции в типовой конфигурации есть встроенный обмен. Он настраивается в разделе Администрирование → Синхронизация данных.
Схема такая:
- В обеих базах включите синхронизацию данных и задайте префиксы. Префикс — это буквы в начале номеров документов (например,
ЦБиФЛ), по ним потом видно, из какой базы пришёл документ. - В базе-приёмнике создайте настройку синхронизации, выбрав сценарий обмена между двумя
Бухгалтериями. - Укажите способ связи: прямое подключение к базе-источнику (локально или по сети) либо обмен через файл.
- Запустите первую синхронизацию. Программа предложит сопоставить объекты: контрагентов, номенклатуру, организации. На этом шаге одинаковые элементы связываются вручную или автоматически по реквизитам.
Сопоставление — ключевой шаг. Если его пропустить, справочники задвоятся. Не торопитесь: сверьте, что совпадающие контрагенты и товары связаны, и только потом подтверждайте перенос.
Между разными типовыми конфигурациями (Управление торговлей → Бухгалтерия предприятия) работает аналогичный типовой обмен со своими правилами: из УТ в БП переносятся реализации, поступления, оплаты и соответствующие справочники. Правила уже встроены, отдельно их писать не нужно.
Синхронизация в типовых базах рассчитана на постоянный обмен, а не на разовое слияние. Для одноразового объединения выполните один полный обмен, сверьте результат и затем отключите настройку, чтобы базы не продолжали обмениваться.
Конвертация данных и прямое подключение к базе
Когда базы доработаны или это разные конфигурации без готового обмена, применяют Конвертацию данных — отдельный инструмент на базе библиотеки стандартных подсистем. В нём описывают правила: какой объект источника в какой объект приёмника превращается и как ищутся совпадения.
Работа строится из двух частей:
- Правила обмена — файл, где заданы соответствия объектов и реквизитов, а также условия поиска (например, контрагент ищется по ИНН и КПП).
- Обработки выгрузки и загрузки — они читают данные из источника по правилам и записывают в приёмник.
Чтобы обработка читала данные из другой базы напрямую, используют COM-соединение. Внешнее соединение создаётся объектом V83.COMConnector:
Коннектор = Новый COMОбъект("V83.COMConnector");
// Файловая база:
Соединение = Коннектор.Connect("File=""D:\Base_Source"";");
// Клиент-серверная база:
// Соединение = Коннектор.Connect("Srvr=""server"";Ref=""base_source"";Usr=""Обмен"";Pwd=""...""; ");
Выборка = Соединение.Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
// обработка каждого элемента источника
КонецЦикла;
Для работы V83.COMConnector его регистрируют в системе (regsvr32 comcntr.dll из каталога платформы) и, как правило, запускают обработку от имени администратора. Разрядность коннектора (x86/x64) должна совпадать с разрядностью клиента 1С.
Если прямое соединение настроить нельзя, выгружают данные источника в файл .xml, а затем загружают в приёмник — обмен идёт через промежуточный файл по тем же правилам.
Перенос номенклатуры и других справочников
Справочник номенклатуры — самый частый кандидат на отдельный перенос: товары заводят один раз, а используют в обеих базах. Разберём на нём логику выгрузки.
Самый доступный способ без программирования — обработка «Универсальный обмен данными в формате XML» (ВыгрузкаЗагрузкаДанныхXML). Она входит в типовые конфигурации и позволяет выгрузить выбранный справочник в файл, а затем загрузить его в другую базу.
Порядок для номенклатуры:
- В базе-источнике откройте обработку универсального обмена и выберите тип выгрузки — отдельные объекты, а не весь план обмена.
- Отметьте справочник
Номенклатура. Вместе с ним отметьте зависимые справочники: единицы измерения, виды номенклатуры, ставки НДС — без них элементы загрузятся с пустыми реквизитами. - Выгрузите в файл
.xml. - В базе-приёмнике той же обработкой загрузите файл. Включите поиск по реквизиту (артикул или наименование), иначе товары создадутся заново поверх существующих.
Универсальный обмен в формате XML переносит объекты «как есть» и не всегда корректно связывает их с уже имеющимися. Для чистого результата на больших справочниках надёжнее Конвертация данных с явными правилами поиска.
Та же логика работает для контрагентов (поиск по ИНН + КПП), физлиц (ИНН или ФИО + дата рождения), договоров (по владельцу и номеру). Чем строже реквизит поиска, тем меньше дублей.
Объединяем две базы Бухгалтерии 3.0 по шагам
Соберём всё вместе на типовом сценарии: сливаем вторую Бухгалтерию 3.0 (филиал) в основную базу головной организации.
- Копии. Выгрузите обе базы в
.dt. Работайте на копиях, пока не проверите результат. - Релизы. Убедитесь, что номер релиза конфигурации у обеих баз одинаковый. Если нет — обновите отстающую.
- Префиксы. В разделе
Администрирование → Синхронизация данныхзадайте разные префиксы номеров в каждой базе. - Настройка обмена. В базе-приёмнике создайте синхронизацию по сценарию «Бухгалтерия — Бухгалтерия», укажите путь к базе-источнику.
- Организации. Решите, переносите вы отдельное юрлицо или сливаете учёт в одну организацию. Если организация остаётся отдельной — на этапе сопоставления свяжите её как новую.
- Сопоставление справочников. Свяжите совпадающих контрагентов, номенклатуру, статьи затрат. Это самый долгий этап, не торопитесь.
- Перенос. Запустите обмен. Перенесутся справочники и, в зависимости от настройки, документы или остатки.
- Остатки. Если документы не переносили, введите входящие остатки по счетам документом ввода начальных остатков на дату объединения.
- Закрытие месяца . Выполните закрытие периода в приёмнике и проверьте, что ошибок нет.
Если базы большие
На базах в десятки гигабайт полный перенос документов идёт часами и грузит сервер. Несколько приёмов:
- Переносите не всю историю, а справочники и остатки на дату — объём данных падает в разы.
- Запускайте обмен в нерабочее время: активная синхронизация замедляет работу пользователей.
- На клиент-серверной базе заранее проверьте свободное место под рост файла СУБД и журнал регистрации.
- Разбейте перенос на части (сначала справочники, отдельным проходом — документы по периодам), так проще откатиться при ошибке.
Останавливать сеансы пользователей и перезапускать службу 1С во время рабочего дня нельзя — оборвутся незавершённые операции. Объединение планируйте на выходные или ночь.
Проверка результата и типичные ошибки
После переноса базу тестируют до того, как в ней начнут работать. Что сверить:
- Количество элементов справочников. Сравните число контрагентов и номенклатуры в источнике и приёмнике с поправкой на уже существовавшие. Резкий скачок — признак дублей.
- Оборотно-сальдовая ведомость. Остатки на дату объединения в приёмнике должны совпасть с суммой остатков обеих баз (или с остатками источника, если переносили один филиал).
- Проведение документов. Выборочно перепроведите перенесённые документы и убедитесь, что движения формируются.
- Нумерация. Проверьте, что префиксы развели номера и нет конфликтов нумерации.
Теперь про грабли, на которые наступают чаще всего:
- Пропустили сопоставление — в базе два одинаковых контрагента, остатки «размазались» по дублям. Лечится объединением карточек (поиск и удаление дублей), но проще не допускать.
- Не выгрузили зависимые справочники — номенклатура загрузилась без единиц измерения и ставок НДС, документы не проводятся.
- Разные релизы конфигураций — обмен падает с ошибкой несоответствия правил. Сначала выравнивают версии.
- Переносили «всё и сразу» — вместе с данными в новую базу приехали старые ошибки учёта. Чистят справочники и остатки до переноса, а не после.
- Удалили источник раньше времени — результат оказался неполным, а откатываться некуда. Исходные базы держат, пока приёмник не отработает хотя бы один закрытый период.
Когда базы объединять не стоит
Объединение оправдано не всегда. Иногда дешевле и безопаснее оставить базы раздельными и настроить обмен между ними.
Не стоит объединять, если:
- Нужна только сводная отчётность. Для консолидированного отчёта по нескольким организациям объединять базы не обязательно — хватит настроенной синхронизации или отдельного инструмента консолидации.
- Базы на разных конфигурациях с разной логикой учёта. Склеивание превратится в постоянную правку расхождений. Проще настроить регулярный обмен.
- Требуется территориальная автономия. Если филиалы работают в своих базах и обмениваются по расписанию, распределённая схema (РИБ) закрывает задачу без слияния.
- В источнике много накопленных ошибок. Перенос не лечит учёт — он тащит проблемы в новую базу.
Прежде чем объединять, честно ответьте, зачем. Если цель — «видеть всё в одном окне», её часто решает обмен данными, а не необратимое слияние.
Частые вопросы
Можно ли объединить базы разных конфигураций — например, УТ и Бухгалтерию?
Управления торговлей в Бухгалтерию переносятся документы и справочники по встроенным правилам. Если нужна именно одна база, выбирают конфигурацию-приёмник и переносят в неё данные через Конвертацию данных.