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

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

При оформлении коллективного сдельного наряда (документ Данные для расчета зарплаты с видом операции сдельных работ) пользователи часто сталкиваются с ситуацией: в документе указаны отработанные дни и часы, а также КТУ сотрудников, однако общая сумма наряда распределяется только пропорционально дням (или дням с учетом КТУ). При изменении количества часов сумма начислений сотрудникам не меняется. Разберем подробно, почему типовой механизм программы ведет себя именно так, и рассмотрим все доступные варианты настройки распределения по часам.

Архитектурная причина: почему программа игнорирует часы

Проанализируем внутреннее устройство типового алгоритма распределения бригадного наряда в 1С:Зарплата и управление персоналом 3.1. В типовой конфигурации распределение суммы между исполнителями опирается на два ключевых параметра:

  1. Признак «Время в часах» у начисления: в регистре сведений Начисления для каждого вида расчета хранится служебный реквизит ВремяВЧасах. Значение Истина устанавливается автоматически только для тех начислений, в формуле которых задействованы показатели времени в часах (например, ОтработаноЧасов, НормаЧасов). Если вид расчета имеет стандартную формулу СдельныйЗаработок, флаг ВремяВЧасах равен Ложь, и программа считает начисление чисто «дневным».
  2. Настройка шаблона ввода данных: даже если вид расчета имеет часовой признак, программный анализ признака ВремяВЧасах в процедуре распределения запускается только в том случае, если в шаблоне документа включена опция Пропорционально размерам тарифных ставок. Если этот флаг снят, типовая конфигурация всегда рассчитывает долю сотрудника исходя из отработанных дней.

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

Вариант 1. Настройка расчета без доработки конфигурации (через одинаковую тарифную ставку)

Рассмотрим по шагам, как настроить программу типовыми средствами, чтобы наряд распределялся пропорционально часам и КТУ:

  1. Проверяем формулу начисления: перейдем в раздел Настройка – Начисления, найдем вид расчета Сдельный заработок. Чтобы активировать признак ВремяВЧасах, изменим формулу начисления, добавив нулевое влияние часового показателя:

    СдельныйЗаработок + ОтработаноЧасов * 0

    Такая корректировка не искажает итоговую математику начисления, но переключает признак ВремяВЧасах в значение Истина.

  2. Настраиваем шаблон ввода данных: откроем раздел Настройка – Шаблоны ввода исходных данных. В шаблоне для сдельного наряда установим флажки:
    • Учитывать отработанное время;
    • Учитывать КТУ;
    • Пропорционально размерам тарифных ставок.
  3. Устанавливаем сотрудникам одинаковую часовую ставку: так как включен учет тарифных ставок, программа будет умножать часы на тарифную ставку и КТУ. Если у сотрудников в кадровых документах будут разные оклады или ставки, наряд распределится некорректно (с учетом веса их окладов). Чтобы распределение шло строго пропорционально формуле Часы × КТУ, назначим всем сотрудникам бригады одинаковую фиктивную часовую тарифную ставку (например, 1 рубль или 100 рублей).

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

Вариант 2. Методологический подход 1С: схема «Тариф плюс сдельный приработок»

Если на предприятии используется полноценная сдельно-премиальная или аккордная система, методологически правильнее использовать разделение на базовый тариф и приработок:

  1. Назначаем сотрудникам плановые начисления: базовый тариф (например, Оплата по часовому тарифу по их реальной ставке) и Сдельный заработок (для работающих по часовому тарифу).
  2. В шаблоне ввода данных включаем опцию Распределять только заработок сверх тарифа.
  3. При таком расчете программа сначала гарантированно относит каждому работнику его гарантированную оплату по формуле ЧасоваяСтавка * ОтработаноЧасов, а оставшуюся сумму общего наряда (сдельный приработок) распределяет пропорционально часам, ставкам и КТУ.

Вариант 3. Программная корректировка через расширение конфигурации

Если на предприятии требуется делить весь наряд исключительно по часам и КТУ, не указывая фиктивные тарифные ставки в кадровом учете, оптимальным решением является корректировка модуля формы документа Данные для расчета зарплаты.

Выясним причину в коде: в процедуре распределения находится тернарный оператор выбора единицы времени:


// Типовой фрагмент процедуры РаспределитьСтоимостьРаботПоСотрудникам:
ОтработанноеВремя = ?(СтрокаТаблицы.ВремяВЧасах, СтрокаТаблицы.ОтработаноЧасов, СтрокаТаблицы.ОтработаноДней);

Чтобы система всегда брала часы при распределении, создадим расширение конфигурации (без снятия основной конфигурации с поддержки) и переопределим алгоритм процедуры РаспределитьСтоимостьРаботПоСотрудникам, заменив выбор времени на прямое использование часов:


&Вместо("РаспределитьСтоимостьРаботПоСотрудникам")
Процедура Расширение_РаспределитьСтоимостьРаботПоСотрудникам(ОтменятьИсправления = Ложь)
    // В цикле распределения стоимости работ по строкам сотрудников:
    ОтработанноеВремя = СтрокаТаблицы.ОтработаноЧасов;
    
    // Далее выполняется типовой расчет долей с учетом КТУ
    // КоэффициентРаспределения = ОтработанноеВремя * СтрокаТаблицы.КТУ;
КонецПроцедуры

Использование расширения позволяет сохранить типовую конфигурацию на полной поддержке и обновлять 1С:ЗУП без дополнительных трудозатрат.

Особенности учета времени и расчетного листка

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

  1. Заполнение времени из графика и табеля: если документ сдельного наряда вводится до проведения документа Табель учета рабочего времени, часы подтягиваются по плановому графику работы. При последующих изменениях в табеле наряд автоматически не пересчитывается — его требуется перезаполнить вручную.
  2. Отражение часов в расчетном листке: если начисление является чисто сдельным и в настройках времени выбрано накопление за месяц, отработанные часы в строке сдельного начисления могут не выводиться в сводах и расчетных листках. Для корректного учета времени и последующего расчета среднего заработка рекомендуется, чтобы отработанное время фиксировалось основным повременным начислением или явным видом учета времени.
← На главную