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