При работе в программах на платформе 1С:Предприятие 8.3 (таких как ERP 2.4/2.5, ЗУП 3.1 или Комплексная автоматизация 2) пользователи часто сталкиваются с ситуацией, когда в регистре накопления Данные о времени для расчета среднего отражается неверное количество календарных дней. Особенно остро эта проблема проявляется, когда сотрудник уходит в отпуск в начале месяца, а расчет зарплаты производится в конце того же месяца. В результате программа «не видит» период отпуска и записывает полный календарный месяц как отработанный, что ведет к завышению знаменателя при последующем расчете среднего заработка и, как следствие, к занижению сумм отпускных или командировочных.
В данной статье мы разберем причины возникновения этой коллизии и проанализируем пошаговые алгоритмы её решения.
Проанализируем техническую сторону вопроса. В 1С расчет среднего заработка базируется на данных регистра накопления Данные о времени для расчета среднего. Записи в этот регистр попадают из документов Начисление зарплаты и взносов и Отпуск (если в нем установлен флаг «Рассчитать зарплату в документе»).
Разберем ситуацию, описанную пользователем. Если мы создаем документ Отпуск, но не рассчитываем в нем зарплату за текущий месяц (что является стандартной практикой при выплате отпускных в межрасчетный период), документ создает «пустые» записи в регистре, лишь фиксируя период отсутствия. Основную работу по распределению времени должен выполнить итоговый документ начисления зарплаты в конце месяца.
Однако, если Месяц начисления в документе Отпуск и в документе Начисление зарплаты совпадает (например, август), система может некорректно отработать механизм вытеснения. Выясним причину: программа считает, что основное начисление (Оклад) имеет приоритет, если на момент проведения зарплаты данные об отпуске не были должным образом зафиксированы в фактическом периоде действия.
Самый простой, но требующий внимательности метод — это соблюдение хронологии проведения документов. Рассмотрим подробнее шаги, которые помогли автору темы:
Начисление зарплаты и взносов за проблемный месяц.Отпуск. Убедимся, что указан корректный период и Месяц начисления. Нажмем кнопку пересчета (желтые стрелки) и проведем документ.Табель, его необходимо перезаполнить. Рассмотрим, почему это важно: документ Начисление зарплаты ориентируется на Табель. Если в табеле зафиксирована «Явка» вместо «Отпуска», то и вытеснения не произойдет.Начисление зарплаты и взносов. После автоматического заполнения программа должна увидеть «дыру» в периоде оклада, вызванную отпуском, и в регистр Данные о времени для расчета среднего попадет количество дней за вычетом отпуска.Если простая перепроводимость не помогает, или если месяц уже «закрыт» для редактирования кадровых документов, можно воспользоваться механизмом исправления. Это наиболее надежный способ заставить систему пересмотреть записи в регистрах.
Проанализируем ситуацию по шагам:
Отпуск нажмем на гиперссылку «Исправить».Данные о времени для расчета среднего от ошибочных полных календарных дней и записывает верное количество.Если вышеописанные действия не помогают, выясним причину в настройках видов расчета. Посмотрим на настройки начисления Оплата по окладу (или другого вашего основного начисления):
Оплата по окладу.Отпуск основной.Если отпуска нет в списке вытеснения, программа будет начислять оклад за весь месяц, игнорируя отсутствие сотрудника, и, соответственно, регистр среднего заработка заполнится неверно.
Как было замечено в ходе обсуждения, проблема часто исчезает, если в документе Отпуск (который начинается, например, 1-го числа августа) указать Месяц начисления — Июль. С точки зрения методологии 1С это более корректно, так как отпускные должны быть выплачены за три дня до начала отпуска, то есть в конце предыдущего месяца. В этом случае на момент расчета зарплаты за август система уже «знает», что часть августа занята отпуском, зарегистрированным в июле, и вытеснение срабатывает автоматически без ошибок.
Итог:
Для корректного отражения времени в 1С:ERP всегда проверяйте настройки приоритетов начислений и старайтесь регистрировать отпуска месяцем, предшествующим их началу (если они начинаются в первые дни месяца). Если ошибка уже зафиксирована в регистре, используйте связку «Отмена зарплаты — Перепроведение отпуска — Начисление зарплаты» или механизм «Исправить» в документе отпуска.