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

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

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

Способ 1: Использование универсального формата обмена EnterpriseData

Прежде чем приступать к написанию собственных правил в сложных инструментах, проанализируем возможности современного встроенного механизма. Формат EnterpriseData — это современный стандарт обмена, который ориентирован не на внутреннюю структуру таблиц базы данных, а на бизнес-логику объектов.

Разберем по шагам, как это работает в типовой конфигурации:

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Выберем пункт Настройки синхронизации данных и нажмем кнопку Новая синхронизация.
  3. В списке выберем Другая конфигурация и укажем формат Синхронизация через универсальный формат.
  4. Для разового переноса нам не нужно настраивать прямое подключение. Выберем вариант обмена через файл (каталог).
  5. В базе-источнике настроим фильтры: укажем конкретные виды документов (например, Поступление (акты, накладные, УПД) и Зарплата) и период выгрузки.
  6. После выгрузки файла в базе-приемнике запустим аналогичный процесс загрузки.

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

Способ 2: Конвертация данных 2.0 (КД 2.0) — профессиональный подход

Если базы значительно отличаются по наполнению справочников или типовой механизм EnterpriseData не справляется с сопоставлением, перейдем к использованию инструмента Конвертация данных 2.0. Это классический способ настройки правил обмена (xml), который позволяет гибко управлять поиском объектов.

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

Разберем по шагам настройку правил поиска в КД 2.0:

  1. Загрузим структуру метаданных обеих баз в конфигурацию Конвертация данных.
  2. Создадим правила обмена (ПКО) для нужных документов и справочников.
  3. Для справочника Контрагенты в настройках правила поиска (ПКО) снимем галочку Искать по внутреннему идентификатору.
  4. Установим галочки поиска по полям ИНН и КПП. Для физических лиц (сотрудников) настроим поиск по СНИЛС или ФИО + Дата рождения.
  5. Для справочника Номенклатура настроим поиск по Артикул или Наименование.

Пример логики поиска в обработчике ПриЗагрузке (если требуется сложная проверка):


// Пример алгоритма поиска контрагента по ИНН, если стандартный поиск не подошел
Если СвойстваПоиска["ЭтоГруппа"] = Ложь Тогда
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.Контрагенты ГДЕ ИНН = &ИНН";
    Запрос.УстановитьПараметр("ИНН", СвойстваПоиска["ИНН"]);
    // Выполняем поиск и возвращаем ссылку
КонецЕсли;

Способ 3: Обработка Выгрузка и загрузка данных XML

Рассмотрим вариант использования внешней обработки ВыгрузкаЗагрузкаДанныхXML.epf. Этот метод самый быстрый в плане запуска, но самый опасный в плане возникновения дублей. Его стоит использовать только в том случае, если вы точно знаете, что НСИ (нормативно-справочная информация) в базах абсолютно идентична или справочники в целевой базе практически пусты.

Важно помнить: при загрузке данных через эту обработку объекты будут созданы с теми же GUID, что и в источнике. Если вы планируете в дальнейшем настраивать регулярную синхронизацию, это может быть полезно. Однако, если в базе-приемнике уже есть Контрагент с тем же ИНН, но другим GUID, вы получите дубль.

Стратегия борьбы с дублями после переноса

Выясним причину, почему даже при идеальных правилах могут появиться дубли. Человеческий фактор (разное написание названий, лишние пробелы) часто обходит автоматические фильтры. Рассмотрим, как привести базу в порядок после слияния:

Используем штатную обработку Поиск и удаление дублей (Администрирование — Обслуживание). Проанализируем важный нюанс: при объединении двух карточек контрагентов 1С переносит все ссылки из документов на "правильную" карточку. Но что происходит с реквизитами?

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

Особенности учета НДС и движений документов

Поскольку целью объединения часто является сдача отчетности (например, НДС), простого переноса документов Поступление и СчетФактураПолученный недостаточно. Проанализируем ситуацию с регистрами накопления:

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

Итоговые рекомендации

Подводя итог, выберем наиболее сбалансированный путь для разового переноса:

Разовый перенос БП-БП — это всегда сочетание автоматизированной выгрузки и последующей ручной проверки данных. Посмотрите на оборотно-сальдовую ведомость до и после слияния, чтобы убедиться, что сальдо по счетам 60, 62 и 10 не "раздвоилось" из-за дублей справочников.

← На главную