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