Почему меняется средний заработок при продлении отпуска в связи с больничным в 1С:ЗУП 3.1 и как это исправить

Бухгалтер 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет
← На главную

Каждый бухгалтер по расчету заработной платы рано или поздно сталкивается с ситуацией, когда сотрудник заболевает во время ежегодного оплачиваемого отпуска. По закону такой отпуск должен быть продлен или перенесен. Однако при оформлении этой операции в программе 1С:Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с неожиданным поведением системы: при создании документа-исправления отпуска средний заработок пересчитывается и изменяется, хотя, казалось бы, расчетный период остался прежним.

В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем математику расчета среднего заработка в подобных ситуациях, выясним причины «загадочных» изменений данных в программе и рассмотрим современные встроенные механизмы 1С:ЗУП 3.1, позволяющие решить этот вопрос автоматически.

Суть проблемы: практический пример

Рассмотрим конкретную ситуацию, которая часто вызывает вопросы на бухгалтерских форумах:

  1. Сотрудник отправляется в ежегодный отпуск с 4 по 18 марта. Расчетным периодом для исчисления среднего заработка является период с марта предыдущего года по февраль текущего года.
  2. На момент расчета и выплаты отпуска (например, 1 марта) февраль отработан сотрудником полностью. Программа берет в расчет данные за февраль в полном объеме, используя стандартный среднемесячный коэффициент календарных дней — 29.3.
  3. Во время отпуска сотрудник заболевает. Период его временной нетрудоспособности по больничному листу составляет с 27 февраля по 5 марта. Из них 2 дня (27 и 28 февраля) приходятся на февраль, а остальные дни — на март. Таким образом, 2 дня мартовского отпуска совпали с периодом болезни.
  4. Бухгалтер регистрирует в программе БольничныйЛист, а затем пытается продлить отпуск на 2 дня (создавая документ-исправление Отпуск и сдвигая дату окончания на 20 марта).
  5. При проведении исправления обнаруживается, что средний заработок сотрудника в новом документе изменился, хотя расчетный период (март прошлого года — февраль текущего года) формально остался тем же самым.

Давайте разберемся, почему программа ведет себя именно так и является ли это поведение ошибочным.

Почему изменяется средний заработок: математика расчета

Главная причина изменения среднего заработка кроется в том, что один и тот же месяц (в нашем примере — февраль) одновременно является и расчетным периодом для мартовского отпуска, и месяцем, на который пришлись первые дни болезни сотрудника.

Проанализируем цепочку событий в системе:

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

Таким образом, с точки зрения строгой математики алгоритмов программы, изменение среднего заработка — это абсолютно логичное и правильное поведение. Программа актуализирует данные расчетного периода на основании вновь введенного документа нетрудоспособности.

Однако с точки зрения трудового законодательства возникает коллизия. При продлении отпуска в связи с болезнью сам отпуск не прерывается и не пересчитывается — он просто продлевается на соответствующее количество дней. Соответственно, средний заработок для этих «продленных» дней должен остаться точно таким же, каким он был при первоначальном расчете отпуска.

Решение проблемы в современных версиях 1С:ЗУП 3.1 (начиная с релиза 3.1.14)

Разработчики фирмы «1С» учли эту методологическую коллизию и добавили в программу автоматизированный инструмент, который позволяет корректно продлевать отпуска без нежелательного изменения среднего заработка.

Рассмотрим, как устроен этот механизм. В программе появилась специальная настройка, которая по умолчанию отключена. Найти ее можно по пути: Настройки — Расчет зарплаты. Она называется СторнироватьОтпускВБольничномПриПересеченииПериодов (Сторнировать отпуск в больничном при пересечении периодов).

Когда этот флаг снят (что рекомендуется для большинства организаций), программа работает по новому, более удобному сценарию:

  1. При регистрации документа БольничныйЛист, который пересекается по датам с ранее проведенным отпуском, программа выдает предупреждение в виде гиперссылки: «Больничный лист не может быть рассчитан в связи с наличием рассчитанного отпуска. Продлите или пересчитайте отпуск».
  2. При нажатии на эту ссылку система предлагает автоматически создать документ-исправление для отпуска.
  3. В открывшемся окне программа задает вопрос: «Продлить отпуск на дни болезни?». При выборе варианта «Да» система создает документ-исправление Отпуск, но при этом блокирует автоматический перерасчет среднего заработка для продлеваемых дней.
  4. В документе-исправлении появляется специальная вкладка ПродленияПереносыОтзывы, где фиксируются стонируемые дни первоначального отпуска и новые начисленные дни продления. Сумма начисления за новые дни рассчитывается исходя из первоначального (заблокированного) среднего заработка, что полностью решает проблему расхождения сумм.

Если же этот флаг в настройках установлен, программа будет работать по старому алгоритму: при вводе больничного отпуск автоматически сторнируется внутри самого больничного листа, а бухгалтеру приходится вручную создавать исправление отпуска и сталкиваться с изменением среднего заработка.

Разгадка «чуда на следующий день»

Иногда пользователи замечают странное поведение программы: при создании исправления отпуска средний заработок сначала рассчитывается по-новому, но через некоторое время (или на следующий день) при повторном перерасчете он внезапно возвращается к первоначальному значению.

Этому «чуду» есть вполне логичное техническое объяснение, связанное с работой механизмов платформы 1С:

  1. Очередь перерасчетов. В программе функционирует фоновый механизм отслеживания необходимости перерасчетов. Найти его можно в разделе Зарплата — Сервис — Перерасчеты. При вводе больничного листа в этот регистр записывается информация о том, что мартовский отпуск сотрудника требует перерасчета из-за изменения данных февраля.
  2. Влияние последовательности проведения документов. Если на момент создания документа-исправления отпуска сам документ БольничныйЛист или связанные с ним начисления за февраль не были окончательно проведены и рассчитаны, программа могла использовать промежуточные кэшированные данные.
  3. Регламентные задания и обновление кэша. В ночное время или по расписанию в информационной базе запускаются регламентные задания (например, обновление регистра ДанныеОВремениДляРасчетаСреднегоЗаработка). После того как эти задания отработали, а кэш расчетов обновился, повторный клик по кнопке «Пересчитать» в документе-исправлении отпуска приводит данные в соответствие с актуальной и корректной схемой компоновки данных среднего заработка.

Что делать, если средний заработок все-таки изменился: пошаговая инструкция

Если вы работаете в версии программы, где по каким-то причинам новый механизм автоматического продления не отработал, или вы столкнулись с изменением среднего заработка вручную, выполним следующие шаги для исправления ситуации.

Шаг 1. Фиксация первоначальных данных среднего заработка

Прежде чем вносить какие-либо исправления и проводить документ БольничныйЛист, обязательно распечатайте или сохраните расчет среднего заработка из первоначального (еще не измененного) документа Отпуск. Нам понадобятся два ключевых показателя:

  1. Общая сумма начислений за расчетный период.
  2. Общее количество учтенных календарных дней.
  3. Итоговое значение среднего дневного заработка.

Шаг 2. Анализ причин изменения среднего заработка

После проведения больничного листа и создания документа-исправления отпуска перейдите на вкладку расчетов среднего заработка в новом отпуске. Нажмите на кнопку с изображением зеленого карандаша рядом с полем «Средний заработок». Сравните открывшуюся таблицу с сохраненной на Шаге 1 копией. Проанализируйте, в каком именно месяце поплыли показатели. Как правило, изменения затронут месяц, предшествующий отпуску, на который пришлись первые дни больничного.

Шаг 3. Ручная корректировка среднего заработка

Если программа упорно пересчитывает средний заработок, а вам необходимо сохранить первоначальный расчет в соответствии со статьей 124 ТК РФ, выполним ручную корректировку:

  1. В документе-исправлении Отпуск нажмите на кнопку с карандашом рядом с полем ввода среднего заработка.
  2. В открывшейся форме переключатель режима расчета переведите в положение «Вводить вручную».
  3. Введите зафиксированное на Шаге 1 значение первоначального среднего заработка.
  4. Нажмите кнопку «ОК» и пересчитайте документ. Теперь новые дни продления отпуска будут рассчитаны строго по старому тарифу.

Шаг 4. Очистка регистра перерасчетов

После проведения всех корректировок крайне важно убедиться, что программа не попытается повторно пересчитать сотрудника при расчете зарплаты за текущий месяц. Для этого:

  1. Перейдем в раздел меню Зарплата — Сервис — Перерасчеты.
  2. Найдем в списке нашего сотрудника.
  3. Если в колонке «Причина» указан перерасчет отпуска в связи с вводом больничного, выделим эту строку и нажмем кнопку «Отменить». Это исключит документ из очереди на автоматический фоновый перерасчет.

Резюмируя, отметим: изменение среднего заработка при пересечении периодов отпуска и болезни — это естественный результат работы алгоритмов учета времени в 1С:ЗУП. Однако, используя современные релизы программы и отключая сторнирование отпусков в настройках расчета зарплаты, мы можем легко избежать ручной работы и автоматически продлевать отпуска сотрудников с сохранением исходного среднего заработка.

← На главную