Слияние двух компаний, ведущих учет в разных информационных базах конфигурации «1С:Управление производственным предприятием» (УПП), — сложная техническая и методологическая задача. Обычно такую процедуру планируют на конец отчетного года, чтобы начать новый финансовый год в единой базе. В данной статье мы подробно разберем, как решить эту задачу, рассмотрим три различных метода слияния, а также проанализируем критически важные нюансы, такие как переход с партионного учета на РАУЗ при переносе остатков.
Перед тем как приступать к переносу, необходимо выяснить, по каким правилам ведется учет затрат и материальных ценностей в обеих базах. Очень часто возникает ситуация, когда в базе-источнике используется классический партионный учет, а в базе-приемнике — РАУЗ (Режим учета затрат).
Давайте проанализируем, почему нельзя переносить остатки «напрямую» из партионной базы в базу с РАУЗ:
ПартииТоваровНаСкладах (бухгалтерский, налоговый и управленческий учет).УчетЗатратРег с использованием сложной системы аналитик (ключей аналитики учета затрат, вида учета и распределения затрат).Если мы попытаемся перенести остатки документов свертки напрямую, стандартные правила обмена просто не смогут корректно сопоставить и заполнить аналитики РАУЗ в базе-приемнике. Поэтому мы рекомендуем придерживаться следующего порядка действий:
ВводНачальныхОстатковПоУчетуЗатрат, которые без труда перенесутся в приемник, так как структуры регистров в обеих базах станут идентичными.Ниже приведем пример кода, который часто используется разработчиками при необходимости программно проверить режим учета затрат в информационной базе УПП:
РежимУчетаЗатрат = Константы.УчетЗатратРежимИспользования.Получить();
Если РежимУчетаЗатрат = Перечисления.РежимыУчетаЗатрат.ПартионныйУчет Тогда
Сообщить("Внимание! В базе используется партионный учет. Перед слиянием рекомендуется осуществить переход на РАУЗ.");
ИначеЕсли РежимУчетаЗатрат = Перечисления.РежимыУчетаЗатрат.Свободный Тогда
Сообщить("В базе используется РАУЗ (Режим учета затрат). Структура готова к интеграции.");
КонецЕсли;
---
Это один из самых надежных и простых в реализации методов. Мы берем базу-источник, «отсекаем» лишнюю историю документов за прошлые годы и переносим только итоговые остатки.
Рассмотрим этот процесс по шагам:
СверткаИнформационнойБазы (ее можно найти на диске ИТС или в каталоге шаблонов установленной конфигурации). Задаем дату свертки (например, 31.12.2023 23:59:59).ВыгрузкаЗагрузкаДанныхXML.epf, выгружаем из свернутой базы только документы ввода остатков и справочники.Важное примечание: Данный метод идеально работает только в том случае, если конфигурации источника и приемника полностью идентичны (совпадают релизы, отсутствуют уникальные нетиповые доработки в структуре метаданных).
---
Малоизвестный, но крайне эффективный лайфхак для опытных разработчиков 1С. Метод позволяет объединить базы без использования сторонних обработок выгрузки, используя внутренний механизм платформы для синхронизации. При необходимости выделения части данных можно воспользоваться примером настройки плана обмена РИБ по конкретной организации.
Выясним, как настроить такой обмен:
ПланыОбмена.УстановитьГлавныйУзел(ПланыОбмена.Полный.НайтиПоКоду("ЦН"));
Сообщить("База успешно переведена в режим подчиненного узла РИБ.");
После этого выполняем первый сеанс обмена. Данные начнут мигрировать между базами. Преимущество данного метода заключается в том, что сохраняется возможность параллельной работы пользователей в обеих базах в переходный период, а данные можно переносить выборочно, регистрируя к обмену только необходимые объекты.
---
В конфигурации 1С:УПП уже заложен мощный встроенный функционал для обмена данными между одноименными конфигурациями. Давайте разберем, где его найти и как применить для нашей задачи. Для этой задачи также можно использовать готовые правила конвертации для переноса документов и справочников между базами.
Посмотрим на структуру конфигурации УПП. В ветке метаданных найдем:
ОбменУППУПП.ПравилаОбмена_УПП_УПП.Алгоритм работы с правилами выглядит следующим образом:
ПравилаОбмена_УПП_УПП в XML-файл.ВводОстатков....GUID). Поскольку базы велись независимо, GUID у одинаковых контрагентов или номенклатуры будут разными.В правилах обмена (ПКО) обязательно переопределяем поля поиска:
Контрагенты: ищем по полям ИНН + КПП.Номенклатура: ищем по полям Артикул или Код.ФизическиеЛица: настраиваем поиск по СНИЛС или комбинации ФИО + Дата рождения.Пример кода обработки "ПередОбработкой" в правилах конвертации свойств для поиска контрагентов по ИНН/КПП:
// В правилах конвертации в Конвертации Данных 2.1
Если Не ЗначениеЗаполнено(Источник.ИНН) Тогда
// Если ИНН не заполнен, сопоставляем по наименованию
СтрокаПоиска = Источник.Наименование;
КонецЕсли;
---
При выполнении слияния баз УПП особое внимание следует уделить следующим сложным участкам учета:
1. Учет НДС
Перенос остатков по НДС требует ювелирной точности. Недостаточно просто перенести остатки по регистру НДС предъявленный или счетам 19 и 76.АВ. Все данные должны быть детализированы в разрезе первичных документов (счетов-фактур), иначе при последующей сдаче отчетности в объединенной базе не закроется книга покупок/продаж. Тщательно сверяйте аналитику расчетов по НДС до и после переноса.
2. Зарплата и кадры (ЗУП-блок в УПП)
Свертка базы на конец года удаляет историю начислений сотрудников. Однако для расчета среднего заработка (для отпусков и больничных) программе требуются данные за предыдущие 12 и 24 месяца соответственно. Если просто перенести остатки по взаиморасчетам (счет 70), расчетчики в новой базе не смогут начислять отпускные.
Решение: Либо переносить документы кадрового учета и расчета зарплаты за последние 1-2 года в полном объеме, либо воспользоваться специальными правилами переноса данных для расчета среднего заработка, которые заполнят соответствующие регистры расчета и накопления без переноса самих документов-регистраторов.
3. Основные средства (ОС)
При переносе остатков по основным средствам убедитесь, что переносятся не только балансовые остатки по счетам 01 и 02, но и все сопутствующие сведения в регистрах сведений (таких как ПараметрыАмортизацииОСБухгалтерскийУчет, СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет, СостоянияОСОрганизаций). Без этих регистров объединенная база «забудет», как и куда начислять амортизацию со следующего месяца.
Мы проанализировали основные сценарии слияния баз 1С:УПП. Наиболее сбалансированным решением по трудозатратам и надежности является предварительный перевод базы-источника на РАУЗ, последующая ее свертка типовыми средствами и перенос готовых документов остатков с использованием Конвертации данных 2.1 для тонкой настройки синхронизации справочников. Подобный подход убережет вас от появления дублей в НСИ и гарантирует сохранение корректного учета затрат в объединенной компании.