Приветствуем коллег! В практической работе бухгалтера и расчетчика зарплаты часто возникает неприятная ситуация: сотрудник заболевает в конце месяца, расчетный период закрывается «неявкой», а в следующем месяце приносится официальный больничный лист. При этом даты документов могут не полностью совпадать — например, больничный лист захватывает выходные дни, которые не были отражены в первоначальном документе отсутствия. В результате при последующем расчете отпуска или командировки программа 1С:ЗУП 3.1 некорректно рассчитывает календарные дни для среднего заработка.
В этой статье мы подробно разберем, почему возникает эта проблема с точки зрения внутренней архитектуры программы 1С, проведем математический анализ расчета календарных дней и рассмотрим четыре практических способа решения этой проблемы в зависимости от масштаба вашей организации.
---
Давайте подробно рассмотрим ситуацию, описанную пользователем на форуме. Сотрудник работает по стандартному графику пятидневки. В конце марта он заболевает:
Отсутствие (болезнь, прогул, неявка).Больничный лист, период которого составляет с 27 по 31 марта. Обратите внимание: 31 марта — это суббота (выходной день по графику сотрудника).Давайте проведем математический расчет. Формула для определения учитываемых календарных дней в неполном месяце выглядит следующим образом:
Учтено дней = 29.3 * (Календарные дни месяца − Дни отклонений) / Календарные дни месяца
Посмотрим, как считает программа:
29.3 * (31 − 4) / 31 = 25.52.29.3 * (31 − 5) / 31 = 24.57.Почему же программа упорно считает субботу 31 марта как отработанный день, несмотря на проведенный больничный лист?
---
В отличие от старой редакции 2.5, в 1С:ЗУП 3.1 учет времени для расчета среднего заработка устроен по принципу вытеснения начислений. Все данные записываются в специализированный регистр накопления Данные о времени для расчета среднего (общий).
Проанализируем цепочку событий в системе по шагам:
Отсутствие (болезнь, прогул, неявка) программа вытесняет оклад за рабочие дни с 27 по 30 марта. В регистр среднего заработка записывается информация: из 31 календарного дня вычитается 4 дня отсутствия. Суббота 31 марта остается «отработанным» днем, так как по графику это выходной, за него оклад не начислялся, и вытеснять там нечего.Больничный лист за период с 27.03 по 31.03. Так как период регистрации документа — апрель, программа выполняет сторнирование начислений за прошлый период. На вкладке «Пересчет прошлого периода» сторнируется документ неявки за период с 27.03 по 30.03.Данные о времени для расчета среднего (общий) за этот день. Из-за этого день болезни, пришедшийся на выходной, продолжает считаться «отработанным».Именно по этой причине стандартный сервис Обновить данные для расчета среднего заработка (раздел Зарплата — Сервис) не решает проблему. Он просто пересчитывает данные на основании уже проведенных документов, а документов сторно за 31 марта в базе физически нет.
Также важно упомянуть документ Табель. Если в вашей организации табель заполняется вручную до проведения больничных листов, это может приводить к рассинхронизации данных. Разработчики 1С рекомендуют минимизировать использование ручного табеля, так как система прекрасно собирает время методом отклонений.
---
Рассмотрим подробнее четыре проверенных способа исправления этой ошибки, от самых простых ручных корректировок до системных организационных регламентов.
Этот способ идеально подходит для небольших организаций, где подобные расхождения случаются редко.
Отпуск (или Командировка), в котором рассчитывается средний заработок.Если мартовский период еще не закрыт окончательно для редактирования или у вас есть техническая возможность перепровести прошлый месяц, лучшим решением будет исправление первоначального отсутствия.
Отсутствие (болезнь, прогул, неявка) по данному сотруднику.Начисление зарплаты и взносов по этому сотруднику (пересчитывать сами суммы не нужно, достаточно просто нажать кнопку «Провести», чтобы обновились регистры учета времени).Для продвинутых пользователей и администраторов системы доступен способ исправления данных напрямую через специальный служебный регистр сведений.
e1cib/list/РегистрСведений.ДанныеОВремениДляРасчетаСреднегоОбщийКорректировка и нажмите «Перейти».Если вы работаете на крупном предприятии (завод, торговая сеть) с плавающими и сменными графиками работы (например, «два через два», «день/ночь/4 выходных»), ручные корректировки станут кошмаром для бухгалтерии. В этом случае необходимо выстроить жесткий регламент взаимодействия кадровой службы и расчетчиков:
Отсутствие (болезнь, прогул, неявка) в конце месяца, если точная дата выхода сотрудника неизвестна, документ необходимо регистрировать строго по последнее число месяца включительно (в нашем примере — по 31 марта), даже если последние дни месяца приходятся на выходные дни по графику сотрудника.Используя эти методы, вы сможете навсегда решить проблему с некорректным расчетом среднего заработка в 1С:ЗУП 3.1 и избежать штрафов и претензий со стороны контролирующих органов и сотрудников!