Как перенести данные только одной организации из многофирменной базы ЗУП 2.5 в ЗУП 3.1?

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

Переход с устаревшей конфигурации «Зарплата и управление персоналом» редакции 2.5 на современную редакцию 3.1 — процесс всегда ответственный и трудоемкий. Задача усложняется в разы, если в одной исходной базе ЗУП 2.5 ведется учет по нескольким организациям (многофирменный учет), а перенести в новую базу ЗУП 3.1 требуется только одно юридическое лицо.

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

Выясним причину: почему в стандартном переносе нет отбора по организации?

Если мы попробуем открыть стандартный помощник перехода или попытаемся использовать правила конвертации из шаблона ЗарплатаКадрыПереносДанныхИзЗУП25 через обработку «Универсальный обмен данными XML», мы столкнемся с неприятным фактом: установить отбор по конкретному юридическому лицу на уровне командной панели не получится. Выясним, почему так происходит.

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

Поскольку официального решения этой проблемы нет, нам приходится использовать обходные пути. Давайте разберем по шагам каждый из рабочих вариантов.

---

Вариант 1. Использование механизма РИБ на стороне ЗУП 2.5 (Рекомендуемый ручной способ)

Этот способ по праву считается самым чистым и безопасным с точки зрения целостности данных. Мы создаем распределенную информационную базу (РИБ) с фильтрацией по организации прямо в исходной версии ЗУП 2.5. В результате мы получаем полноценную, работоспособную базу 2.5, из которой удалены все лишние фирмы, и уже из нее штатно переносим данные в чистую ЗУП 3.1.

Рассмотрим подробнее пошаговый алгоритм выполнения этой процедуры:

  1. Подготовка и создание копии: Ни в коем случае не проводите эти манипуляции в рабочей базе! Создайте резервную копию вашей многофирменной информационной базы ЗУП 2.5 и разверните ее на локальном компьютере или тестовом сервере.
  2. Настройка плана обмена: Откройте базу-копию в режиме «1С:Предприятие». Перейдите в меню настроек и найдите планы обмена. В конфигурации ЗУП 2.5 существует предопределенный план обмена по организациям. Создайте новый узел РИБ. В настройках этого узла укажите конкретную организацию, данные которой вы хотите отделить.
  3. Создание начального образа: Запустите процесс создания начального образа для подчиненного узла. Система автоматически сформирует отдельный файл базы данных (файловый вариант 1Cv8.1CD), отфильтровав все документы, кадровые данные и записи регистров. В эту базу попадут только те данные, которые непосредственно связаны с выбранным юридическим лицом, а также общие классификаторы и справочники.
  4. Отвязка базы от главного узла (разрыв РИБ): Полученную подчиненную базу необходимо сделать полностью автономной, сняв с нее признак подчиненности РИБ. Если этого не сделать, конфигуратор заблокирует возможность внесения изменений и дальнейшей работы без синхронизации. Для этого откройте созданную подчиненную базу в режиме «1С:Предприятие» под правами администратора. Создайте внешнюю обработку и выполните следующий код для программного удаления связи:
    
    Процедура ОтвязатьБазуОтГлавногоУзла() Экспорт
        Попытка
            ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
            Сообщить("База успешно переведена в автономный режим!");
        Исключение
            Сообщить("Не удалось отключить главный узел: " + ОписаниеОшибки());
        КонецПопытки;
    КонецПроцедуры
    
    Также отключить главный узел можно через запуск утилиты командной строки конфигуратора с параметром /ResetMasterNode.
  5. Финальный перенос данных: Теперь у вас на руках есть чистая, рабочая база ЗУП 2.5, содержащая сведения только об одной вашей организации. Откройте целевую базу ЗУП 3.1, запустите встроенный «Помощник перехода» и укажите путь к нашей подготовленной автономной базе ЗУП 2.5. Перенос пройдет гладко, без лишнего мусора и ошибок.

---

Вариант 2. Предварительная очистка копии ЗУП 2.5 специальными обработками

Проанализируем другую ситуацию: у вас нет возможности или желания настраивать планы обмена РИБ. В этом случае можно пойти путем механического удаления лишних организаций из базы-копии ЗУП 2.5 перед выгрузкой.

Просто зайти в справочник «Организации», пометить ненужные фирмы на удаление и нажать кнопку «Удалить» не получится. Система выдаст тысячи предупреждений о нарушении ссылочной целостности, так как эти организации задействованы в кадровых документах, ведомостях, регистрах сведений и учетных политиках. Нам потребуются специализированные внешние обработки с профильных ресурсов (например, обработка «Удаление организации» для обычных форм).

Давайте посмотрим, какие критически важные действия должна выполнять качественная обработка для очистки базы:

Важная рекомендация: После завершения работы такой обработки обязательно запустите процедуру «Тестирование и исправление информационной базы» (ТиИС) через Конфигуратор. Установите флаги на проверку ссылочной целостности объектов и выберите пункт «Очищать объекты» при наличии «битых» или пустых ссылок. Только после успешного прохождения ТиИС можно инициировать стандартный переход на ЗУП 3.1.

---

Вариант 3. Использование механизма РИБ на стороне ЗУП 3.1

Этот способ прямо противоположен первому варианту. Некоторые специалисты практикуют его из-за нежелания работать со старыми интерфейсами ЗУП 2.5.

Суть метода заключается в следующем:

  1. Вы запускаете стандартный переход и полностью переносите все организации из ЗУП 2.5 в новую базу ЗУП 3.1.
  2. После завершения переноса в ЗУП 3.1 вы настраиваете синхронизацию данных через РИБ с отбором по одной нужной организации.
  3. Создаете начальный образ подчиненного узла РИБ. В созданную базу ЗУП 3.1 попадут данные только по этой выбранной фирме.
  4. В полученной подчиненной базе вы с помощью обработки отвязываете главный узел РИБ.

Почему мы не рекомендуем этот способ? Хотя он является абсолютно рабочим, при переносе всех данных в базу-приемник ЗУП 3.1 сначала записывается огромный объем лишней информации. Даже после создания подчиненного узла РИБ и отвязки от главного узла, в новой базе могут остаться скрытые ссылки, лишние элементы справочников физических лиц, мусорные записи в независимых регистрах сведений и общие настройки, которые не отфильтровались планом обмена. База будет неоправданно большой по размеру и потенциально подверженной ошибкам при последующих обновлениях.

---

Важные технические нюансы, о которых необходимо помнить

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

  1. Дублирование в справочнике «Физические лица»: Очень часто в многофирменных базах один и тот же человек работает по внутреннему или внешнему совместительству в разных организациях холдинга. При разделении баз и переносе только одной фирмы убедитесь, что карточки физических лиц не задвоились. В новой базе ЗУП 3.1 у сотрудника должен остаться только один уникальный элемент справочника ФизическиеЛица с корректно заполненными персональными данными (СНИЛС, ИНН, паспортные данные), иначе у вас возникнут серьезные проблемы со сдачей регламентированной отчетности по НДФЛ и страховым взносам.
  2. Межфирменные переводы сотрудников: Если в истории сотрудника числится перевод из удаляемой организации в ту, которую вы переносите (через увольнение и прием или прямым кадровым переводом), стандартный механизм переноса остатков может отработать некорректно. Система не найдет первичные документы по старой организации и может неверно сформировать данные для расчета среднего заработка (для отпусков и больничных). Обязательно проверьте документы Перенос данных (особенно регистры по расчету среднего заработка) для таких сотрудников.
  3. Версии и релизы конфигураций: Убедитесь, что ваша база ЗУП 2.5 обновлена до актуального релиза. Обратите внимание, что штатный переход напрямую поддерживается 1С только для версии ЗУП КОРП. Если вы используете версию ПРОФ, возможно, предварительно потребуется обновить ее до КОРП-версии на стороне 2.5, так как поддержка ПРОФ 2.5 давно прекращена и современные правила конвертации под нее не адаптируются.

Подводя итог, отметим, что наиболее стабильным, предсказуемым и безопасным решением является Вариант 1 (использование РИБ на стороне ЗУП 2.5). Он позволяет получить максимально чистую базу-приемник без привлечения стороннего платного софта и минимизирует риски возникновения ошибок в учете.

← На главную