Блог

Наше ТЗ

Задача

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

Требования

  1. Учет всех необходимых для производства товара комплектующих.
  2. Автоматизация процесса формирования заказа на комплектующие с учетом неснижаемого остатка.
  3. Учет промежуточных комплектующих (сборочных единиц), производимых собственными силами.
  4. Учет местоположения комплектующих и их перемещений между цехом и складом. Учет остатков после производства.
  5. Резервирование комплектующих, необходимых для производства продукта, с учетом нарезки (для длиномерных комплектующих).
  6. Контроль непревышения неснижаемого остатка по заготовкам с уведомлением руководства в случае превышения запасов.
  7. Компоненты могут быть взаимозаменяемы (полная взаимозаменяемость, без преимуществ между заменами).
  8. Ведение базы поставщиков, указание предпочтительных поставщиков по конкретным компонентам, учет минимального объема заказа.
  9. При указании компонентов, из которых производится продукт, должна быть возможность ввести норморасход. Отчеты по продуктам без указания норморасхода.
  10. Отслеживание дат поставки компонентов и примерных сроков выполнения заказов.
  11. Удаление комплектующих и товаров возможно только в том случае, если они не участвуют в активных заказах.
  12. При наличии детализации компонента (например, нарезки разной длины) менеджеру производства необходимо дать возможность выбрать конкретные комплектующие.

Описание процедур и действий

Стадии обработки заказов продукции

  1. Менеджером вводится заказ продукта.
    статус new – введен менеджером
    В базу заносятся выбранные компоненты со 100% недостаточности (в параметр volume_discontented записывается необходимый объем компонента).
  2. Резервирование компонентов.
    статус contenting – резервирование необходимых комплектующих
    Ожидание комплектации заказа компонентами. Менеджеру по снабжению отправляется уведомление.
  3. заказ укомплектован. ожидание передачи в производство
    статус contented – комплектующие полностью зарезервированы. Менеджеру по производству отправляется уведомление.
  4. Принятие в производство менеджером по производству.
    статус produce – принят в производство
    Менеджеру предлагается выбрать конкретные компоненты среди тех компонентов, у которых есть детализация количества.
    Выписка наряда на перемещение необходимых комплектующих в цех.
  5. Заказ выполнен. Ввод реального расхода по всем комплектующим.
    статус shipping – произведен. ожидание отгрузки
    Менеджеру отправляется уведомление о готовности заказа.
    Если не установлен флаг «норморасход оформлен», в адрес бухгалтерии отправляется письмо – «Заказ готов к отгрузке без оформления расхода, просьба ускорить оформление норморасхода».
  6. Заказ отгружен, статус вводится менеджером.
    статус shipped – отгружен
  7. Если установлен флаг «норморасход оформлен», заказ закрывается.

Резервирование компонентов

  1. выборка заказа в состоянии new 
  2. смена статуса в состояние contenting
  3. подбор компонентов заказа из имеющихся резервов на основании формул норморасхода.
    • Заполнение полей volume_contented – какой свободный объем имеется на данный момент и может быть зарезервирован.
    • уменьшение полей volume_discontented (volume_discontented = volume_discontented – volume_contented)
    • уменьшение количества комплектующих на складах на величину volume_contented.
    • выставление заказу статуса contented в случае, если volume_discontented равняется 0.
  4. повторение до тех пор, пока есть заказы в состоянии new 
 

Проверка складов на необходимость доказа комплектующих

Данная процедура разбивается на 2 части:

  1. периодическая проверка на недостаточность (делается автоматически):
    • компоненты, производимые самостоятельно: в этом случае производится автоматическое создание заказа на компонент.
    • компоненты, поставляемые сторонними организациями: опционально отправляется письмо менеджеру по снабжению.
  2. получение отчета о нехватке компонентов, поставляемых сторонними поставщиками.

Получение отчета о нехватке компонентов, поставляемых сторонними поставщиками:

  1. суммирование недостающего объема компонентов в заказах в состоянии contenting
  2. вычитание объема компонентов, находящихся на данный момент в текущих заказах поставщикам или на складах.
  3. добавление неснижаемого остатка. если значение полученой величины ниже нуля:
    • формирование списка компонентов для заказа поставщикам: компонент, необходимый объем, список поставщиков данного компонента с объемом, выравненным по кратности поставки, и выводом условий поставки.
    • формирование заказов выбранным поставщикам.
    • выставление сроков комплектации неукомплектованным компонентам в заказах продукции на основе сроков поставки выбранного поставщика (если всем компонентам заказа выставлен срок поставки, автоматически выставляется срок поставки (predicted_waiting_date) в самом заказе).

Принятие заказаных комплектующих на склад

  1. просмотр заказов поставщикам
  2. заполнение формы принятия заказа: можно задать объем принимаемых компонентов – полностью поставлен или частично.
  3. по списку принятых компонентов запускается механизм комплектации заказов – резервирование необходимого количества компонентов в заказах в порядке создания последних (т.е. если принятого объема не хватает на все заказы, то комплектуются сначала самые ранние заказы). Если после этого объем свободных компонентов выше неснижаемого остатка, то отправляется уведомление руководству.
  4. если заказ принят полностью, он закрывается.

Принятие заказа для производства

  1. Менеджер производства вводит ожидаемую дату окончания производства.
  2. Менеджеру продаж отправляется письмо о том, что заказ передан в производство с ожидаемой датой окончания.

Ввод реальных объемов использованных компонентов

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

Передача компонентов между складами

  1. выбирается склад-отправитель и склад-получатель.
  2. указываются компоненты, которые должны быть перемещены.
  3. создается заявка на перемещение компонентов, компоненты резервируются (становятся недоступными для комплектации заказов), заинтересованные лица получаются уведомления.
  4. после реального перемещения заявка закрывается, компоненты передаются на склад-получатель.

Отчет для руководства «Контроль норморасхода и времени исполнения заказа»

На основании сравнения расчетных и реальных данных по норморасходу составляется таблица для сравнения.
Указывается прошедшее время с момента введения заказа до начала его производства и сравнивается время производства расчетно-ожидаемое и реальное.


Модель

Модель компонента

Помимо справочных данных (название, вес и т.д.) компонент обладает полем Dimension (размер) и Dimension_unit (размерность). Этот параметр позволяет учитывать компоненты, которые по природе являются делимыми – например, трубы, проволока, жидкости и т.д. Также с помощью этого параметра возможно учитывать упаковки компонентов: в размерности указываются штуки, в размере указывается число штук в упаковке.

 

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


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


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

Пример хранения комплектующих и расходников

Pipe: dimension задает длину в метрах. В детализации указаны косок в 10 и два в 5 метров.
Oil: объем в литрах.
fiting: поскольку компонент не детализируется по объему (читай – не делится), то в dimension можно ничего не указывать. Для учета фитингов пачками, можно задать размерность в штуках, в dimension указывать число штук в упаковке.


<textarea>

Модель товара

Товар обладает набором фиксированных атрибутов, задающихся при создании товара, и набором атрибутов, заполняемых при оформлении заказа на данный товар.


Фиксированные атрибуты товара:

  • название
  • описание
  • список фиксированных комплектующих товара

Атрибуты, заполняемые при оформлении заказа:

  • список вводимых (вариативных) параметров товара
  • количество
  • список выбираемых (вариативных) комплектующих товара

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

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

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

  • имя, отображаемое в форме оформления заказа;
  • псевдоним (алиас), используемый в формулах (желательно короткое, однозначное название);
  • группа компонентов (выбираются из каталога компонентов).

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

Формулы норморасхода

Каждому компоненту, который может быть использован для производства, назначается функция норморасхода от заданных параметров товара, а также от параметров других выбранных компонентов (например, длина рукава складывается из длин фитингов и самих оболочек, т.о. длина оболочки = k*(рукав::длина – фитинг1::длина – фитинг2::длина.) ).
Т.о. формулы привязываются не только к количеству данного компонента, но и к любому атрибуту компонента. Это позволит, учитывать не только нарезку заготовок оболочек, но и прочие частичные расходы единиц компонентов.
Формула норморасхода определяет резервируемый объем каждого компонентах.


Пример:

У товара «рукав» есть параметр «длина». В производстве товара используются компоненты «оболочка», «фитинг», «краска» с атрибутами «длина» для «оболочка» и «объем» для «краска».
Компонентам назначены формулы (такой вид формул показан для наглядности):

  • оболочка: длина = 1.2 * (товар::длина – фитинг1::длина – фитинг2::длина) * товар::количество
  • фитинг1: число = товар::количество
  • фитинг2: число = товар::количество
  • краска: объем = 0.7 * товар::длина * товар::количество

Интерфейсы

Перечисляются необходимые интерфейсы и функции, которые ими выполняются.

Форма изменения товара

Примерный вид формы ввода и изменения товара. Формулы норморасхода вводятся для каждого компонента товара. Также могут быть введены формулы для каждого из вариативных компонентов.

Материально техническая ведомость

Функции интерфейсов управления базой комплектующих (заготовок), на основе которой производится анализ возможности или невозможности выполнения заказов на продукцию:

  • просмотр списка комплектующих с выводом неснижаемого остатка, веса, количества в цеху, на складе, в дороге. Количества должны иметь возможность детализироваться по нарезке там, где может быть нарезка.
  • добавить/изменить (описание/размеры/формулы)
  • форма для указания задействуемых при производстве товара комплектующих: выводится список комплектующих и поля для ввода норморасхода (в поле можно ввести как число, так и формулу – функцию от параметра (длины или любого другого) производимого товара).
  • рубрикатор (разбивка по группам)
  • удаление (удалять можно только после проверки отсутствия в текущих незакрытых заказах)
  • с каждой позиции есть ссылка на список ее поставщиков

Поставщики

База поставщиков используется для упрощения формирования заказов на поставку комплектующих, а также последующего отслеживания этих заказов и полуавтоматического принятия заказанных комплектующих на склад.
Функции:

  • добавление/изменение поставщика
  • просмотр поставщиков
  • удаление поставщика
  • форма для указания типов и стоимости поставляемой продукции (список используемых комплектующих по типам и размерам, галка «поставляют/не поставляют», единица поставки (объем, за который указана цена), цена за единицу поставки, флаг «главный поставщик», условия поставки и оплаты. нужно для формирования заказов на комплектующие поставщикам).

Заказы поставщикам

Управление заказами на комплектующие. По отчету о превышении лимитов по остаткам можно сформировать один или несколько заказов заданным поставщикам. В сформированном заказе можно указать ориентировочное время поставки, которое будет использовано при расчете ориентировочного времени выполнения заказа на рукава. Если по заказу пришли не все комплектующие, их можно принять частично (при этом прогнозы по заказам ну рукава будут пересчитаны).


  • просмотр списка комплектующих, которые поставляются данным поставщиком, с полем для ввода количества (количество формируется автоматически на основании анализа имеющихся заказов и размеров неснижаемых остатков. можно поменять вручную).

Можно сформировать заказ конкретному поставщику на основе требуемого количества комплектующих.

  • просмотр списка комплектующих, по которым нужно восполнить неснижаемый запас (с учетом текущих заказов), с указанием необходимого количества (можно поменять вручную) и селектором поставщиков, из которого нужно выбрать того, кому будет сформирован заказ. Т.е. по каждой позиции комплектующих предлагается уточнить количество и выбрать нужного поставщика.
  • просмотр текущих заказов по комплектующим с возможностью проставить/изменить ожидаемое время поставки.
  • просмотр конкретного заказа с возможностью частичного/полного приема на склад (указываются объемы пришедшим комплектующих, либо заказ принимается целиком).

Заказ рукавов

Ведение заказов на рукава.

  • просмотр текущих с фильтром по статусом и сортировкой по времени создания/предполагаемого завершения.
  • создание заказа по заданному продукту
  • ввод данных по реальному использованию комплектующих для данного заказа
  • смена статусов заказа

Перемещение комплектующих

  • форма с количествами комплектующих по заказу или нескольким заказам и выбором места перемещения (склад/цех).

Учет перемещений комплектующих.

Принятие на склад

  • список комплектующих с указанием количества. указывается количество поступивших комплектующих.

Механизм, который позволяет принимать комплектующие на склад без использования заказов поставщикам.

Коленько Сергей