В практике ведения учета в программе 1С:Зарплата и управление персоналом 3.1 часто возникает задача реализации доплаты за сделку. Типичная ситуация: сотрудник получает оклад за отработанное время, но если сумма выполненных им сдельных работ (нарядов) превышает этот оклад, ему необходимо выплатить разницу. В процессе настройки таких начислений пользователи сталкиваются с некорректными суммами, «раздутыми» ставками и проблемами в заполнении табеля. Рассмотрим подробно, как правильно сконструировать формулу, какие показатели использовать и какие подводные камни нас ожидают.
Проанализируем ситуацию, когда формула доплаты выглядит как разница между суммой по наряду и оплатой по тарифу за отработанные часы. Если в формуле используется стандартный показатель ВремяВЧасах, программа по умолчанию подставит в него все отработанное время сотрудника за месяц. Это включает в себя не только время работы по сделке, но и явку, ночные смены, работу в праздники и прочие виды времени, входящие в норму.
Выясним причину расхождения на примере: если сотрудник отработал по сделке 124 часа, а общее рабочее время за месяц составило 154 часа, использование показателя ВремяВЧасах приведет к тому, что вычитаемая часть (окладная) будет искусственно завышена (умножена на 154 часа вместо 124). В результате доплата за сделку окажется меньше, чем должна быть, или вовсе не начислится.
Для решения этой задачи рассмотрим вариант настройки начисления, которое срабатывает только при наличии введенного времени по конкретному виду учета. Мы можем создать новый вид времени, например, «Сделка» (код СД), и указать его в настройках начисления на вкладке «Учет времени». В этом случае показатель ВремяВЧасах в контексте данного начисления будет принимать значение только тех часов, которые введены именно по этому виду времени.
Разберем ситуацию, когда при расчете доплаты стоимость часа внезапно увеличивается в несколько раз. Это часто связано с использованием предопределенного показателя СтоимостьДняЧаса. Проанализируем логику работы системы 1С:
СтоимостьДняЧаса является универсальным. Программа сама решает, какую ставку подставить — дневную или часовую.СтоимостьДняЧаса без явного указания на количество часов, система может подставить дневную ставку.Рекомендация: Для корректного расчета всегда лучше использовать показатель СтоимостьЧаса. Если у сотрудника установлен оклад по дням, 1С автоматически пересчитает его в часовую ставку согласно настройкам учетной политики (по среднемесячному количеству часов или по норме графика). Это гарантирует предсказуемость результата.
Рассмотрим более элегантный и стабильный метод реализации доплаты до сдельного заработка, который не требует создания новых видов времени и не ломает табель. Этот метод основан на использовании механизма РасчетнаяБаза.
Посмотрим на алгоритм настройки:
Макс(СдельныйЗаработок - РасчетнаяБаза, 0)
Проанализируем составляющие формулы:
СдельныйЗаработок — это сумма всех закрытых нарядов сотрудника за месяц (вводится документом «Сдельные работы»).РасчетнаяБаза — это сумма фактически начисленного оклада за те же часы.Макс(..., 0) нужна для того, чтобы в случае, если оклад превысил сделку, программа не выдавала отрицательный результат, а просто не начисляла доплату.Важно правильно настроить вкладку «Расчет базы». В список базовых начислений нужно включить «Оплату по окладу» (или тарифу). Если сделка должна покрывать также доплату за ночные или праздничные, их тоже следует включить в базу. Система сама возьмет сумму начисленного оклада и сравнит ее с общей суммой сдельных работ.
Часто пользователи пытаются фиксировать время сделки через отдельный вид времени (например, «СД»). Рассмотрим, почему это может привести к ошибкам в табеле:
В справочнике «Виды использования рабочего времени» при создании нового элемента есть флаг «Рабочее время». Если его установить и при этом указать основное время как «Явка», 1С может начать двоить строки в табеле или некорректно вытеснять основное время. Если вы вводите 8 часов «Явки» и 8 часов «Сделки» на один и тот же день, программа может посчитать, что сотрудник отработал 16 часов, что приведет к переплате по другим начислениям.
Чтобы этого избежать, проанализируем настройки:
ЧасыСделки), который будет использоваться только внутри формулы начисления, не влияя на официальный табель учета рабочего времени.Разберем стандартный механизм 1С, который часто незаслуженно игнорируют. Вместо того чтобы мучиться с формулами «Оклад минус Наряд», можно использовать документ Сдельные работы.
В чем преимущество такого подхода? Программа автоматически учитывает суммы, введенные этим документом, при расчете начисления с видом «Сдельная оплата труда». Если же вам нужно именно сравнение с окладом (гарантированный минимум), то в настройках начисления «Оплата по окладу» на вкладке «Приоритет» можно указать, что сдельная оплата его вытесняет. Однако это более сложная схема, требующая ювелирной настройки периодов.
Подводя итог нашему анализу, выделим основные правила настройки доплаты за сделку в ЗУП 3.1:
ВремяВЧасах в сложных формулах разницы, если не всё время в месяце является сдельным.СтоимостьДняЧаса, если не уверены, что у всех сотрудников установлен часовой тариф. Заменяйте его на СтоимостьЧаса.Расчетной базы. Это избавляет от необходимости манипулировать часами и видами времени.Соблюдение этих принципов позволит вам получать корректные расчеты, соответствующие законодательству и внутренним положениям об оплате труда, без необходимости ручных правок в документе «Начисление зарплаты и взносов».