Как реализовать динамическое планирование загрузки позаказного производства в 1С?

Программист 1С v8.3 (Обычные формы) 1С:Комплексная автоматизация Управленческий учет Промышленность, строительство и АПК
← На главную

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

Анализ математической модели: от эвристик к управлению очередями

С точки зрения теории расписаний распределение неповторяющихся операций по альтернативным рабочим центрам с директивными датами сдачи представляет собой классическую задачу Job-Shop Scheduling Problem (JSSP). Попытка найти идеальное математическое расписание полным перебором непосредственно в базе данных 1С приведет к блокировкам и зависанию сеансов пользователей, поскольку задача относится к классу NP-трудных. Проанализируем, какие эвристические правила диспетчеризации (Dispatching Rules) целесообразно заложить в алгоритм для быстрого расчета очередей:

  1. Правило EDD (Earliest Due Date): первоочередной запуск заказов с наиболее ранней датой готовности. Это базовый ориентир для соблюдения контрактных обязательств.
  2. Правило SPT (Shortest Processing Time): приоритетное выполнение наименее трудоемких технологических операций. Этот подход помогает быстро разгружать участки от мелких партий и сокращает среднее время нахождения заказов в незавершенном производстве.
  3. Коэффициент критичности CR (Critical Ratio): вычисляется как отношение остатка времени до отгрузки к суммарной технологической длительности оставшихся этапов. Если расчетный показатель опускается ниже единицы, заказ находится в зоне риска срыва срока и требует автоматического повышения приоритета в очереди.
  4. Минимальный резерв времени MST (Minimum Slack Time): вычисление временного запаса между директивной датой сдачи и суммарной нормативной трудоемкостью незавершенных переделов.

Для построения графика примените комбинированный подход. Сначала выполните обратное планирование (Backward Scheduling) от желаемой даты клиента назад во времени, чтобы определить крайние сроки старта этапов по принципу Just-in-Time. Затем наложите результат на прямое планирование (Forward Scheduling) от текущей даты вперед с учетом фактической доступности графиков рабочих центров. Пересечение этих двух графиков мгновенно покажет узкие места и дефицит мощностей.

Применение теории ограничений Голдратта (TOC) и динамических буферов

В позаказном производстве детальное пооперационное расписание на несколько недель вперед неизбежно разрушается из-за нестабильности ручного труда, поломок оборудования или задержек поставок. Поэтому вместо попытки рассчитать каждую минуту работы оборудования целесообразно использовать методологию «Барабан — Буфер — Веревка» (DBR):

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

Конструктор параметрических спецификаций и маршрутов

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

  1. Создайте технологические карты, в которых формулы расхода материалов и норм времени привязаны к габаритам, свойствам и характеристикам заказанного изделия.
  2. Используйте скрипты или алгоритмические правила пересчета, собирающие состав технологических переделов «на лету» в момент проведения заказа или его передачи в производство.
  3. Предусмотрите матрицы допустимой взаимозаменяемости рабочих центров, где для каждой технологической операции указан приоритетный и резервный участок, а также коэффициент изменения трудоемкости при переходе на резервный станок.

Учет времени переналадок оборудования

Частая ошибка при динамическом сдвиге заказов ради соблюдения даты конкретного клиента — игнорирование переналадок (Sequence-Dependent Setup Time). Если система хаотично тасует заказы между участками, оборудование начинает тратить до 30% полезного фонда времени на смену оснастки, инструмента, цвета или толщины обрабатываемого материала. В алгоритм балансировки необходимо включить матрицу переналадок: при выборе следующего заказа в очереди приоритет должен отдаваться заказу со схожими технологическими характеристиками, если это не приводит к нарушению критического резерва времени (MST) других заказов.

Архитектурная реализация и преодоление ограничений платформы 1С

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

  1. Хранение данных в 1С: заказы, матрицы рабочих центров, календари графиков доступности и регистрация выпусков остаются внутри информационной базы (например, в регистрах сведений ГрафикиРаботы и ЗанятостьРабочихЦентров).
  2. Вынесение оптимизатора (External Solver): если эвристических методов 1С становится недостаточно, вынесите математический расчет расписания в отдельный микросервис (например, на базе специализированных библиотек линейного программирования и оптимизации ограничений, таких как OR-Tools). База 1С формирует JSON-пакет с массивом операций, доступных интервалов и связей, отправляет его через HTTP-сервис и оперативно получает обратно готовые координаты интервалов для заполнения графиков.
  3. Интерактивное управление диспетчера: стандартная диаграмма Ганта на обычных формах обладает низкой гибкостью. Для перетаскивания (drag-and-drop) технологических партий диспетчером с автоматическим контролем сдвига всей цепочки используйте встроенное поле HTML-документа с легковесными библиотеками таймлайнов на JavaScript. При изменении позиции операции обработчик страницы вызывает код 1С, проверяющий отсутствие наложений и допустимость переброски на параллельный рабочий центр.

Методология поэтапного внедрения

Не пытайтесь сразу автоматизировать всю цепочку в максимальной детализации. Разберем правильную последовательность запуска системы:

  1. Формализация технологических ограничений: совместно с главным инженером, конструктором и технологами зафиксируйте правила: не более 5 базовых сущностей, до 10 правил маршрутизации и минимальное число исключений.
  2. Внедрение планирования «по контрольным точкам»: начните с укрупненного межцехового планирования по суткам или сменам без поминутной диспетчеризации. Это позволит менеджерам видеть реальную загрузку оборудования на момент приема заказа.
  3. Переход к оперативной балансировке: только после того, как укрупненная модель покажет стабильность на реальном потоке заказов, внедряйте перенаправление очередей между альтернативными участками и расчет точного времени готовности.
← На главную