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