Как настроить сдельно-премиальную оплату труда с динамическим коэффициентом в 1С:ЗУП 3.1?

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

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

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

---

Анализ задачи: почему классическая «сделка» не всегда подходит

Рассмотрим ситуацию, описанную пользователем. На предприятии действует следующая схема оплаты:

Сумма начисления = Отработанные часы × Часовая ставка × Коэффициент нормы

При этом:

На первый взгляд кажется, что это классическая сдельная оплата. Однако в терминологии программы 1С:ЗУП 3.1 сдельный заработок всегда жестко привязан к объёму выполненных работ (количеству изготовленных деталей, оказанных услуг и т. д.), выраженных в натуральных единицах, и их расценкам. В данном же случае первичным является отработанное время (часы) и коэффициент эффективности (КТУ или процент выполнения нормы). Это означает, что перед нами — повременно-премиальная система оплаты с применением индивидуального KPI.

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

---

Вариант 1. Сдельно-прогрессивная оплата по методике фирмы «1С»

Для начала рассмотрим, как классическая сдельно-прогрессивная оплата реализуется в типовом функционале согласно методическим руководствам (в частности, по рекомендациям известных экспертов, таких как Е. А. Грянина). Этот способ подойдет вам, если вы решите вести полноценный учет выработки непосредственно в 1С:ЗУП.

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

  1. Основное начисление: «Сдельный заработок» (предопределенный вид расчета в 1С:ЗУП). Оно рассчитывается на основании введенных документов Сдельные работы.
  2. Дополнительное начисление: «Доплата по прогрессивным расценкам». Оно назначается сотруднику в плановом порядке и рассчитывается автоматически при начислении зарплаты.

Проанализируем пример настройки формулы для доплаты за перевыполнение нормы. Допустим, при перевыполнении нормы до 120% оплата сверх нормы производится по полуторному тарифу, а свыше 120% — по двойному. Формула такого начисления будет выглядеть следующим образом:

? (ПроцентВыполненияНормы > 120, СдельныйЗаработок * 0.4, ? (ПроцентВыполненияНормы > 100, СдельныйЗаработок * 0.2, 0))

При этом сам показатель ПроцентВыполненияНормы может рассчитываться как отношение фактически выполненного объема работ к плановой норме за месяц. Отработанное время при этом фиксируется в табеле учета рабочего времени (документ Табель) для контроля соблюдения нормы времени по производственному календарю.

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

---

Вариант 2. Оптимальное решение через механизм «Эффективных часов» (рекомендуется)

Выясним, как реализовать требования автора наиболее эффективным способом. Поскольку у нас есть внешняя база данных, где начальник смены ежедневно фиксирует процент выполнения нормы, мы можем переложить математический расчет «эффективного времени» на эту внешнюю систему. А в 1С:ЗУП мы будем передавать уже готовый, предобработанный показатель.

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

Эффективное время = Фактически отработанные часы × Коэффициент выполнения нормы

Пример:

Разберем по шагам, как настроить этот механизм в 1С:ЗУП 3.1.

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

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

Шаг 2. Создание шаблона ввода исходных данных

Чтобы программа знала, каким документом вводить этот показатель, нам нужно настроить шаблон. Перейдем в раздел Настройка — Шаблоны ввода исходных данных и создадим новый шаблон:

  1. Назовем его «Ввод эффективного времени за день».
  2. На вкладке Показатели зарплаты отметим флагом наш созданный показатель ЭффективноеВремяВЧасах.
  3. На вкладке Дополнительно в разделе «Вводить данные по сотрудникам» выберем вариант «Вводить по каждому сотруднику отдельно» (или «Сводно по списку сотрудников», в зависимости от того, как вам удобнее заполнять документ).
  4. Установим флаг «Вводить данные за несколько дней» или «За один день», в зависимости от периодичности обмена с внешней БД. Если обмен ежедневный — выбираем «За один день».

Шаг 3. Создание и настройка вида начисления

Теперь создадим само начисление, которое будет производить расчет. Перейдем в раздел Настройка — Начисления и нажмем Создать:

  1. Наименование: Оплата по часовому тарифу (сдельно-премиальная).
  2. Код: ОПЧСП.
  3. На вкладке Основное укажем, что начисление выполняется: «Только если введено значение показателя» и выберем наш показатель ЭффективноеВремяВЧасах.
  4. В поле Формула введем: ТарифнаяСтавкаЧасовая * ЭффективноеВремяВЧасах Примечание: Если у ваших сотрудников установлена не часовая ставка, а месячный оклад, то вместо ТарифнаяСтавкаЧасовая можно использовать предопределенный показатель СтоимостьЧаса.
  5. На вкладке Учет времени необходимо правильно настроить вид времени. Укажите, что это начисление начисляется за Рабочее время, а вид времени по классификатору — Явка (или создайте отдельный вид времени, если требуется разделение в табеле). Это позволит программе корректно вытеснять данное начисление в случае отсутствия сотрудника (например, во время больничного или отпуска).

---

Шаг 4. Настройка интеграции и загрузка данных

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

Для реализации обмена программист может использовать стандартные механизмы платформы 1С:Предприятие 8.3:

Рассмотрим пример кода на встроенном языке 1С, который может использоваться в обработке загрузки данных для автоматического создания документа ДанныеДляРасчетаЗарплаты:


НовыйДокумент = Документы.ДанныеДляРасчетаЗарплаты.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
НовыйДокумент.ПериодРегистрации = НачалоМесяца(ТекущаяДата());
НовыйДокумент.НастройкаЗаполнения = Справочники.ШаблоныВводаИсходныхДанных.НайтиПоНаименованию("Ввод эффективного времени за день");

// Заполнение табличной части сотрудниками и показателями
НоваяСтрока = НовыйДокумент.Показатели.Добавить();
НоваяСтрока.Сотрудник = Справочники.Сотрудники.НайтиПоКоду("00001");
НоваяСтрока.Показатель = ПланыВидовХарактеристик.ПоказателиРасчетаЗарплаты.НайтиПоНаименованию("Эффективное время в часах");
НоваяСтрока.Значение = 12.5; // Пример рассчитанных эффективных часов за день

НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);

---

Как это будет выглядеть в Табеле учета рабочего времени?

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

Согласно законодательству РФ, в государственном Табеле учета рабочего времени (форма Т-12 или Т-13) должны отражаться фактически отработанные сотрудником часы по факту его нахождения на рабочем месте (например, стандартные 8 часов в день), независимо от того, насколько он перевыполнил или недовыполнил норму.

Описанная нами схема с «Эффективными часами» идеально решает этот вопрос:

  1. В документе Табель (или по графику работы сотрудника) в 1С:ЗУП регистрируется реальное время явки — например, 8 часов. Это время идет в официальную статистику и отчетность.
  2. Через документы Данные для расчета зарплаты регистрируется показатель ЭффективноеВремяВЧасах (например, 16 часов за счет коэффициента 2.0). Данный показатель используется исключительно для расчета денежного начисления в документе Начисление зарплаты и взносов и никак не портит официальную статистику отработанного времени сотрудника.

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

← На главную