Наконец-то произошла серьёзная доработка контура производства, которая минимум на порядок увеличила производительность персонала
Сейчас имею дело в основном с крупносерийном производстве, но немалую часть от которого занимает производство по заказам сложных готовых изделий. Схему изделия можно представить:
где каждый "квадрат" изготавливается своей бригадой и производимые полуфабрикаты используются во многих изделиях. В том числе часть из них изготавливается с запасом на несколько дней работы. Очень давно в системе появились режимы, кроме первого, который сделал 3 года назад:
Суть которых: разбиваем готовое изделие до:
1. полуфабрикатов - для формирования задания бригаде;
2. покупного сырья - план закупок под план выпуска. Раньше это использовалось раз в месяц для формирования плана закупок.
Месяц назад пришлось поучаствовать в очередном процессе прогнозирования плановой себестоимости изделий с учетом очередных радикальных повышений цен сырья поставщиками, что делается в третьем режиме. Заложенный раннее процесс разбивки одного изделия до сырья занимал 4 минуты... и таких разбивок было несколько десятков... и подумалось, а можно ли это автоматизировать? В принципе это решалось в задаче №1, которая исходно формулировалась:
Взять наш конкретный товар на полке магазина и получить список сырья с поставщиками и сроками годности сырья из которого изготовлен данный товар. Это один из критериев аудита проводимого сетями Х5 для допуска производителя к поставкам в данные сети.
Мелочь, но по утверждению аудитора это могла только "УС Лэнд" из проверяемых им производителей... Вводим код партии товара - нам он известен по отгрузочной ТТН:
Программа раскладывает его на реально используемое сырьё в виде справки:
Код:
Состав CR торт "Белочка" 0,600 6JM1 отгруженного 23.11.23 изготовленного 21.11.23 годного до 05.12.23 Стр. 1
----------------------------------------------------------------------------------------------------------------------------------
Наименование сырья |КодТ| Код и наименование поставщика сырья |ДатаПрих|Годно до
----------------------------------------------------------------------------------------------------------------------------------
Т-Стретч-пленка РП 17*500*384 (3кг/1рулон) 6HZD 04AA УПАКОВКА И СЕРВИС ООО 19.09.23 01.12.23
Бланк (этикетка тарная) 6G6M 00NF ООО Мастер принт 03.07.23 31.12.99
Этикетки в ассортименте 6HGP 03UR АО Флексо принт 30.08.23 31.12.99
..........
Сахар 6JBN 01P2 ООО Резерв 09.11.23 01.12.25
Почему не применить данный подход к ускорению работ по разбивке изделий? Влез в исходный код, проанализировал замороченные рекурсивные алгоритмы, вспомнил, что в схемах изделий могут быть перехлесты... и то, что иногда данная справка приводила к зацикливанию алгоритмов - проблема решена так же весьма заморочено. Отказался от этого подхода! Но что-то придумывать было надо!
Вспомнил приемы зачастую используемые в почившей "УС Лэнд:ЕГАИС" -
имитация действий пользователя. И решил прокачать этот подход:
Каждый раз начинать просмотр с первой строки списка изделий, п/ф, сырья - рабочая таблица оператора, но контролируя возможность зацикливания схем изделий:
1. Смотрю тип объекта. Если сырьё, приходящий п/ф, есть по строке проблемы, например его достаточно на остатке - пропускаю:
2. Если расходуемое и на него есть технологическая карта, то пытаюсь имитировать нажатие Enter пользователей. Если есть проблемы, то пропускаю позицию, а иначе разбиваю расходуемый п/ф согласно настройкам процесса производства, а разбитый п/ф удаляю из списка. Перехожу на очередной цикл просмотра списка
... и так далее пока не закончатся расходуемые п/ф или принудительно не превышу максимально число обходов.
Сделал, поставил, обучил специалистов по закупкам в режиме анализа цены изделия... Объяснил операторам, т.к. принято, что в фирме все владеют всеми видами работ с программой. Получил реакцию - мы тоже этого хотим в "прогнозе". Сделал - второй режим уже легче:
... и сейчас вместо сотни раз нажатия Enter на найденном разбиваемом п/ф они один раз нажимают Ctrl+BackSpace