При автоматизации производственного учета на базе решений 1С программисты и аналитики часто сталкиваются с задачей расчета заработной платы рабочим-сдельщикам (например, слесарям, токарям, фрезеровщикам). Простой подход «количество сделанных деталей, умноженное на фиксированную стоимость штуки» в реальных условиях быстро дает сбой. При выпуске малых партий (например, 2 или 10 деталей вместо 100) трудоемкость единицы изделия существенно меняется из-за затрат времени на переналадку оборудования и изучение чертежей.
В этой статье мы подробно разберем методологию нормирования труда, проанализируем разницу между штучным и подготовительно-заключительным временем, рассмотрим организацию оплаты по нормо-часам и спроектируем структуру данных в 1С для корректного начисления ЗП.
Главная ошибка при расчете сдельной расценки — попытка установить единую стоимость за изготовление одной детали независимо от объема партии. Проанализируем, из чего складывается время обработки детали на производстве:
Тпз): Время, которое рабочий тратит на подготовку к выполнению задания. В него входит: получение наряда и технической документации (чертежей), ознакомление с работой, подготовка рабочего места, установка и снятие приспособлений и инструмента, наладка оборудования, а также сдача готовой партии. Это время затрачивается один раз на всю партию изделий.Тшт): Время, затрачиваемое непосредственно на изготовление одной единицы продукции. Оно включает основное (машинное) время, вспомогательное время (установка и снятие заготовки, замеры), время обслуживания рабочего места и время на отдых и личные надобности.Рассчитаем общее время на изготовление всей партии изделий по формуле:
Тпартии = Тпз + (Тшт * N), где N — количество деталей в партии.
Рассмотрев эту формулу, становится очевидно, почему штучная расценка должна зависеть от серийности. Если переналадка станка (Тпз) занимает 60 минут, а обработка одной детали (Тшт) — 10 минут, то:
60 + (10 * 2) = 80 минут. Среднее время на одну деталь — 40 минут.60 + (10 * 100) = 1060 минут. Среднее время на одну деталь — 10.6 минут.Если заплатить рабочему одинаковую фиксированную сумму за штуку в обоих случаях, при малой партии он сработает себе в убыток, а при крупной — получит сверхзаработок. Поэтому правильная методология требует отдельной оплаты за подготовку/наладку и отдельной оплаты за каждую изготовленную штуку.
В современных производственных системах отказываются от прямых денежных расценок за деталь в пользу универсального показателя — нормо-часов. Выясним, почему этот подход более эффективен:
ТарифнаяСтавка).Проанализируем преимущества такого подхода. Если деталь изготавливает высококвалифицированный рабочий 6-го разряда, его часовая ставка выше, чем у рабочего 3-го разряда. Норма времени на деталь остается единой (согласно технологической карте), но заработок за выполненный объем отражает квалификацию исполнителя, что снимает социальную напряженность в коллективе.
На небольших предприятиях часто отсутствует отдел труда и заработной платы (ОТиЗ) или отдельный инженер-нормировщик. В таких случаях выработать нормативную базу помогают альтернативные методы:
В условиях единичного и мелкосерийного производства чистая сделка часто приводит к росту брака или простоям не по вине рабочего (отсутствие металла, поломка инструмента, задержка чертежей). Для решения этих проблем применяются гибридные системы оплаты:
Повременно-премиальная система с выработкой нормо-часов: Рабочему гарантируется базовый оклад за отработанные по табелю часы. Если суммарно выполненная трудоемкость (в нормо-часах) превышает плановую норму за месяц, выплачивается сдельная премия.
Все отклонения от нормального хода производства обязательно оформляются отдельными документами:
Для реализации описанной методики в конфигурациях на платформе 1С (ERP, Комплексная автоматизация, УНФ или собственная конфигурация) разберем необходимый состав объектов учета.
Нам понадобятся следующие справочники и регистры:
Справочник.ТехнологическиеКарты — содержит перечень операций, ВремяПЗ (подготовительно-заключительное время) и ВремяШтучное.РегистрСведений.ТарифныеСтавкиРабочих — хранит стоимость одного часа работы в разрезе квалификационных разрядов или конкретных сотрудников.Документ.СдельныйНаряд (или ВыработкаСотрудников) — фиксирует факт выполнения работы, количество изделий в партии, фактических исполнителей и распределение КТУ (коэффициента трудового участия).Рассмотрим пример кода на языке 1С, выполняющего расчет нормо-часов и суммы оплаты по сдельному наряду с учетом серийности партии:
// Функция рассчитывает объем трудоемкости и сумму оплаты по операции наряда
Функция РассчитатьОплатуПоОперации(Знач ВремяПЗ, Знач ВремяШтучное, Знач КоличествоВПартии, Знач ЧасоваяСтавка) Экспорт
// Переводим нормативное время из минут в часы
ВремяПЗВЧасах = ВремяПЗ / 60;
ВремяШтучноеВЧасах = ВремяШтучное / 60;
// Общий объем нормо-часов на всю партию
ВсегоНормоЧасов = ВремяПЗВЧасах + (ВремяШтучноеВЧасах * КоличествоВПартии);
// Расчет итоговой суммы оплаты
СуммаОплаты = ВсегоНормоЧасов * ЧасоваяСтавка;
Результат = Новый Структура;
Результат.Вставить("НормоЧасы", ВсегоНормоЧасов);
Результат.Вставить("СуммаОплаты", Округлить(СуммаОплаты, 2));
Возврат Результат;
КонецФункции
Разберем случай, когда наряд выполняется бригадой из нескольких человек с применением Коэффициента Трудового Участия (КТУ). Напишем алгоритм распределения итоговой суммы наряда между членами бригады:
// Процедура распределяет сумму наряда между членами бригады пропорционально отработанным часам и КТУ
Процедура РаспределитьСуммуНарядаНаБригаду(ТаблицаИсполнителей, ОбщаяСуммаНаряда) Экспорт
ВсегоБаллов = 0;
// Рассчитываем суммарный балльный коэффициент бригады
Для Каждого СтрИз ТаблицаИсполнителей Цикл
Стр.Балл = Стр.ОтработаноЧасов * Стр.КТУ;
ВсегоБаллов = ВсегоБаллов + Стр.Балл;
КонецЦикла;
Если ВсегоБаллов = 0 Тогда
Возврат;
КонецЕсли;
// Распределяем денежные средства пропорционально баллам
Распределено = 0;
КоличествоЗаписей = ТаблицаИсполнителей.Количество();
Для Индекс = 0 По КоличествоЗаписей - 1 Цикл
Стр = ТаблицаИсполнителей[Индекс];
Если Индекс = КоличествоЗаписей - 1 Тогда
// Относим погрешность округления на последнего работника
Стр.СуммаОплаты = ОбщаяСуммаНаряда - Распределено;
Иначе
СуммаРаб = Округлить((ОбщаяСуммаНаряда * Стр.Балл) / ВсегоБаллов, 2);
Стр.СуммаОплаты = СуммаРаб;
Распределено = Распределено + СуммаРаб;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Таким образом, комбинируя грамотное разделение технологического времени (Тпз и Тшт), тарифную сетку нормо-часов и алгоритмы распределения выработки в 1С, мы получаем прозрачную и экономически обоснованную систему расчета заработной платы, понятную как руководству предприятия, так и самим рабочим.