NAV4U (онлайн-журнал) » Blog Archive » Порядок балансирования спроса при планировании потребности в материальных ресурсах.

Порядок балансирования спроса при планировании потребности в материальных ресурсах.

В Navision заложено несколько алгоритмов планирования. От примитивного «Создать производственный заказ» из окна заказа продажи до сложного регенеративного планирования.

Именно регенеративное планирование учитывает все параметры, указанные в карточке товара, что позволяет наиболее гибко управлять процессом.

Базовое единицей планирования является единица складского учета (далее СКУ), т.е. сочетание измерений Товар, Склад, Вариант. Cистема сбалансирует спрос на конкретный вариант конкретного товара на определенном складе.

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

Итак, начнем.

Регенеративное планирование вызывается из журнала Производственный план (Производство / Планирование / Произ.планы, кнопка Функции / Вычислить регенеративный план). При нажатии на кнопку, происходит вызов отчета Расчет Плана - Произ. План (99001017 Calculate Plan - Plan. Wksh.).

Отчет работает на базе датаайтема Item (таблица 27). В свойстве DataItemTableView указана сортировка по полю «Low-Level Code». Отсюда становиться понятной важность запуска периодического задания «Рассчитать код нижнего уровня» перед запуском процедуры планирования.

Примечание.
Пакетное задание «Рассчитать код нижнего уровня» запускается из меню Производство / Проектирование товара / Рассчитать код низкого уровня). При этом происходит запуск кодеюнита 99000853 Calc. Low-level code.
На основе вложенности спецификаций, система присваивает товарам коды нижнего уровня. Т.е. товару, который потребляется при производстве самого первого полуфабриката будет присвоен наибольший код, а готовому изделию будет присвоено значение 0.
Код нижнего уровня может рассчитываться динамически - при изменении статуса спецификации, для этого в окне Производство Настрока (Производство / Настройка / Производство Настройка) на закладке Общее нужно установить флаг в поле «Динамический код нижнего уровня».

Отчет сортирует справочник товаров по возрастанию значения в поле «Код нижнего уровня», т.е. первыми проходят процедуру планирования готовые изделия или товары на перепродажу (у них «Код нижнего уровня» = 0).

Товары с одинаковым кодом нижнего уровня отсортированы по полю «Но.» (как известно первичный ключ добавляется к дополнительному ключу).

Для каждого товара система запускает кодеюнит 5431 Calc. Item Plan - Plan Wksh, из которого в свою очередь запускается 99000854 Inventory Profile Offsetting.

Система планирования формирует две таблицы Товар Профиль (99000853 Inventory Profile), в одной содержится весь спрос, во второй все поставки. В этой таблице указаны товар, вариант, склад, количество, дата выполнения и другие параметры.

Затем на основании указанных таблиц система создает временную таблицу «Единицы складского учета» (5700 Stockkeeping Unit) куда включает все комбинации Склад-Товар-Вариант найденные в таблице Товар Профиль.

Примечание
При этом, если указанные единицы складского учета существуют (введены пользователем), то параметры планирования копируются в указанную временную таблицу. Если единицы складского учета с указанной комбинацией измерений не существует, то политика дозаказа принимается равной Лот-для-Лота, Включать Наличие = Да, а все остальные параметры планирования остаются пустыми. Подробнее смотри раздел “Планирование со складами и без складов” во встроенной справочной системе.

Временная таблица «Единицы складского учета» сортируется по ключу “Товар Но.”,”Перемещение Код Уровня” (Item No.,Transfer-Level Code). Как мы знаем, система планирования запускается для каждого товара, соответственно в данной таблице товар всегда один. Поле Перемещение Код Уровня заполняется системой только для единиц складского учет с Методом Пополнения = Перемещение, для остальных Методов пополнения оно равно 0.

Примечание
Система проверяет, существует ли СКУ для указанного товара и варианта, на складе-отправителе. Если единица складского учета существует, то в поле СКУ.”Перемещение Код Уровня” принимает значение СКУ-отправитель.”Перемещение Код Уровня”-1.
Если же СКУ-отправитель не существует, то СКУ.”Перемещение Код Уровня” :=-1.
Т.е. первым обрабатывается спрос на замыкающем складе в цепочке перемещений. Последними обрабатываются СКУ складов с Методом Пополнения =Покупка|Производство.

Как известно, в конце дополнительного ключа добавляется первичный ключ, для СКУ это «Код Склада,Товар Но.,Код Варианта» (Location Code,Item No.,Variant Code).

Далее система планирования перебирает записи временной таблицы «Единицы складского учета». При переходе на следующую запись система устанавливает фильтры по полям Товар Но, Склад Код, Вариант Код на таблицы Товар Профиль (отдельно спрос и отдельно поставки). Таблицы Товар Профиль отсортированы по ключу “Товар Но”,”Вариант Код”,”Склад Код”,”Дата Выполнения”.

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

  1. _Товары. (”Low-Level Code”, “No.”)
  2. ___СКУ, связь через поле Товар Но (”Transfer-Level Code”, “Location Code”,”Variant Code”)
  3. _____Товар Профиль, связь через поля Товар Но, Склад Код, Вариант Код (”Due Date”)

Метки:



Комментариев: 1

  1. apanko пишет:

    Пару ссылочек про особенности планирования в NAV 5.0 SP1

    https://mbs.microsoft.com/partnersource/support/selfsupport/hottopics/SupplyPlanningIssuesNAV500SP12009

    https://mbs.microsoft.com/partnersource/support/selfsupport/hotfixes/msd_nav5sp1rollupupdatejune09.htm

Оставьте свой отзыв!