При переходе на 1С:Зарплата и управление персоналом (ЗУП) КОРП с других систем (например, «Контур-Зарплата» или АМБа) одной из самых трудоемких задач является корректный перенос данных физических лиц и сведений об их стажах. В системе 1С существует несколько механизмов хранения этих данных, и важно понимать, как они взаимодействуют между собой. В этой статье мы подробно разберем архитектуру хранения стажей, назначение полей в регистрах и особенности работы версии КОРП.
В конфигурации 1С:ЗУП для учета стажей физических лиц используются два ключевых регистра сведений. Разберем их назначение и структуру, чтобы понять, куда именно записывать данные при миграции, особенно если выполняется перенос документов из ЗУП КОРП 2.5 в ЗУП КОРП 3.
Когда мы открываем карточку сотрудника и переходим по ссылке «Трудовая деятельность», мы работаем именно с этим регистром. Рассмотрим его ключевые реквизиты:
Дата отсчета, Размер месяцев и Размер дней. Рассмотрим ситуацию: у сотрудника по трудовой книжке на 1 января 2024 года страховой стаж составляет 5 лет, 3 месяца и 10 дней. В этом случае ДатаОтсчета будет «01.01.2024», РазмерМесяцев — 63 (5 лет * 12 + 3 месяца), а РазмерДней — 10. Программа будет использовать эту дату как «точку старта» и ежедневно прибавлять к этим значениям календарное время.
Флаг «Исчисляется с даты приема». Проанализируем, как этот признак меняет логику системы. Если вы устанавливаете эту галочку, программа игнорирует вручную введенные месяцы и дни. Стаж будет рассчитываться строго с даты, указанной в документе ПриемНаРаботу. Это удобно для стажа «на предприятии», если сотрудник ранее в этой организации (или холдинге) не работал.
Признак «По трудовой деятельности». Если в настройках вида стажа (справочник ВидыСтажа) включена эта опция, 1С сможет автоматически суммировать периоды, введенные в таблицу «Предыдущие места работы». Это позволяет избежать ручного подсчета «хвостов» в днях и месяцах — система сама вычислит общую длительность всех интервалов.
Выясним, зачем нужны поля РазмерМесяцев и РазмерДней, если в регистре уже есть ДатаНачала и ДатаОкончания. В отличие от основного регистра, «Накопленные стажи» фиксируют уже посчитанный результат за конкретные периоды работы внутри системы.
Поле «Прерван». Это важный признак для специфических видов стажа, например, «Северного» или стажа за «Выслугу лет». Рассмотрим пример: сотрудник переведен из филиала в условиях Крайнего Севера в обычный регион. Его трудовой договор не расторгнут, он продолжает работать, но накопление именно «северного» стажа должно прекратиться. В этом случае ставится признак Прерван, при этом ДатаОкончания может не заполняться, так как работа продолжается.
В отличие от версии ПРОФ, где стажи часто считаются «на лету» в момент открытия формы, в версии КОРП реализован механизм отложенного расчета. Это сделано для повышения производительности в крупных компаниях с десятками тысяч сотрудников.
Проанализируем цепочку событий при изменении данных:
СтажиФизическихЛицКПересчету.ОбновлениеСтажейФизическихЛиц по расписанию (или принудительно) обрабатывает эту очередь.НакопленныеСтажиФизическихЛиц.Важное замечание: Если после переноса данных вы открываете документ «Больничный лист» и видите, что стаж не заполнился, скорее всего, регламентное задание еще не отработало. В КОРП предусмотрена специальная обработка «Обновление стажей», которую рекомендуется запускать вручную. Если же при работе с кадровыми документами возникают ошибки в датах, например, появляется 31.12.1899, используйте расширение для исправления даты начала приема на работу.
Разберем ситуацию с особыми условиями труда. Обычного переноса цифры «количество лет» для льготников недостаточно. Для корректного формирования отчетности 1С должна видеть периоды в кадровой истории. Если типовых способов недостаточно, может пригодиться документация на перенос данных в ЗУП через шаблоны Excel.
Рекомендуется следующий алгоритм действий:
ПозицииШтатногоРасписания, указав в них соответствующие коды особых условий труда и коды позиций списка.КадровыйПеревод или ПриемНаРаботу сотрудников на эти позиции.ПараметрыПериодовСтажаПФР.Если стаж по списку переносится просто как общее количество лет (без детализации периодов), он будет отображаться в карточке сотрудника «для справки», но не попадет автоматически в регламентированную отчетность.
При написании кода для переноса данных из «Контур-Зарплата», рассмотрите возможность использования следующей структуры логики:
// Пример логики заполнения регистра Стажи
Запись = РегистрыСведений.Стажи.СоздатьМенеджерЗаписи();
Запись.ФизическоеЛицо = СсылкаНаФизЛицо;
Запись.ВидСтажа = Справочники.ВидыСтажа.СтраховойСтаж;
Запись.ДатаОтсчета = ДатаНачалаЭксплуатации;
Запись.РазмерМесяцев = РассчитанныеМесяцы;
Запись.РазмерДней = РассчитанныеДни;
Запись.Записать();
Помните о технике безопасности, которую упоминали эксперты: всегда делайте резервную копию базы данных перед запуском групповых обработок по обновлению стажей. Некорректно настроенное регламентное задание в версии КОРП может массово изменить данные в регистре накопленных стажей, что приведет к неверным расчетам в больничных листах и надбавках за выслугу лет.
Также стоит обратить внимание на обработку ПроверкаЦелостностиДанных. После переноса она поможет выявить ошибки.