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