При обновлении конфигурации «Управление производственным предприятием» на релиз 1.3.245.2 многие пользователи столкнулись с неприятным багом: в документах Начисление отпуска сотрудникам организаций и Оплата по среднему заработку итоговая сумма получается значительно меньше ожидаемой. Рассмотрим ситуацию, проанализируем причины возникновения ошибки и разберем варианты её решения.
Ошибка проявляется не у всех сотрудников, а только у тех, в расчетном периоде которых присутствовали определенные виды начислений:
Если у сотрудника были такие начисления, то итоговая сумма в документе оказывается намного меньше, чем результат простого математического действия: СреднедневнойЗаработок * КоличествоДнейОтпуска. Особенно ярко проблема проявляется в регионах, где применяются Районный коэффициент (РК) и Северная надбавка (СН), при включенной настройке «Выделять РК и СН» в параметрах расчета.
Проанализируем программный код. Ошибка кроется в алгоритме расчета знаменателя среднедневного заработка (СДЗ). В релизе 245.2 были внесены изменения в механизм распределения среднего заработка на индексируемую и неиндексируемую части. Система некорректно определяет «долю» времени для тех видов начислений, которые не входят в базу для индексации, но учитываются в общем среднем заработке.
Для диагностики проблемы воспользуемся глобальным поиском по числу 29.3 (стандартное количество дней в месяце для расчета отпуска). Нам необходимо изучить общий модуль, отвечающий за расчет среднего заработка. Проблема локализована в логике формирования временных таблиц, где происходит сопоставление отработанного времени в календарных днях и сумм начисленных надбавок.
Если в периоде отпуска или в расчетном периоде встречаются праздничные дни, алгоритм ошибочно уменьшает количество оплаченных дней, что приводит к «схлопыванию» базы для районного коэффициента и северных надбавок в итоговом расчете.
Рассмотрим вариант обхода ошибки, предложенный опытными пользователями. Этот метод заключается в перераспределении видов начислений между категориями заработка.
Начисление отпуска.Важное предостережение: Будьте осторожны при использовании этого метода. Согласно законодательству, если доплата установлена в процентах от оклада, она должна индексироваться вместе с ним. Перенос таких доплат в «неиндексируемые» может привести к методологической ошибке, если на предприятии в расчетном периоде было повышение окладов.
Если вы обладаете навыками разработки, проанализируем место, где программа формирует данные для расчета. Проблема часто возникает в процедурах, подготавливающих данные для табличной части РасчетСреднего.
Разберем пример кода, который может отвечать за некорректный расчет доли:
// В процедурах расчета среднего заработка в 245 релизе
// некорректно рассчитывается Знаменатель при наличии РК/СН
Если ВыделятьРКиСН Тогда
// Ошибка в заполнении временной таблицы отработанного времени
// Количество дней уменьшается на праздничные дни некорректно
Запрос.Текст = "...";
КонецЕсли;
Проверьте, как заполняются поля КалендарныеДни и ОтработаноДней в запросах модуля ПроцедурыРасчетаСреднегоЗаработка. Если вы обнаружите, что праздничные дни (например, 8 марта внутри ученического отпуска) вычитаются дважды или не учитываются при расчете пропорции РК/СН, это и есть корень проблемы.
Поскольку данная ошибка была признана критической, фирма «1С» выпустила исправления в последующих релизах. Разберем правильную последовательность действий для системного решения вопроса:
ПроцедурыРасчетаСреднегоЗаработка был существенно доработан, и ошибка с «занижением» сумм устранена.Проанализировав ситуацию, можно сделать вывод, что релиз 245.2 содержит программный дефект в части распределения индексируемых и неиндексируемых выплат. Если вы столкнулись с занижением отпускных:
Помните, что ручная корректировка документов — это временная мера, которая может привести к ошибкам в отчетности по НДФЛ и страховым взносам в будущем.