При расчете больничного листа в программах 1С, использующих классический движок расчета заработной платы (таких как 1С:Комплексная автоматизация 1.1, 1С:Зарплата и управление персоналом 2.5 и 1С:Управление производственным предприятием 1.3), пользователи часто сталкиваются с неприятной ошибкой: «Оплата больничных листов за счет работодателя: Нет оплачиваемых дней в заданном периоде».
Эта ошибка сигнализирует о том, что программный алгоритм при попытке рассчитать первые три дня болезни, подлежащие оплате за счет средств работодателя, не обнаруживает в указанном промежутке времени ни одного дня, который система посчитала бы подлежащим оплате. Давайте подробно проанализируем причины этой проблемы и разберем по шагам, как её исправить.
Это одна из самых неочевидных проблем, о которой упоминают практикующие специалисты на форумах. Ситуация возникает, когда в базу данных вводятся новые пользовательские виды начислений.
Если вы завели новое начисление, которое является вторичным (то есть рассчитывается на основании других начислений и имеет свою расчетную базу) и при этом указали для него список вытесняющих видов расчета, это может нарушить работу механизма вытеснения для больничного листа. Система путается в приоритетах начислений, из-за чего дни болезни «перекрываются» плановым рабочим временем.
Кроме того, проверьте базовые настройки самого предопределенного вида расчета Оплата больничных листов за счет работодателя:
Оплата больничных листов за счет работодателя и откройте его свойства.Оклад по дням, Оклад по часам, Тарифный разряд и т.д.).Если плановые оклады отсутствуют в списке вытеснения, программа при проведении начисления зарплаты посчитает, что сотрудник отработал весь месяц полностью. В результате для проведения больничного просто не останется свободных неоплаченных дней.
Очень часто в кадровом учете возникает ситуация, когда болезнь сотрудника затягивается, и кадровик вводит несколько документов отсутствия подряд. Если в программе зарегистрировано несколько документов Неявки и болезни организаций, это может привести к ошибке расчета.
Проанализируем сценарий: первый документ фиксирует неявку по болезни, затем вводится второй документ, который продлевает этот период. Если между этими документами (или внутри них) не был зафиксирован документ Возврат на работу организаций, расчетный механизм 1С не сможет корректно сопоставить периоды отсутствия и начисления.
Решение проблемы:
С точки зрения методологии учета в 1С, проведение документов должно подчиняться строгой хронологии. Распространенная ошибка бухгалтера — начисление заработной платы до расчета больничного листа.
Если вы сначала рассчитали и провели документ Начисление зарплаты сотрудникам организаций, а затем пытаетесь рассчитать и провести созданный Больничный лист, система выдаст ошибку. Программа видит, что весь месяц уже полностью рассчитан и оплачен (начислен оклад), поэтому свободных дней для оплаты за счет работодателя нет.
Пошаговый алгоритм исправления:
Начисление зарплаты сотрудникам организаций за рассчитываемый месяц.Начисление по больничному листу, пересчитайте его и проведите. Теперь программа без проблем заполнит и рассчитает первые три дня за счет работодателя и остальные дни за счет фонда.Начисление зарплаты, заполните его заново по сотруднику и рассчитайте. Механизм вытеснения автоматически уменьшит количество отработанных дней и сумму оклада на период болезни.Эта проблема наиболее актуальна в начале нового календарного года или в периоды переноса праздничных дней правительством.
Даже если больничный рассчитывается исходя из календарных дней, алгоритмы программы обращаются к регламентированному производственному календарю и индивидуальному графику работы сотрудника для проверки пересечения периодов и лимитов времени. Если график сотрудника или производственный календарь на текущий год не заполнены (не записаны в базу данных), система не сможет определить рабочие и выходные дни, что приведет к сбою расчета и выдаче ошибки.
Что нужно сделать:
Иногда программа абсолютно обоснованно отказывается начислять оплату за счет работодателя, действуя в строгом соответствии с законодательством, однако пользователь не замечает ранее введенных документов.
По закону, если дни болезни сотрудника наложились на период, когда за ним не сохранялся средний заработок (например, Отпуск без сохранения оплаты, Учебный отпуск или зарегистрированный кадрами Простой по вине работника), эти дни оплате не подлежат. Если все первые три дня болезни совпали с таким периодом, программа выдаст сообщение об отсутствии оплачиваемых дней.
Чтобы проверить состояние сотрудника и исключить наложение периодов, мы можем проанализировать записи в регистре сведений Состояния работников организаций. Для этого можно воспользоваться следующим программным запросом (полезно для разработчиков при диагностике базы данных):
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СостоянияРаботников.Сотрудник,
| СостоянияРаботников.Период,
| СостоянияРаботников.Состояние,
| СостоянияРаботников.ДокументОснование
|ИЗ
| РегистрСведений.СостоянияРаботниковОрганизаций КАК СостоянияРаботников
|ГДЕ
| СостоянияРаботников.Сотрудник = &Сотрудник
| И СостоянияРаботников.Период МЕЖДУ &НачалоПериода И &КонецПериода";
Запрос.УстановитьПараметр("Сотрудник", ВыбранныйСотрудник);
Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца);
Запрос.УстановитьПараметр("КонецПериода", КонецМесяца);
РезультатЗапроса = Запрос.Выполнить();
Если в результате запроса вы увидите пересекающиеся кадровые состояния (например, отпуск за свой счет на те же даты), вам необходимо скорректировать кадровые документы, чтобы исключить наложение периодов.
Если в прошлых периодах по сотруднику производились какие-либо исправления задним числом, система могла автоматически зарегистрировать необходимость перерасчета. Наличие некорректных записей в техническом регистре Перерасчет зарплаты может блокировать правильную работу расчетных механизмов в текущем периоде.
Рекомендуется перейти в сервис перерасчетов (через меню «Инструменты» или интерфейс расчетчика зарплаты) и проверить наличие записей по проблемному сотруднику. Если там присутствуют неактуальные строки перерасчета, удалите их вручную, после чего повторите попытку расчета больничного листа.
Если у вас возникла ошибка отсутствия оплачиваемых дней в больничном листе, действуйте по следующему проверенному чек-листу:
Оплата больничных листов за счет работодателя.