Как объединить две базы 1С:УПП с разными релизами конфигурации

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

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

Выясним причины сложностей при переносе данных между разными релизами

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

  1. Расхождения в структуре метаданных: В более свежем релизе могут измениться реквизиты, типы данных или табличные части документов. При выгрузке и загрузке через универсальные обработки XML это приводит к ошибкам формата или потерям данных.
  2. Изменение алгоритмов проведения: Если в базе-приемнике перепровести загруженные документы по правилам другого релиза (или с измененной учетной политикой, например, при переходе на РАУЗ), суммы и движение партий полностью поменяются.
  3. Появление дубликатов элементов справочников: Если объекты справочников (Контрагенты, Номенклатура, Договоры контрагентов) создавались в обеих базах независимо, они обладают разными уникальными идентификаторами (GUID), что гарантированно приведет к появлению дублей.

Способ 1. Выравнивание релизов информационных баз (Рекомендуемый подход)

Самым безопасным и технически чистым способом является приведение обеих баз к абсолютно одинаковой структуре метаданных перед переносом.

Рассмотрим по шагам данный алгоритм:

  1. Создание резервных копий: Обязательно сделаем полные копии (файлы .dt или бэкапы СУБД) обеих информационных баз.
  2. Выравнивание релизов:
    • Вариант А: Обновим конфигурацию базы за 1-е полугодие (база-приемник) до точного релиза базы за 3-й квартал.
    • Вариант Б: Загрузим конфигурационный файл (.cf) старого релиза в копию базы 3-го квартала, если состав реквизитов в новых документах не подвергался критическим изменениям.
  3. Перенос данных: После того как структуры метаданных станут идентичными, выгрузим документы за 3-й квартал из базы-источника в базу-приемник с помощью стандартной обработки Выгрузка и загрузка данных XML.

Способ 2. Использование конфигурации «1С:Конвертация данных 2.1»

Если обновление базы-приемника строго запрещено условиями заказчика или наличием нетиповых доработок, наилучшим решением станет разработка правил обмена в конфигурации 1С:Конвертация данных 2.1 (КД 2.1).

Проанализируем преимущества данного подхода:

  1. Сопоставление по бизнес-ключам: В правилах конвертации объектов (ПКО) задается поиск справочников не по внутреннему GUID, а по колонкам Код, ИНН/КПП или Артикул. Это предотвращает дублирование справочников.
  2. Игнорирование отсутствующих реквизитов: Поля, появившиеся в новом релизе, можно просто пропустить или заполнить значениями по умолчанию при загрузке в старый релиз.
  3. Гибкая настройка переноса: Возможность программно отключить движение или перенести только требуемые реквизиты.

Особенности переноса документов и движений регистров

При переносе данных в 1С:УПП всегда встает выбор: переносить сами документы или только их движения по регистрам.

Разберем плюсы и минусы каждого подхода:

  1. Перенос документов с повторным проведением: Переносятся сами документы, после чего выполняется их перепроведение. Это необходимо, если с документами планируют работать дальше (печатать формы, вводить на их основании другие документы). Важно: при перепроведении в 1С:УПП могут "поплыть" суммы себестоимости, НДС или взаиморасчетов, если в базах различаются настройки учетной политики или граница последовательности.
  2. Перенос документов вместе с движениями: Обработки переносят документ и жестко записывают сформированные им наборы записей регистров. Документы остаются проведёнными, но не требуют перепропроведения. Однако при случайном перепроведении пользователем движения пересчитаются по правилам текущей базы.
  3. Перенос движений через «Корректировку записей регистров»: Если первичные печатные формы в объединяемой базе не нужны, движения регистров накопления, сведений и бухгалтерии (Хозрасчетный) переносят в специальный документ Корректировка записей регистров. Это гарантирует 100% сохранность всех сумм и остатков.

Оптимизация выгрузки через обработку «Выгрузка и загрузка данных XML»

Если выбор пал на универсальную обработку выгрузки в XML, при работе с крупными базами вроде 1С:УПП часто возникает проблема зависания и долгой обработки данных.

Рассмотрим, как правильно настроить состав выгружаемых объектов:

  1. Снимите флаги со служебных и информационных регистров: Никогда не выгружайте через XML крупные классификаторы. В частности, регистр сведений АдресныйКлассификатор (или данные ФИАС/КЛАДР) может выгружаться со скоростью по несколько процентов в час и вызвать ошибку нехватки памяти (Out of memory). Классификаторы проще загрузить штатным путем из файлов поставки 1С.
  2. Настройка выгрузки регистров: Если у документа установлен флаг Выгружать движения документов, платформа автоматически выгрузит наборы записей для регистров накопления, бухгалтерии и расчета, где данный документ выступает регистратором. Ставить отдельные галочки на сами эти регистры в дереве объектов не требуется.
  3. Независимые регистры сведений: Регистры сведений, не имеющие регистратора (например, ЦеныНоменклатуры, КурсыВалют), выгружаются отдельно с явной установкой флагов.
  4. Порционная выгрузка: Разбивайте период выгрузки по месяцам. Это снижает размер итогового XML-файла и уменьшает нагрузку на оперативную память сервера.

Порядок действий после завершения переноса

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

  1. Запустим обработку Поиск и замена дублей для выявления и объединения случайно продублированных контрагентов или элементов номенклатуры.
  2. Проверим технологический анализ учета и запустим обработку Перепроведение документов (если переносились документы с необходимостью перерасчета).
  3. Сверим оборотно-сальдовую ведомость (ОСВ) и отчеты по ведомостям партий/затрат до и после слияния.
← На главную