Переход с устаревшей конфигурации «Зарплата и управление персоналом», редакция 2.5 (ЗУП 2.5) на современную редакцию 3.1 (ЗУП 3.1) — процесс технически сложный и требующий строгого соблюдения методологии. Часто на практике возникает ситуация: пользователи выполнили первоначальный перенос данных (например, на 01.01.2020), начали вести кадровый учет или даже считать зарплату в новой базе ЗУП 3.1, но по каким-то причинам расчет за первый квартал параллельно продолжался в старой базе ЗУП 2.5. Теперь перед ИТ-специалистом встает задача: как «догрузить» документы начисления зарплаты за прошедший период в уже эксплуатируемую базу?
В этой статье мы подробно проанализируем архитектурные сложности этой задачи, разберем, почему стандартные механизмы не всегда подходят для «дозагрузки» документов, и рассмотрим рабочие сценарии решения этой проблемы.
Давайте разберем по шагам, почему простая выгрузка документов через стандартную обработку Универсальный обмен данными в формате xml приводит к критическим ошибкам в ЗУП 3.1. Дело в принципиальных различиях между конфигурациями:
НачислениеЗарплаты из старой базы, он не найдет соответствующих связей в новой конфигурации.НачислениеЗарплаты, а в технический документ ПереносДанных. Этот документ напрямую делает движения по необходимым регистрам расчета и накопления (учет доходов по НДФЛ, взносам, среднему заработку).ФизическиеЛица и Сотрудники. Это приведет к полному краху отчетности по НДФЛ и РСВ.Выясним, какие варианты решения существуют в этой ситуации.
---
Если в работающей базе ЗУП 3.1 за прошедший период (например, первый квартал) было введено немного уникальных данных, самым безопасным решением будет полный отказ от идеи «догрузки» документов. Рассмотрим этот алгоритм подробнее:
Что это даст? Программа автоматически перенесет актуальные кадровые данные на 1 апреля, остатки взаиморасчетов, а расчетные данные за первый квартал 2020 года (и за предшествующие два года) запишет в документы ПереносДанных. Это гарантирует корректный расчет среднего заработка для отпусков и больничных в будущем и избавит вас от ручной стыковки документов.
---
Если перенос на новую дату невозможен (например, в ЗУП 3.1 уже ведется слишком много оперативной работы), вам придется переносить документы за квартал с использованием правил конвертации данных. Готовых и идеально работающих правил под текущие релизы в открытом доступе нет, поэтому работу придется выполнять в программе «Конвертация данных 2.0».
Проанализируем ключевые настройки, которые необходимо выполнить программисту при создании таких правил:
ФизическиеЛица должны сопоставляться строго по уникальным идентификаторам, если базы имеют общую историю. Если данные вносились вручную, необходимо настроить сопоставление по полям СтраховойНомерПФР (СНИЛС) или комбинации ИНН + ФИО.
// В обработчике "ПриЗагрузке" для правил документов
РежимЗаписи = "Записать";
Рассмотрим пример кода, который часто применяется в обработчиках КД 2.0 перед загрузкой объектов для поиска физических лиц по СНИЛС, чтобы избежать появления дублей:
// Обработчик "ПоляПоиска" для ПКО ФизическиеЛица
Если СвойстваПоиска.Получить("СтраховойНомерПФР") <> Неопределено Тогда
СНИЛС = СокрЛП(СвойстваПоиска["СтраховойНомерПФР"]);
СНИЛС = СтрЗаменить(СНИЛС, "-", "");
СНИЛС = СтрЗаменить(СНИЛС, " ", "");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛица.Ссылка КАК Ссылка
|ИЗ
| Справочник.ФизическиеЛица КАК ФизическиеЛица
|ГДЕ
| ПОДСТРОКА(ФизическиеЛица.СтраховойНомерПФР, 1, 14) ПОДОБНО &СНИЛС";
Запрос.УстановитьПараметр("СНИЛС", СНИЛС);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
СсылкаНаОбъект = Выборка.Ссылка;
ПрекратитьПоиск = Истина;
КонецЕсли;
КонецЕсли;
---
Если вы хотите использовать стандартные правила обмена, но перенести расчетные данные за период без ручного ввода, можно воспользоваться выгрузкой в документ ПереносДанных. При этом начисления перенесутся непосредственно в регистры накопления и расчета.
Разберем по шагам, как зафиксировать данные за 1 квартал через этот механизм:
НачислениеЗарплаты трансформируются в документы ПереносДанных с префиксами регистров (например, ЗП_СЭ — сведения о заработке для расчета среднего, НДФЛ — учет доходов для налога).Универсальный обмен данными в формате xml.Важное предостережение: после загрузки таких документов проведение кадровых приказов в ЗУП 3.1 «задним числом» может привести к конфликту данных. Поэтому данный метод требует полной фиксации (блокировки) прошлых периодов для кадровиков.
---
Давайте проанализируем ситуацию с экономической точки зрения. Если в вашей организации работает до 50–70 сотрудников, написание, тестирование и отладка нетиповых правил обмена в «Конвертации данных 2.0» займет у программиста существенно больше времени (и обойдется дороже), чем ручной ввод.
В этом случае наиболее надежным методом будет ручное воссоздание кадровых документов за 1 квартал в ЗУП 3.1, а финансовые показатели (суммы начислений, удержаний и исчисленного НДФЛ) можно внести сводно за каждый месяц с помощью документов ПереносДанных по соответствующим регистрам:
ДанныеОВремениДляРасчетаСреднегоОбщий — для учета отработанных дней при расчете среднего заработка.СведенияОДоходахДляРасчетаСтраховыхВзносов — для корректного расчета базы страховых взносов нарастающим итогом.УчетДоходовДляИсчисленияНДФЛ — для фиксации налоговой базы по сотрудникам.Такой подход гарантирует 100% точность учета без риска занести в новую базу системный «мусор» из старой ЗУП 2.5.