Перейти к основному содержимому

Алгоритм расчета количества компонента к закупке или производству

Система сначала считает предварительное количество заказа КЗ(предв) с учетом потребности в заказах, регулярного потребления и текущего остатка за вычетом неснижаемого остатка компонента НОС. Затем итоговое КЗ ограничивается лимитом хранения на складе (ЛХС). Лимит хранения в цеху в расчете КЗ не используется.

Если итоговое КЗ меньше минимального значимого количества, рекомендация обычно не создается. Исключение можно включить глобальной переменной save_recomendations_with_not_null_quantity_to_supply_preliminary_and_null_quantity_to_supply: тогда система сохранит рекомендацию с КЗ = 0, если КЗ(предв) было ненулевым.

Что учитывается

Для каждой позиции используются:

  • ПВЗ - потребность в заказах;
  • ТО - текущий ликвидный остаток;
  • ТО(расч) - текущий остаток для расчета КЗ: ТО - НОС;
  • остаток в пути;
  • открытые перемещения, которые уменьшают или увеличивают ТО;
  • НОС - неснижаемый остаток из карточки товара;
  • ЛХС - лимит хранения на складе. Если лимит не задан, в расчете используется 0;
  • ИОХ - избыточный объем хранения;
  • РСМ - среднемесячное потребление за срок анализа, по умолчанию 6 месяцев;
  • РПМ - пиковое месячное потребление за тот же срок анализа;
  • СП - срок поставки или производства, дней;
  • ПП - период поставки или производства, дней;
  • КП - кратность поставки или производства.

ИОХ считается по расчетному остатку:

ИОХ = max(ТО(расч) + ЛХС - ПВЗ, 0)

Текущий остаток

ТО считается по ликвидным местам хранения:

склад, цех, производство, в пути

Открытые перемещения корректируют ТО: исходящие из ликвидного места уменьшают остаток, входящие в ликвидное место увеличивают остаток.

Для расчета КЗ из ТО вычитается НОС:

ТО(расч) = ТО - НОС

Прогнозный расход

Система сравнивает РПМ и РСМ. Если потребление регулярное, добавляется прогноз на период поставки и срок поставки:

прогноз = РСМ * (ПП + СП) / 30

Если РПМ слишком сильно выше РСМ, расход считается нерегулярным и прогноз не добавляется. При отсутствии РСМ прогноз также не добавляется.

КЗ(предв)

Предварительное количество заказа:

КЗ(предв) = ceil(прогноз + ПВЗ - ТО(расч))

Если задана КП, КЗ(предв) округляется вверх до ближайшего кратного значения:

КЗ(предв) = ceil(ceil(КЗ(предв) / КП) * КП)

Итоговое КЗ

Итоговое КЗ ограничивается ЛХС.

Если ЛХС не задан или равен 0:

если ПВЗ > ТО(расч): КЗ = ПВЗ - ТО(расч) если ПВЗ <= ТО(расч): КЗ = 0

Если после выдачи ПВЗ остаток уже превышает ЛХС:

если ТО(расч) - ПВЗ > ЛХС: КЗ = 0

Если предварительный заказ помещается в ЛХС:

если КЗ(предв) + ТО(расч) - ПВЗ <= ЛХС: КЗ = КЗ(предв)

Если предварительный заказ не помещается в ЛХС:

КЗ = ЛХС + ПВЗ - ТО(расч)

Когда рекомендация не создается

Рекомендация не создается, если итоговое КЗ меньше минимального значимого количества.

Если включена глобальная переменная save_recomendations_with_not_null_quantity_to_supply_preliminary_and_null_quantity_to_supply, такая рекомендация все равно сохраняется при ненулевом КЗ(предв). Это нужно, чтобы снабженец или мастер видел позицию, по которой предварительная потребность есть, но итоговое КЗ обнулено ЛХС.

На практике это значит, что:

  • текущий остаток за вычетом НОС закрывает ПВЗ;
  • после выдачи ПВЗ останется избыточный объем хранения;
  • лимит хранения не позволяет сформировать положительное количество заказа.

Коротко

КЗ(предв) = прогноз + ПВЗ - (ТО - НОС), с округлением вверх и по КП КЗ = КЗ(предв), но не больше количества, которое помещается в ЛХС после закрытия ПВЗ

В подсказке по КЗ система дополнительно показывает комментарий, почему количество оставлено без изменений, уменьшено или не рекомендовано.