Как настроить расчет зарплаты исходя из среднегодового количества часов в 1С:ЗУП 3.1

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

В практике кадрового учета и расчета заработной платы часто встречается задача, когда стоимость часа сотрудника должна определяться не исходя из нормы текущего месяца, а на основе среднегодового количества рабочих часов. Это позволяет сгладить разницу в оплате между "короткими" месяцами (например, январь или май) и "длинными" (июль или октябрь).

Рассмотрим ситуацию: нам необходимо реализовать формулу Оклад / СреднееМесячноеКоличествоЧасовЗаГод * НормаЧасов. При этом показатель СреднееМесячноеКоличествоЧасовЗаГод должен рассчитываться как сумма всех рабочих часов в году по производственному календарю, деленная на 12. В этой статье мы разберем, как реализовать этот алгоритм в 1С:Зарплата и управление персоналом 3.1, используя только штатные механизмы конфигурации.

Метод 1. Использование штатного механизма пересчета тарифной ставки

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

Разберем по шагам, как активировать эту настройку:

  1. Перейдем в раздел Настройка и выберем пункт Расчет зарплаты.
  2. Найдем блок настроек При пересчете тарифной ставки сотрудника в стоимость часа (дня) использовать.
  3. Установим переключатель в положение Среднемесячное количество часов (дней) в месяце.

Выясним причину, почему это работает: при выборе данного варианта система берет общее количество рабочих часов в году по производственному календарю, который назначен сотруднику (в его графике работы), и делит это число на 12. Полученное значение используется как знаменатель при определении стоимости одного часа.

Важный нюанс: если вы измените эту настройку, она применится ко всем новым расчетам в базе. Однако для конкретных сотрудников порядок пересчета можно уточнить индивидуально.

Метод 2. Индивидуальная настройка для конкретного сотрудника

Если в организации основная масса сотрудников получает оплату по норме месяца, а среднегодовое значение нужно применить только для избранных категорий, мы можем настроить это персонально. Посмотрим на пример настройки в кадровых документах:

В документах Прием на работу или Кадровый перевод на вкладке Оплата труда присутствует поле Порядок пересчета. Если оно не отображается, убедитесь, что в настройках состава начислений включена возможность пересчета тарифных ставок.

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

Метод 3. Создание пользовательского показателя через «Данные для расчета зарплаты»

Если штатный показатель СтоимостьЧаса по каким-то причинам вам не подходит (например, требуется сложная формула, где участвуют сразу несколько видов норм), можно пойти путем создания собственного показателя. Разберем этот алгоритм подробнее.

Шаг 1. Создание показателя.
Перейдем в Настройка — Показатели расчета зарплаты. Создадим новый показатель, назовем его СреднегодовоеКоличествоЧасов. Установим для него следующие свойства:

Шаг 2. Создание шаблона документа.
Чтобы внести значение этого показателя в систему, нам нужно настроить Шаблон ввода исходных данных (раздел Настройка). Создадим шаблон, в который добавим наш новый показатель. Это позволит нам раз в год (обычно в январе) вводить рассчитанное на калькуляторе значение (например, 164.5 часа) для всей организации.

Шаг 3. Настройка формулы начисления.
Теперь в виде расчета (например, Оплата по окладу) мы можем изменить формулу:

Оклад / СреднегодовоеКоличествоЧасов * ВремяВЧасах

Анализ возможных ошибок и расхождений в расчетах

Рассмотрим ситуацию, описанную в сообщении №7 форума, когда пользователь столкнулся с разницей в цифрах (182,5 против 167,08). Почему так происходит? Выясним причины расхождений:

  1. Производственный календарь: Проверьте, какой именно календарь привязан к Графику работы сотрудника. Если вы используете региональный календарь или календарь другой страны (например, Казахстана, где норма в 2024 году составляет 2190 часов), то расчет 2190 / 12 = 182.5 будет верным. Если же система выдает 167.08 — значит, она берет стандартный календарь РФ (2004 часа / 12 = 167.0).
  2. Заполнение календаря: Убедитесь, что производственный календарь заполнен на весь текущий год. Если данные на декабрь отсутствуют, программа не сможет корректно рассчитать годовую сумму часов.
  3. Настройка графика: В справочнике Графики работы проверьте настройку При определении нормы по этому графику использовать.... Иногда там ошибочно указан другой график или календарь, что сбивает расчет автоматического показателя СтоимостьЧаса.

Влияние на сверхурочные и праздничные дни

Важно помнить, что изменение настройки "Порядок пересчета" в разделе Настройка — Расчет зарплаты повлияет на расчет всех начислений, где используется СтоимостьЧаса. Проанализируем последствия:

Если вы установите расчет "по среднегодовому", то стоимость часа для оплаты сверхурочных будет одинаковой и в январе, и в июле. С точки зрения трудовой инспекции это допустимый метод, но он должен быть зафиксирован в локальном нормативном акте организации. Рекомендуем вводить такие изменения только с начала календарного года, чтобы избежать пересчетов за прошлые периоды.

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


// Логика получения среднемесячной нормы
ГодоваяНорма = ПолучитьНормуВремениЗаГод(Сотрудник, ТекущийГод);
СреднемесячнаяНорма = ГодоваяНорма / 12;
СтоимостьЧаса = ТарифнаяСтавка / СреднемесячнаяНорма;

Таким образом, мы рассмотрели все способы реализации расчета через среднегодовое количество часов. Наиболее предпочтительным и "чистым" с точки зрения поддержки конфигурации является Метод 1 — использование типовой настройки пересчета тарифных ставок.

← На главную