/
Сформировать заказ на перемещение аптеку (тип фоновой операции)

ООО "Рассвет". Преимущество первых

Сформировать заказ на перемещение аптеку (тип фоновой операции)

Назначение

Рассчитывает и формирует заказ на перемещение в аптеку по основной матрице с типом Автозаказ. Выполняется для каждой аптеки отдельно

Многопоточное

нет

Приоритет

 

Количество попыток

 

Параметры

Склад

Параметры процедуры

Параметр

Тип

Параметр

Тип

Склад

Справочник.Склады

Алгоритм

  • Получить для аптеки ближайшую возможную дату получения товара согласно: Производственного календаря аптеки, Графика доставки в аптеку, Производственного календаря центрального склада

  • Получить такую максимально ближайшую дату, чтобы между датой сборки и отгрузки прошло не более 3-х дней (то есть исключить обычные выходные склада)

Пример 1

Расчет происходит ночью с четверга на пятницу. Ближайшая доставка в аптеку в понедельник. Сб, Вс - выходные на центральном складе

Заказ формируется. Дата сборки - пятница, дата отгрузки - понедельник.

Пример 2

Расчет происходит ночью с четверга на пятницу. Ближайшая доставка в аптеку во вторник. Сб, Вс - выходные на центральном складе

Заказ не формируется, чтобы не ставить товар в резерв

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

Пример 3

Расчет происходит ночью с четверга на пятницу. Ближайшая доставка в аптеку во вторник. Сб, Вс - выходные на центральном складе. Но аптека не работает ближайшую неделю по причина отпуска единственного сотрудника

Заказ не формируется, чтобы не ставить товар на неделю в резерв

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

Это позволит не держать в резерве лишний товар, но отгружать его в максимально близкие к рабочим дням всех подразделений

Разделение заказов

Разделять заказы по количеству SKU, указанному в константе Максимальное количество строк в заказе на перемещение

Изменить алгоритм разделения:

К_Макс - Константа максимальное количество строк в заказе К_Строк - количество строк которое необходимо заказать Количество заказов = Округлить до целого в большу сторонру (К_Строк / К_Макс) К_Ост - остаток от деления Количество строк в заказе = К_Строк / Количество заказов. Это количество строк в одном формируемом заказе В последний заказ добавить остаток отделения

Такая корректировка позволить реализовать следующее разделение:

Если к заказу 51 SKU, тогда система сформирует заказы с 25 и 26 строками. Сейчас система формирует заказы с 50 и 1 строкой, что менее удобно

Расчет заказа

  • Рассчитать по аптеке К заказу по основной матрице (с учетом чеков в аптеке)

    • Если с момента открытия аптеки прошло количество дней меньше или равно Период с момента открытия, в течение которого торговая точка считается новой
      И

    • С момента закрытия прошло количество дней больше или равно, чем Период с момента закрытия, в после которого торговая точка считается новой ИЛИ предыдущего закрытия не было (то есть точка новая)
      ТОГДА

    • Формировать заказ на перемещение с типом Автозаказ по колонке Максимум по матрице торговой точки

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

Создание заказа

Учесть ограничение на количество строк в заказе

Тип заказа: Автозаказ

Дата отгрузки - полученная дата отгрузки

Комментарий: Автоматический заказ по основной матрице

Related content

Резервирование товаров в заказах на перемещение (регламентное задание)
Резервирование товаров в заказах на перемещение (регламентное задание)
Read with this
Автоматическое формирование заказа на перемещение по основной матрице (автозаказ)
Автоматическое формирование заказа на перемещение по основной матрице (автозаказ)
More like this
Автоматическое формирование заказа на перемещение по основной матрице (автозаказ)
Автоматическое формирование заказа на перемещение по основной матрице (автозаказ)
More like this