Как настроить расчет премии в 1С:ЗУП 3.1 при условии отсутствия дисциплинарных взысканий и соблюдения нормы смен?

Бухгалтер 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Управленческий учет
← На главную

В практике кадрового учета часто возникает задача: начислить сотруднику премию за дисциплину только в том случае, если он отработал определенное количество смен и не имел нарушений (опозданий, прогулов, нарушений режима). На первый взгляд задача кажется простой, но при попытке реализовать её через стандартные формулы в 1С:Зарплата и управление персоналом 3.1 пользователи сталкиваются с техническими нюансами. Давайте разберем, как правильно настроить такую логику, избежав типичных ошибок.

Почему стандартная проверка тарифов удержаний не работает?

Типичная ошибка при написании формулы заключается в попытке проверить значение тарифа (ставки) штрафа. Рассмотрим ситуацию: у сотрудника настроено удержание ШтрафЗаОпоздание, для которого задан показатель ШтрафТарифОпоздание. Если мы напишем формулу вида:


ПремияЗаДисциплину * ?(ОтработаноДней > 25, 1, 0) * ?(ШтрафТарифОпоздание > 0, 0, 1)

Программа всегда будет возвращать 0. Почему так происходит? Дело в том, что ШтрафТарифОпоздание — это постоянный показатель (расценка), который закреплен за сотрудником или организацией. Он существует в системе всегда, независимо от того, совершил сотрудник проступок в конкретном месяце или нет. Программа видит, что тариф равен, например, 500 рублям, условие 500 > 0 выполняется, и премия обнуляется. Нам же нужно проверять не наличие тарифа, а факт нарушения в конкретном периоде.

Шаг 1. Создание количественных показателей нарушений

Проанализируем ситуацию: чтобы формула "понимала", было нарушение или нет, нам нужен показатель, который принимает значение больше нуля только в месяце совершения проступка. Для этого перейдем в раздел Настройка — Показатели расчета зарплаты и создадим новые показатели (например, КоличествоОпозданий, КоличествоСлучаевСна).

При настройке показателя крайне важно указать следующие параметры:

  1. Назначение показателя: Для сотрудника.
  2. Тип показателя: Числовой.
  3. Использование показателя: Только в месяце, в котором вводится значение. Это ключевой момент: если данных нет, показатель будет равен нулю.

Шаг 2. Настройка шаблона ввода данных

Вместо того чтобы каждый раз создавать документ Удержание по прочим операциям, мы воспользуемся более гибким механизмом. Нам нужно создать единую форму, куда бухгалтер будет вносить сведения о нарушениях. Перейдем в Настройка — Шаблоны ввода данных.

Создадим новый шаблон, назовем его "Дисциплинарные нарушения". На вкладке Показатели зарплаты выберем созданные нами количественные показатели (КоличествоОпозданий, КоличествоСлучаевСна и т.д.). Теперь расчетчик сможет раз в месяц через документ Данные для расчета зарплаты просто проставить "1" против фамилии сотрудника, который совершил проступок.

Шаг 3. Синхронизация удержания и премии

Теперь выясним, как связать штраф и отмену премии. Рассмотрим логику настройки Вида удержания. Чтобы программа автоматически рассчитывала сумму штрафа на основании введенных данных, в формуле удержания используем созданный количественный показатель:


КоличествоОпозданий * ШтрафТарифОпоздание

В этом случае, если в документ Данные для расчета зарплаты введено "1", удержание сработает. Если данных нет — сумма будет нулевой.

Шаг 4. Настройка итоговой формулы премии

Теперь мы можем составить корректную формулу для начисления премии. Нам нужно проверить два условия: отработанное время и отсутствие всех видов нарушений. Проанализируем итоговый вид формулы в настройках начисления:


ПремияЗаДисциплину 
* ?(ОтработаноДней > 25, 1, 0) 
* ?(КоличествоОпозданий + КоличествоСлучаевСна + КоличествоУходовРаньше > 0, 0, 1)

Разберем, как это работает:

Важные нюансы и последовательность расчета

Посмотрим на ситуацию с точки зрения механизмов платформы 1С:Предприятие. В ЗУП 3.1 начисления всегда рассчитываются раньше, чем удержания. Именно поэтому в формуле начисления (премии) мы не можем ссылаться на результат расчета удержания (сумму в рублях) — в момент расчета премии сумма удержания еще просто не определена.

Использование общего количественного показателя — единственный надежный способ связать эти два события. Последовательность действий для расчетчика будет выглядеть так:

  1. В конце месяца регистрируются факты нарушений документом Данные для расчета зарплаты.
  2. Создается документ Начисление зарплаты и взносов.
  3. Программа на вкладке Начисления рассчитывает премию, проверяя введенные показатели.
  4. На вкладке Удержания та же программа автоматически рассчитывает суммы штрафов, используя те же самые показатели.

Рекомендации по показателю ОтработаноДней

Рассмотрим подробнее использование стандартного показателя ОтработаноДней. Если в вашей организации используется сменный график (например, "сутки через трое" или "2/2"), физически отработать 25 смен в месяц невозможно. В таких случаях убедитесь, что порог в 25 дней установлен корректно именно для вашей специфики.

Если премия должна зависеть от полной отработки нормы (неважно, сколько это дней по графику), эффективнее использовать сравнение с нормой:


?(ОтработаноДней >= НормаДней, 1, 0)

Или использовать показатель ДоляОтработанногоВремени, который учитывает отношение фактически отработанного времени к норме по графику сотрудника. Это сделает вашу формулу более универсальной для разных категорий персонала.

← На главную