Как правильно объединить две информационные базы 1С:Бухгалтерия 8.3 в одну?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

Ситуация, когда когда-то единая база 1С была разделена на две части (например, по филиалам или видам деятельности), а затем возникла необходимость их обратного слияния — одна из самых трудоемких задач для 1С-программиста. Сложность заключается не столько в самом техническом переносе данных, сколько в сохранении их целостности, уникальности ссылок и корректности ведения бухгалтерского и налогового учета. Разберем подробно, как реализовать этот процесс наиболее безопасным и эффективным способом.

Анализ исходного состояния и риски одинаковых идентификаторов

Прежде чем приступать к объединению, проанализируем критически важный момент: поскольку ваши базы когда-то были одной ИБ, объекты, созданные до разделения, имеют абсолютно одинаковые внутренние идентификаторы (GUID). Это создает двоякую ситуацию:

  1. Старые данные: Если вы перенесете документ, созданный до разделения, из базы Б в базу А обычным способом «по ссылке», он просто перезапишет аналогичный документ в базе А. Это может быть полезно, если данные идентичны, но опасно, если в одной из баз документ правили.
  2. Новые данные: Объекты, созданные после разделения, имеют разные GUID. Но они могут иметь одинаковые коды (для справочников) или номера (для документов). Без использования префиксов вы получите «кашу» в нумерации.

Этап 1: Предварительная подготовка и нормализация данных

Рассмотрим шаги, которые необходимо выполнить в обеих базах еще до начала миграции. Помните, что чистота данных «на берегу» сэкономит недели работы после слияния.

Проанализируем состояние справочников. Основная проблема — дубли контрагентов и номенклатуры. Один и тот же банк может называться «АТФ Банк» и «АТФБанк». Выполним следующие действия:

  1. Запустим стандартную обработку «Поиск и удаление дублей» в каждой базе отдельно.
  2. Выделим ключевые поля поиска. Для Контрагентов это ИНН + КПП. Для Номенклатуры — Артикул или Наименование.
  3. В базе-источнике (которую будем вливать) программно добавим префиксы ко всем кодам справочников и номерам документов. Это предотвратит коллизии нумерации. Используем для этого простую обработку:

Для Каждого МетаданноеДокумента Из Метаданные.Документы Цикл
    Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Документ." + МетаданноеДокумента.Имя);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект();
        Объект.Номер = "Б" + Объект.Номер; // Добавляем префикс базы Б
        Объект.Записать(РежимЗаписиДокумента.Запись);
    КонецЦикла;
КонецЦикла;

Этап 2: Выбор инструмента переноса — Конвертация данных 2.1

Разберем, почему «Универсальный обмен данными в формате XML» через GUID (внутренний идентификатор) — не лучший выбор в данном случае. При использовании GUID вы теряете гибкость. Если в базе А и базе Б создали одного и того же контрагента «Газпром» после разделения, у них будут разные GUID, и вы получите дубль в любом случае.

Правильный подход — использование конфигурации «1С:Конвертация данных 2.1». Настроим правила обмена (ПКО) следующим образом:

Этап 3: Технический процесс слияния

Рассмотрим последовательность действий при самом переносе. Процесс лучше разбить на порции:

  1. Перенос справочников: Сначала загружаем только справочную информацию. После загрузки снова запускаем обработку поиска дублей в целевой базе. Это позволит «склеить» те элементы, которые не удалось сопоставить правилами конвертации (например, из-за опечаток в ИНН).
  2. Перенос остатков: Если вы планируете объединять базы на начало года, лучше перенести только справочники и остатки на 31.12.20XX с помощью документов ВводОстатков.
  3. Перенос документов: Если нужно перенести документы за текущий период (например, квартал), переносим их по типам. Сначала банковские и кассовые документы, затем поступления и реализации.

Этап 4: Проверка целостности и учетных показателей

Выясним, как проверить, что слияние прошло успешно. Самый надежный способ — сверка Оборотно-сальдовой ведомости (ОСВ).

Проанализируем ситуацию: сформируем ОСВ в базе А и базе Б на одну и ту же дату. Сложим показатели в Excel. После слияния ОСВ в объединенной базе должна в идеале до копейки совпадать с вашей суммой. Если есть расхождения, проверим следующие моменты:

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

Даже при идеальных правилах Конвертации данных, дубли останутся. Рассмотрим, как эффективно их вычистить:

Воспользуйтесь обработкой «Поиск и замена значений» (или встроенным механизмом БП 3.0). Она позволяет не просто удалить дубль, а заменить все ссылки на него в документах прошлых периодов. Это критически важно для сохранения истории учета. Бухгалтерам придется вручную пройтись по списку «подозрительных» контрагентов, где ИНН совпадает, а КПП или наименование отличается.

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

Резюме решения

Проанализировав все способы, можно сделать вывод: наиболее «правильный» путь — это предварительная простановка префиксов номеров в базе-источнике, создание детальных правил в Конвертации данных 2.1 с приоритетом поиска по ИНН/КПП для контрагентов и последующая ручная нормализация данных бухгалтерией. Только такой подход гарантирует, что ваша отчетность не «поплывет» после объединения.

← На главную