Приветствуем коллег и практикующих специалистов по автоматизации учета! В этой статье мы подробно разберем одну из самых частых и методологически сложных проблем, возникающих при расчете среднего заработка в программе 1С:Зарплата и управление персоналом 3.1. Ситуация выглядит следующим образом: сотрудник привлекался к работе в выходные или праздничные дни во время нахождения в служебной командировке. Ему была начислена соответствующая оплата в двойном размере (или в одинарном с предоставлением отгула). Однако при последующем расчете среднего заработка (например, для расчета отпускных или новой командировки) эти суммы и часы упорно не включаются в расчетную базу среднего заработка.
Давайте вместе проанализируем, почему типовая конфигурация ведет себя именно так, разберем методологические корни этой проблемы и рассмотрим практические варианты ее решения — как с точки зрения программирования (через расширения конфигурации), так и организационными кадровыми методами.
Для начала давайте разберемся, почему разработчики фирмы 1С заложили в программу именно такой алгоритм. Дело в том, что по вопросу учета оплаты за выходные дни в командировке существует давний спор между Минтрудом и Рострудом.
Согласно Положению об особенностях порядка исчисления средней заработной платы (утвержденному Постановлением Правительства РФ № 922):
С другой стороны, существует альтернативная позиция, которой придерживаются многие аудиторы и Роструд в своих неофициальных разъяснениях. Суть ее в том, что работа в выходной день в командировке оплачивается не по среднему заработку, а исходя из оклада или тарифной ставки в соответствии со статьей 153 ТК РФ. Это означает, что данная выплата по своей сути является оплатой за фактически отработанное время и должна включаться в расчет среднего на основании подпункта «л» пункта 2 Положения № 922. Более того, исключение этих сумм искусственно занижает средний заработок сотрудника при последующем расчете отпуска, что может трактоваться как ущемление прав работника.
Разработчики 1С строго следуют официальной позиции контролирующих органов (Минтруда), поэтому в типовом коде программы реализовано жесткое вытеснение начислений, совпавших по времени с командировкой.
Посмотрим, как технически реализована эта логика в конфигурации. В программе 1С:ЗУП 3.1 расчет среднего заработка базируется на данных регистра сведений ДанныеОВремениДляРасчетаСреднегоЗаработкаОбщий и регистра расчета Начисления. При проведении документов система анализирует пересечение периодов.
Если за определенный день в системе зарегистрирован документ Командировка, этот день помечается в учете среднего заработка как исключаемый период. Даже если на этот же день вводится документ Работа в выходные и праздники с соответствующим начислением (например, Оплата работы в праздничные и выходные дни), программа при заполнении расчетной базы среднего заработка видит, что начисление произошло в день, который относится к периоду командировки. В результате сумма оплаты за работу в выходной день автоматически отбрасывается и не попадает в числитель формулы расчета среднего заработка.
Вы можете легко проверить это экспериментально. Если временно распровести документ Командировка, то сумма оплаты за работу в выходной день сразу же отразится в расчете среднего заработка (что наглядно подтвердил автор темы на форуме). Но как только командировка проводится обратно, сумма снова исчезает из расчета.
Если руководство вашей компании и главный бухгалтер приняли решение следовать позиции Роструда и включать оплату выходных дней в командировке в расчет среднего заработка, лучшим решением будет точечная доработка программы.
Крайне не рекомендуется вносить изменения напрямую в основную конфигурацию, снимая ее с поддержки, так как это существенно усложнит процесс последующих обновлений. Вместо этого мы рекомендуем использовать механизм расширений конфигурации. Нам потребуется скорректировать запрос, который собирает данные для расчета среднего заработка.
В программных модулях расчета среднего заработка при формировании временных таблиц происходит соединение начислений с периодами отклонений. Нам необходимо переопределить поведение системы для вида начисления Оплата работы в выходные и праздничные дни.
Примерная схема доработки в расширении выглядит следующим образом. Мы перехватываем процедуру сбора данных для среднего заработка перед заполнением таблицы и исключаем начисления за выходные дни из-под действия вытеснения командировкой. Посмотрим на концептуальный пример кода, который можно поместить в расширение (используя аннотацию &После или &Вместо для соответствующей процедуры сбора данных):
// Пример концептуального кода для адаптации в расширении
&После("ЗаполнитьВременнуюТаблицуДанныхСреднегоЗаработка")
Процедура Расш_ЗаполнитьВременнуюТаблицуДанныхСреднегоЗаработка(ПараметрыРасчета, ТаблицаНачислений)
// Находим начисления, относящиеся к оплате выходных дней
Для Каждого СтрокаНачисления Из ТаблицаНачислений Цикл
Если СтрокаНачисления.ВидРасчета = ПланыВидовРасчета.Начисления.НайтиПоНаименованию("Оплата работы в выходные и праздничные дни") Тогда
// Сбрасываем признак вытеснения периодом сохранения среднего заработка
СтрокаНачисления.ИсключатьИзСреднего = Ложь;
КонецЕсли;
КонецЦикла;
EndПроцедуры
Такой подход позволяет сохранить конфигурацию на полной поддержке поставщика, при этом обеспечивая точное выполнение локальных нормативных актов вашей бухгалтерии.
Если у вас нет возможности привлекать программиста 1С для создания расширения, можно решить проблему методами кадрового учета. Этот способ основан на исключении пересечения периодов документов в программе.
Разберем по шагам, как правильно оформить документы:
Командировка на 12 дней, введите два отдельных документа: первый — с понедельника по пятницу (5 дней), второй — со следующего понедельника по пятницу (5 дней).Работа в выходные и праздники на субботу.Важное предупреждение: При использовании этого метода необходимо проконсультироваться с юристами вашей компании. Дробление командировки может повлечь за собой вопросы со стороны налоговой инспекции по поводу правомерности выплаты суточных и оплаты проезда (ведь формально в выходные дни сотрудник не находился в командировке).
Еще один способ обойти ограничение программы — настроить для сотрудника на период командировки индивидуальный график работы, в котором суббота или воскресенье будут отмечены как рабочие дни. Проанализируем этот вариант:
Индивидуальный график на месяц командировки для данного сотрудника.Командировка эти дни будут оплачены как обычные дни командировки по среднему заработку.Обратите внимание, что данный способ не подходит, если вам необходимо произвести оплату именно в двойном размере согласно статье 153 ТК РФ. Настройка индивидуального графика полезна только тогда, когда за работу в выходной день в командировке сотруднику предоставляется другой день отдыха, а сам день работы оплачивается в одинарном размере.
Мы выяснили, что не попадание оплаты за работу в выходные дни во время командировки в расчет среднего заработка в 1С:ЗУП 3.1 — это не техническая ошибка программы, а осознанно реализованная разработчиками методология Минтруда. Программа защищает пользователя от потенциальных споров с контролирующими органами.
Тем не менее, если вашей организации требуется иной порядок учета, вы можете решить эту проблему одним из рассмотренных способов: от наиболее гибкого и безопасного программирования через расширение конфигурации до организационного разделения периодов командировок силами кадровой службы. Выбирайте вариант, наиболее подходящий для бизнес-процессов вашего предприятия.