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