Часто при работе в программе 1С:Зарплата и Управление Персоналом (1С:ЗУП 8.3) возникает нетривиальная задача: необходимо настроить доплату за совмещение (расширение зон обслуживания), которая выплачивалась бы фиксированной суммой за полностью отработанный месяц. Ситуация усложняется, когда на предприятии трудятся как сотрудники на окладе (стандартная пятидневка), так и работники с часовой тарифной ставкой (ЧТС) и сменными графиками работы (например, "сутки через трое").
Разберем типичную проблему: базовая формула часто не срабатывает для почасовиков или считает некорректно, если в месяце были отсутствия (больничные, отпуска), а также отказывается попадать в расчет за первую половину месяца (аванс) — для этого подойдёт обработка автоматического контроля отсутствий при расчете аванса в 1С:ЗУП. Рассмотрим подробнее, как избежать ошибок при расчетах и настроить систему так, чтобы доплата считалась идеально для всех категорий сотрудников.
Проанализируем базовый подход, который часто используют по умолчанию. Многие пытаются прописать простую пропорцию: размер доплаты умножить на отработанное время в днях и поделить на норму дней. Однако для сменных графиков с учетом по часам это приводит к грубым ошибкам при расчете полного месяца. Чтобы не создавать отдельные начисления для окладников и почасовиков, настроим единую универсальную формулу.
В 1С:ЗУП существуют специальные показатели, которые автоматически подстраиваются под вид учета времени, назначенный сотруднику: ВремяВДняхЧасах и НормаДнейЧасов. Если сотрудник на пятидневке — программа возьмет дни, если на сменном графике — часы.
Проанализировав плановые начисления сотрудников, пропишем в карточке начисления следующую формулу:
Мин(РазмерДоплатыЗаСовмещение, РазмерДоплатыЗаСовмещение * ВремяВДняхЧасах / НормаДнейЧасов)
Разберем по шагам, как это работает и почему критически важно использовать функцию Мин:
РазмерДоплатыЗаСовмещение * ВремяВДняхЧасах / НормаДнейЧасов вычисляет сумму пропорционально отработанному времени. Если сотрудник отработал половину месяца, он получит ровно половину фиксированной доплаты.Мин защищает от переплат при суммированном учете времени. Если сменный сотрудник отработал больше своей нормы (переработка), коэффициент деления составит больше единицы (например, 1.15). Без функции Мин программа начислит 115% от фиксы. Обернув расчет в Мин(), мы жестко указываем системе: итоговая сумма не может быть больше самого показателя РазмерДоплатыЗаСовмещение.Посмотрим на частую ошибку, возникающую у сотрудников с графиком "сутки через трое". Показатель ВремяВЧасах (или комбинированный ВремяВДняхЧасах) по умолчанию берет из табеля только часы явки (код "Я"). Однако при суточных дежурствах сотрудники неизбежно работают в ночное время, а также могут выпадать смены на праздничные дни.
Если мы не скажем программе учитывать эти часы, она посчитает, что отработанное время меньше нормы, и урежет доплату за совмещение, даже если человек отработал все свои смены по графику от звонка до звонка. Исправим это:
Теперь программа корректно просуммирует все фактически отработанные часы и сопоставит их с нормой, что в дальнейшем позволит построить корректный план-факт отработанного времени.
Выясним причину еще одной интересной коллизии. Бывает так, что сотрудник отработал месяц полностью, без отгулов и больничных, но часов по его индивидуальному графику (например, 136 часов) вышло меньше, чем норма по производственному календарю в этом месяце (например, 176 часов). В итоге программа режет доплату, деля 136 на 176. Как добиться выплаты 100% доплаты?
Проанализируем настройки самого графика работы ("сутки через трое").
В карточке графика есть важная настройка — галочка "Считать норму по другому графику". Если она установлена и ссылается на производственный календарь или стандартную пятидневку, то показатель НормаЧасов в нашей формуле будет всегда браться из пятидневки.
Как решить эту задачу:
НормаЧасов будет вычисляться исключительно из личного графика сотрудника. Раз он должен был отработать 136 часов и отработал их, программа рассчитает: 136 / 136 = 1, и доплата будет 100%.Убедимся, что наша доплата попадает в расчет за первую половину месяца (аванс). Пользователи часто жалуются, что формула идеальна, но в авансе совмещение просто отсутствует. Это связано не с формулой, а с базовыми параметрами начисления.
Для корректной работы выполним следующее:
При расчете аванса 1С:ЗУП возьмет нашу формулу, подставит в показатель ВремяВДняхЧасах фактически отработанное время с 1 по 15 число (например, 88 часов), разделит на полную норму месяца (например, 136 часов) и корректно рассчитает долю от суммы доплаты.
Рассмотрим альтернативный вариант, который позволяет избежать ручного написания сложных формул. В большинстве случаев можно использовать мощный встроенный механизм 1С:ЗУП, который уже учитывает все описанные выше нюансы "под капотом".
Настроим типовой функционал совмещения:
После этого в разделе "Кадры" или "Зарплата" появится доступ к документу "Совмещение должностей". Создадим этот документ и выберем вариант расчета "Размер доплаты", указав фиксированную сумму.
Типовой алгоритм этого документа самостоятельно рассчитывает сумму пропорционально отработанному времени, корректно ведет себя при расчете первой половины месяца и адекватно обрабатывает графики почасовиков без необходимости прописывать функцию Мин() вручную. Это наиболее безопасный путь, если вы не хотите глубоко вмешиваться в формулы конфигурации.