Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| hc:purchase:demandcalculation [01.10.2026 17:10] – внешнее изменение | hc:purchase:demandcalculation [05.10.2026 11:47] (текущий) – внешнее изменение | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ~~ICON: | ~~ICON: | ||
| + | ~~PATH: | ||
| - | ====== | + | ====== |
| + | Планирование помогает держать в каждой точке продаж столько товара, | ||
| - | Модуль рассчитывает потребность | + | ===== Общее описание |
| - | ===== Загрузка параметров планирования | + | Параметры планирования |
| - | Для того, чтобы на основании заданных | + | <WRAP steps> |
| - | + | - **Оборачиваемость** Система по истории продаж считает, за сколько дней | |
| - | Этот параметр может быть назначен экспертно. Зависит | + | - **Алгоритм и уровни** Для |
| + | - **Планируемый запас** По алгоритму система считает, сколько товара должно быть в точке продаж. | ||
| + | - **Потребность** Планируемый | ||
| + | - **Заявка** | ||
| + | </ | ||
| - | Второй | + | > Цель |
| - | Как быстро спланировать | + | ===== Основные понятия ===== |
| - | Используя вкладку **Отчёты** в панели | + | <WRAP props> |
| + | | **Оборачиваемость расчётная** | За сколько дней продаётся одна единица товара по фактическим продажам в этой точке. Дни, когда | ||
| + | | **Оборачиваемость пользовательская** | Значение, заданное вручную. Если оно есть, расчёты используют его вместо расчётного. Нужно для новых товаров без | ||
| + | | **Планируемый запас** | Сколько товара должно быть в точке продаж. Считается выбранным алгоритмом по кнопке «рассчитать» или массовым расчётом; сам не пересчитывается | | ||
| + | | **Неснижаемый | ||
| + | | **Максимальный запас** | Верхний порог. У алгоритма Минимакс — «Максимальный уровень» | | ||
| + | | **Остаток** | Сумма остатков товара по всем характеристикам в точке продаж, включая отрицательные | | ||
| + | | **В пути** | Количество товара в заказах поставщикам этой точки в статусе «В пути» | | ||
| + | | **Рекомендовано к закупке** | Планируемый запас − (остаток + в пути). Если результат не больше нуля или планируемый запас не задан — «закупка не требуется» | | ||
| + | </ | ||
| - | {{: | + | ===== Алгоритмы расчёта ===== |
| - | Отчёт можно выгрузить в файл csv (открывается в Excel). Далее рассчитать скорость продаж в день и подготовить для загрузки необходимые параметры также в формате csv: ID код торговой точки (склада), ID товара, целевое количество, неснижаемое (минимальное) количество. | + | ==== Теория ограничений |
| + | Товар всегда дозаказывается до целевого уровня: | ||
| - | Необходимые данные можно загрузить через таблицу, нажав соответствующую кнопку в разделе "Товарные запасы". | + | * **Планируемый запас** равен целевому уровню (с округлением вверх). |
| + | * **Целевой уровень** задаётся вручную или | ||
| - | Алгоритм расчета потребности и параметры расчета задаются в сущности «Товарные запасы». | + | <WRAP center round box 80%> |
| - | Для | + | Целевой уровень = ⌈ продажи в день × (частота закупок + срок поставки) × (1 + страховой |
| + | </ | ||
| + | Продажи в день = 1 / оборачиваемость. Пример: | ||
| - | {{: | + | ==== Минимакс ==== |
| - | {{: | + | Товар заказывается, |
| + | * Если **остаток + в пути меньше минимального уровня**, | ||
| + | * Иначе планируемый запас не задаётся — закупка не требуется. | ||
| - | Можно изменить параметры, | + | Уровни задаются вручную |
| - | ===== 1. Алгоритм «Теория ограничения Голдратта» ===== | + | <WRAP center round box 80%> |
| + | Минимальный уровень = ⌈ продажи в день × (частота закупок + срок поставки) × (1 + страховой запас % / 100) ⌉ \\ | ||
| + | Максимальный уровень = ⌈ продажи в день × (2 × частота закупок + срок поставки) × (1 + страховой запас % / 100) ⌉ | ||
| + | </ | ||
| - | Алгоритм по Голдратту работает | + | Пример: продаётся 1 шт. в день, закупки |
| - | Потребность рассчитывается следующим образом: | + | <WRAP info> |
| - | //если фактический остаток плюс товары | + | Для вашей компании могут быть настроены и другие алгоритмы |
| + | </WRAP> | ||
| + | ===== Параметры товара ===== | ||
| + | Откройте **Запасы → Товарные запасы**, | ||
| - | {{: | + | {{: |
| + | * Ссылка **«рассчитать»** у планируемого запаса пересчитывает его по выбранному алгоритму. Если алгоритм не задан, появится сообщение «Не задан алгоритм расчета планируемого запаса. Выберите его кнопкой «Изменить параметры».» | ||
| + | * Ссылка **«рассчитать»** у расчётной оборачиваемости пересчитывает её по истории продаж. | ||
| + | * Под датами расчёта видно, когда значение считали в последний раз. | ||
| + | ==== Изменение параметров ==== | ||
| - | Целевое значение и планируемый запас 15 Остаток | + | Кнопка **«Изменить параметры»** открывает окно, где можно задать |
| - | Потребность = 15 – (12+0)=3 | + | {{: |
| + | После смены алгоритма или уровней нажмите **«рассчитать»** у планируемого запаса — иначе в карточке и заявке останется прежнее значение. | ||
| - | {{: | + | ==== Расчёт уровней для одного товара ==== |
| + | Если выбран алгоритм Голдратта или Минимакс, | ||
| - | При автоматическом выводе | + | <WRAP procedure> |
| - | + | - Укажите **частоту закупок**, **средний срок поставки** и **страховой | |
| - | Как работать | + | - Нажмите **«Рассчитать»**. Под формой появится результат и ход |
| - | + | - Проверьте значение и нажмите | |
| - | + | - Нажмите **«рассчитать»** у планируемого запаса, чтобы он учёл | |
| - | <WRAP center round tip 60%> | + | |
| - | Важно! Если целевой | + | |
| </ | </ | ||
| + | {{: | ||
| - | {{:hc: | + | Если у товара нет ни расчётной, |
| + | Кнопка **«История изменений»** показывает все рассчитанные значения уровня с датами и оборачиваемостью, | ||
| - | Если навести курсор на значок «i», то будет выведено описание | + | {{: |
| + | ===== Светофор уровня запаса ===== | ||
| + | Первая колонка списка товарных запасов показывает, | ||
| - | {{: | + | {{: |
| + | ^ Цвет ^ Значение ^ | ||
| + | | Зелёный | Остаток равен планируемому запасу | | ||
| + | | Серый | Остаток больше планируемого — избыток | | ||
| + | | Жёлтый | Остаток меньше планируемого, | ||
| + | | Красный | Остаток не больше неснижаемого запаса (если неснижаемый не задан — остатка нет) | | ||
| + | | Пустой кружок | Планируемый запас не задан | | ||
| - | Как настроить | + | Для алгоритма Голдратта неснижаемый запас равен целевому уровню, |
| - | В товарных запасах по торговой точке перейти в товар, нажать **ИЗМЕНИТЬ ПАРАМЕТРЫ**, | + | Колонки «Планируемый запас» и «Неснижаемый запас» |
| + | ===== Массовые операции ===== | ||
| - | {{: | + | Меню **«Действия»** в списке товарных запасов. Операции применяются ко всем товарам, |
| + | ==== Массовое изменение параметров ==== | ||
| - | Оборачиваемость в данном случае не влияет на расчет потребности. В этом алгоритме работает экспертное мнение пользователя по установке целевого уровня. | + | **«Действия» → Массовое изменение параметров...** задаёт алгоритм, уровни и пользовательскую оборачиваемость сразу для всех |
| - | Дополнительно по данным в товаре содержится справочная информация о потребности, которую нужно закупить | + | |
| + | {{: | ||
| - | {{: | + | ==== Копирование с другой точки продаж ==== |
| + | **«Действия» → Скопировать параметры c другой точки продаж...** переносит настройки планирования из точки-образца в текущую — удобно при открытии новой точки без истории продаж. | ||
| + | {{: | ||
| + | Для каждого параметра — уровня планируемого запаса, | ||
| - | ==== 2. Алгоритм расчета | + | <WRAP cards> |
| + | * //Копирование// **Не копировать** Значение в текущей точке не меняется. | ||
| + | * //Копирование// **Копировать всегда** Значение заменяется значением из точки-образца. | ||
| + | * // | ||
| + | </ | ||
| + | Если алгоритм копируется, | ||
| - | Этот | + | ==== Загрузка через |
| - | Потребность рассчитывается следующим образом: | + | **«Действия» → Загрузить через таблицу...** загружает параметры сразу по многим товарам. Добавьте нужные столбцы: «Алгоритм расчета планируемого запаса» (название алгоритма, как в списке), «Планируемый запас», |
| - | //если | + | |
| + | ==== Расчёты ==== | ||
| + | <WRAP props> | ||
| + | | **Рассчитать оборачиваемость** | Пересчитывает расчётную оборачиваемость отобранных товаров по истории продаж. Запускается кнопкой «Рассчитать» в окне, показывает ход расчёта; | ||
| + | | **Рассчитать планируемый запас...** | Пересчитывает планируемый запас по алгоритму каждого товара. Товары без алгоритма пропускаются | | ||
| + | | **Рассчитать уровни планирования запасов → для алгоритма Голдратта... / для алгоритма Минимакс...** | Массово рассчитывает уровни по формулам выше для отобранных товаров с этим алгоритмом и известной оборачиваемостью | | ||
| + | | **Сформировать заявку на пополнение** | Создаёт [[hc: | ||
| + | </ | ||
| + | {{: | ||
| + | В окнах расчёта уровней поле **«Пересчитать уровни»** ограничивает расчёт: | ||
| - | {{: | + | ===== Порядок действий перед заявкой ===== |
| + | <WRAP procedure> | ||
| + | - Проверьте [[hc: | ||
| + | - Запустите **«Действия» → Рассчитать оборачиваемость** — она обновится с учётом последних продаж. При большом ассортименте расчёт удобно запускать накануне. | ||
| + | - При необходимости пересчитайте уровни: | ||
| + | - Запустите **«Действия» → Рассчитать планируемый запас...**. | ||
| + | - Нажмите **«Действия» → Сформировать заявку на пополнение** или создайте заявку с автозаполнением в разделе [[hc: | ||
| + | </ | ||
| + | ===== Права доступа ===== | ||
| + | <WRAP props> | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | </ | ||
| + | ===== Частые ошибки ===== | ||
| + | ^ Сообщение или ситуация ^ Причина ^ Что делать ^ | ||
| + | | Не задан алгоритм расчета планируемого запаса. Выберите его кнопкой «Изменить параметры». | У товара не выбран алгоритм | Выберите алгоритм в «Изменить параметры» | | ||
| + | | Нет данных об оборачиваемости — расчёт невозможен | У товара нет продаж в этой точке и не задана пользовательская оборачиваемость | Задайте пользовательскую оборачиваемость или уровни вручную | | ||
| + | | Массовый расчёт уровней обработал не все товары | Уровни считаются только для товаров с этим алгоритмом и известной оборачиваемостью | Задайте алгоритм и оборачиваемость или выберите «(пересчитать все)» | | ||
| + | | «Рекомендовано к закупке» не изменилось после смены уровней | Планируемый запас не пересчитан | Нажмите «рассчитать» у планируемого запаса или запустите массовый расчёт | | ||
| + | | Минимакс не предлагает закупку при остатке ниже минимума | Остаток вместе с товаром в пути не меньше минимального уровня | Проверьте заказы поставщикам в статусе «В пути» | | ||
| + | | Потребность занижена | В пути числятся заказы, | ||
| - | Минимальный уровень 15, максимальный 20, остаток 12, в пути 0. Необходимо докупить 8 | + | ===== Связанные разделы ===== |
| - | 12< | + | |
| - | Если остаток + товары в пути больше или | + | |
| + | <WRAP related> | ||
| + | * [[hc: | ||
| + | * [[hc: | ||
| + | * [[hc: | ||
| + | * [[hc: | ||
| + | * [[hc: | ||
| + | </ | ||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | === 3. Алгоритм расчета «Страховой запас на несколько дней» === | ||
| - | |||
| - | |||
| - | Этот алгоритм учитывает оборачиваемость товаров и логистическое плечо, которое требуется для пополнения запасов. Значение логистического плеча вводится в поле «На сколько дней нужен запас». | ||
| - | |||
| - | Потребность рассчитывается следующим образом: | ||
| - | // | ||
| - | Оптимальный запас = MAX {скорость продаж*значение логистического плеча; неснижаемый запас}.// | ||
| - | При этом скорость продаж – это величина обратная оборачиваемости. Например, | ||
| - | Или 30/0,2=150 упаковок в месяц. | ||
| - | Кроме этого, есть оборачиваемость расчетная, | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Если не задана ни одна ни вторая оборачиваемость, | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | В примере с заданными параметрами получаем следующее: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Неснижаемый запас = 5, Оборачиваемость расчетная 1.96 дней, но в приоритете пользовательская 0,2 дня (скорость продаж соответственно 5 упаковок в день или 150 в месяц), | ||
| - | |||
| - | Оптимальный запас = MAX {скорость продаж*значение логистического плеча; неснижаемый запас} = МАХ {5*10; 5} = 50 | ||
| - | Потребность = оптимальный запас – (наличие + в пути) = 50 – (12+0)= 38 | ||
| - | Это значение отображено в поле «Рекомендовано к закупке» | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | == 4. Алгоритм расчета «Докупка неснижаемого запаса» == | ||
| - | |||
| - | |||
| - | Этот алгоритм является опциональным. | ||
| - | |||
| - | Потребность рассчитывается следующим образом: | ||
| - | // | ||
| - | ЕСЛИ остаток на складе < неснижаемого запаса, | ||
| - | Если остаток на складе больше неснижаемого запаса, | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Неснижаемый запас 15, Остаток 12, в пути 0. | ||
| - | Планируемый запас = 12+15 = 27 (по условию, | ||
| - | Потребность = 27 – (12+0) = 15. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | == 5. Массовые изменения параметров настроек == | ||
| - | |||
| - | |||
| - | Оперативно настройки по конкретным товарам в торговых точках можно поменять параметры вышеперечисленными методами. Для управления товарными группами большого ассортимента правильнее использовать массовые изменения настроек. | ||
| - | |||
| - | Для использования фильтров по кнопке **ДЕЙСТВИЯ=> | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Например, | ||
| - | Выберите фильтром группу | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Перейдите в **ДЕЙСТВИЯ=> | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Далее выберите нужный алгоритм, | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Заданный алгоритм и группа применятся к выбранным фильтром товарам. | ||
| - | |||
| - | Также можно выгрузить настройки в файл csv, изменить необходимые параметры в файле и загрузить через таблицу. | ||
| - | |||
| - | Сопоставление полей для загрузки параметров через таблицу: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | == 6. Копирование параметров планирования == | ||
| - | |||
| - | |||
| - | Чтобы по каждой торговой точке не задавать параметры и правила планирования заново, | ||
| - | |||
| - | Для копирования параметров нажмите **ДЕЙСТВИЯ=> | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | Далее в появившемся окне укажите, | ||
| - | После всех настроек нажмите **КОПИРОВАТЬ**. Данные по настройкам будут скопированы в указанную точку продаж. | ||
| - | |||
| - | |||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | == 7. Порядок действий перед созданием новой заявки == | ||
| - | |||
| - | |||
| - | 1) Закрыть все ненужные заявки по торговой точке, чтобы очистить «товары в пути», которые уже не поступят в запасы. | ||
| - | |||
| - | 2) Запустить расчет оборачиваемости для обновления данных с учетом новых продаж. **ДЕЙСТВИЯ => Рассчитать оборачиваемость**. При большом объеме транзакций операция может занимать более 1 минуты. Можно делать накануне вечером. | ||
| - | | ||
| - | 3) Запустить расчет планируемого запаса для учета оборачиваемости и измененных данных планирования. **ДЕЙСТВИЯ => Рассчитать планируемый запас**. | ||
| - | |||
| - | 4) Сформировать заявку прямо из модуля товарных запасов. **ДЕЙСТВИЯ => Сформировать заявку на закупку**. Как работать с заявками описано по [[hc: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ====== См. также ====== | ||
| - | |||
| - | |||
| - | |||
| - | * [[hc: | ||
| - | * [[hc: | ||
| - | * [[hc: | ||
| - | * [[hc: | ||
| - | |||
| - | | ||
| - | |||
| - | -------- | ||
| - | [[hc:start| << Вернуться к содержанию]] | ||