Каждый бухгалтер по расчету заработной платы рано или поздно сталкивается с ситуацией, когда сотрудник заболевает во время ежегодного оплачиваемого отпуска. По закону такой отпуск должен быть продлен или перенесен. Однако при оформлении этой операции в программе 1С:Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с неожиданным поведением системы: при создании документа-исправления отпуска средний заработок пересчитывается и изменяется, хотя, казалось бы, расчетный период остался прежним.
В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем математику расчета среднего заработка в подобных ситуациях, выясним причины «загадочных» изменений данных в программе и рассмотрим современные встроенные механизмы 1С:ЗУП 3.1, позволяющие решить этот вопрос автоматически.
Рассмотрим конкретную ситуацию, которая часто вызывает вопросы на бухгалтерских форумах:
БольничныйЛист, а затем пытается продлить отпуск на 2 дня (создавая документ-исправление Отпуск и сдвигая дату окончания на 20 марта).Давайте разберемся, почему программа ведет себя именно так и является ли это поведение ошибочным.
Главная причина изменения среднего заработка кроется в том, что один и тот же месяц (в нашем примере — февраль) одновременно является и расчетным периодом для мартовского отпуска, и месяцем, на который пришлись первые дни болезни сотрудника.
Проанализируем цепочку событий в системе:
БольничныйЛист с 27 февраля, программа понимает, что февраль теперь отработан сотрудником НЕ полностью. Фактически 2 дня (27 и 28 февраля) исключаются из отработанного времени.29.3 / КалендарныеДниМесяца * ОтработанныеКалендарныеДни. В нашем случае: 29.3 / 28 * 26 = 27.21.ДанныеОВремениДляРасчетаСреднегоЗаработка и регистру накопления НачисленияУдержанияПоСотрудникам. Она видит уже измененные (уменьшенные) суммы и количество дней за февраль. В результате деления скорректированной суммы на скорректированные дни получается совершенно другой средний заработок.Таким образом, с точки зрения строгой математики алгоритмов программы, изменение среднего заработка — это абсолютно логичное и правильное поведение. Программа актуализирует данные расчетного периода на основании вновь введенного документа нетрудоспособности.
Однако с точки зрения трудового законодательства возникает коллизия. При продлении отпуска в связи с болезнью сам отпуск не прерывается и не пересчитывается — он просто продлевается на соответствующее количество дней. Соответственно, средний заработок для этих «продленных» дней должен остаться точно таким же, каким он был при первоначальном расчете отпуска.
Разработчики фирмы «1С» учли эту методологическую коллизию и добавили в программу автоматизированный инструмент, который позволяет корректно продлевать отпуска без нежелательного изменения среднего заработка.
Рассмотрим, как устроен этот механизм. В программе появилась специальная настройка, которая по умолчанию отключена. Найти ее можно по пути: Настройки — Расчет зарплаты. Она называется СторнироватьОтпускВБольничномПриПересеченииПериодов (Сторнировать отпуск в больничном при пересечении периодов).
Когда этот флаг снят (что рекомендуется для большинства организаций), программа работает по новому, более удобному сценарию:
БольничныйЛист, который пересекается по датам с ранее проведенным отпуском, программа выдает предупреждение в виде гиперссылки: «Больничный лист не может быть рассчитан в связи с наличием рассчитанного отпуска. Продлите или пересчитайте отпуск».Отпуск, но при этом блокирует автоматический перерасчет среднего заработка для продлеваемых дней.ПродленияПереносыОтзывы, где фиксируются стонируемые дни первоначального отпуска и новые начисленные дни продления. Сумма начисления за новые дни рассчитывается исходя из первоначального (заблокированного) среднего заработка, что полностью решает проблему расхождения сумм.Если же этот флаг в настройках установлен, программа будет работать по старому алгоритму: при вводе больничного отпуск автоматически сторнируется внутри самого больничного листа, а бухгалтеру приходится вручную создавать исправление отпуска и сталкиваться с изменением среднего заработка.
Иногда пользователи замечают странное поведение программы: при создании исправления отпуска средний заработок сначала рассчитывается по-новому, но через некоторое время (или на следующий день) при повторном перерасчете он внезапно возвращается к первоначальному значению.
Этому «чуду» есть вполне логичное техническое объяснение, связанное с работой механизмов платформы 1С:
БольничныйЛист или связанные с ним начисления за февраль не были окончательно проведены и рассчитаны, программа могла использовать промежуточные кэшированные данные.ДанныеОВремениДляРасчетаСреднегоЗаработка). После того как эти задания отработали, а кэш расчетов обновился, повторный клик по кнопке «Пересчитать» в документе-исправлении отпуска приводит данные в соответствие с актуальной и корректной схемой компоновки данных среднего заработка.Если вы работаете в версии программы, где по каким-то причинам новый механизм автоматического продления не отработал, или вы столкнулись с изменением среднего заработка вручную, выполним следующие шаги для исправления ситуации.
Прежде чем вносить какие-либо исправления и проводить документ БольничныйЛист, обязательно распечатайте или сохраните расчет среднего заработка из первоначального (еще не измененного) документа Отпуск. Нам понадобятся два ключевых показателя:
После проведения больничного листа и создания документа-исправления отпуска перейдите на вкладку расчетов среднего заработка в новом отпуске. Нажмите на кнопку с изображением зеленого карандаша рядом с полем «Средний заработок». Сравните открывшуюся таблицу с сохраненной на Шаге 1 копией. Проанализируйте, в каком именно месяце поплыли показатели. Как правило, изменения затронут месяц, предшествующий отпуску, на который пришлись первые дни больничного.
Если программа упорно пересчитывает средний заработок, а вам необходимо сохранить первоначальный расчет в соответствии со статьей 124 ТК РФ, выполним ручную корректировку:
Отпуск нажмите на кнопку с карандашом рядом с полем ввода среднего заработка.После проведения всех корректировок крайне важно убедиться, что программа не попытается повторно пересчитать сотрудника при расчете зарплаты за текущий месяц. Для этого:
Резюмируя, отметим: изменение среднего заработка при пересечении периодов отпуска и болезни — это естественный результат работы алгоритмов учета времени в 1С:ЗУП. Однако, используя современные релизы программы и отключая сторнирование отпусков в настройках расчета зарплаты, мы можем легко избежать ручной работы и автоматически продлевать отпуска сотрудников с сохранением исходного среднего заработка.