На любом промышленном предприятии планирование закупок и учет износа производственного инструмента (сверл, фрез, плашек, электродов) является классической головной болью. С одной стороны, руководство требует точного обоснования бюджетов: директора не устраивает устное заверение технолога «клянусь, на следующий месяц нужно сто тысяч рублей на сверла». С другой стороны, попытка вести поштучный учет каждого копеечного сверла и списывать его дробно («0.05 сверла на деталь») превращает бухгалтерский и складской учет в ад.
В этой статье мы подробно проанализируем различные архитектурные подходы к решению этой задачи в программах 1С — от простых до продвинутых методик автоматизации.
Рассмотрим классический пример. Нам необходимо выполнить сверление технологических отверстий. Для этого используется сверло определенного диаметра (например, 1.2 мм). На заводе могут использоваться сверла разных производителей (условно: Сверло №1, Сверло №2, Сверло №3), у которых разная цена и разная износостойкость.
При этом стойкость инструмента напрямую зависит от обрабатываемого материала:
Перед ИТ-архитектором и бизнес-аналитиком встает задача: как спроектировать структуру данных в 1С, чтобы система сама понимала, какой инструмент, под какую заготовку и в каком объеме нужно закупить к определенному периоду производства, избегая при этом ручных расчетов технолога.
---
Автор темы предложил спроектировать индивидуальное решение, создав несколько новых объектов в конфигурации:
Инструмент (ссылка на номенклатуру), Вид инструмента, Тип обработки и ресурсом Стойкость (показатель износа). Также добавляется булевский реквизит Основной для назначения приоритетного инструмента по умолчанию.Вид инструмента, Тип обработки и Потребность.При таком подходе расчет потребности при разузловании заказа на производство выглядит следующим образом. Мы пишем запрос, который соединяет запланированные к производству детали, их спецификации и данные нашего регистра сведений:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СпецификацияМатериалы.ВидИнструмента КАК ВидИнструмента,
| СпецификацияМатериалы.ТипОбработки КАК ТипОбработки,
| СпецификацияМатериалы.ПотребностьКоличество КАК КоличествоОпераций,
| СтойкостьИнструментаСрезПоследних.Инструмент КАК НоменклатураЗакупки,
| СтойкостьИнструментаСрезПоследних.Стойкость КАК КоэффициентСтойкости
|ИЗ
| Справочник.СпецификацииНоменклатуры.Материалы КАК СпецификацияМатериалы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтойкостьИнструмента.СрезПоследних(&Период, Основной = ИСТИНА) КАК СтойкостьИнструментаСрезПоследних
| ПО СпецификацияМатериалы.ВидИнструмента = СтойкостьИнструментаСрезПоследних.ВидИнструмента
| И СпецификацияМатериалы.ТипОбработки = СтойкостьИнструментаСрезПоследних.ТипОбработки";
Критика решения: Данный вариант вполне рабочий для простых самописных систем, но у него есть существенный минус. Он заставляет плодить новые сущности в базе данных, которые придется поддерживать при обновлениях. Кроме того, этот механизм оторван от типового материального учета — инструмент здесь живет «своей жизнью», отдельно от стандартного складского обеспечения.
---
Чтобы не перегружать конфигурацию лишними справочниками, логично использовать типовой механизм 1С — Характеристики номенклатуры.
В этом случае параметры износостойкости и обрабатываемого материала переносятся в свойства и характеристики:
В системе настраивается автоматический подбор инструмента по правилу: СтойкостьИнструмента >= ПрочностьМатериала. Это позволяет избежать жесткой привязки конкретных номенклатурных позиций в спецификациях и дает снабжению гибкость при закупках: если на рынке нет Сверла №1, система автоматически предложит Сверло №2, так как его характеристики удовлетворяют условиям прочности обрабатываемой детали.
---
Многие участники обсуждения справедливо заметили: мелкий инструмент (сверла, плашки, пилки) по своей сути ничем не отличается от клея, электродов или защитного газа. Это обычные расходные материалы.
Разберем, как решить проблему «дробного списания» (когда на одну деталь уходит 0.001 часть сверла) и сопутствующие учетные нюансы:
Бухгалтеры часто протестуют против дробного количества номенклатуры на балансе: невозможно физически хранить на складе «половину сверла». Но в управленческом учете и калькуляции себестоимости это нормальная практика.
Решение заключается в разделении финансового и оперативного контуров:
---
Если вы работаете в современной конфигурации 1С:ERP Управление предприятием (редакции 2.5 / 3.0), изобретать велосипед не нужно — все описанные задачи решаются типовым функционалом.
Всю оснастку и инструмент разделяют на две категории:
В 1С:ERP нет необходимости прописывать жесткие нормы для каждого вида стали. Используется функционал Параметрических спецификаций. Расчет расхода инструмента настраивается по формуле:
Количество = [КоличествоОтверстий] * [КоэффициентИзносаМатериала]
Коэффициент износа подтягивается автоматически из дополнительных реквизитов номенклатуры заготовки. Если деталь из стали — применяется повышающий коэффициент, если из латуни — понижающий.
Для того чтобы ответить директору на вопрос «почему нам нужно именно столько денег на закупку», используется обработка Формирование заказов по потребностям:
ЗаказПоставщику с точным обоснованием объемов.Если план производства резко меняется (например, отменился заказ на стальные конструкции и завод переориентировался на алюминий), механизм пересчета потребностей автоматически скорректирует будущие закупки, предотвращая затоваривание склада ненужными типами сверл.
При проектировании системы планирования инструмента придерживайтесь следующих правил: