Проблема точного прогнозирования спроса и автоматизации закупок является критической для среднего и крупного торгового бизнеса. В экосистеме 1С существует несколько подходов к решению этой задачи: от использования штатных подсистем планирования до интеграции с внешними математическими движками. Рассмотрим подробно, как выстроить процесс планирования «от продаж к закупкам» с учетом всех факторов влияния.
Первым делом проанализируем инструменты. Несмотря на то что в 1С:Управление торговлей 11 есть подсистема планирования, она значительно упрощена по сравнению с 1С:ERP Управление предприятием. Если ваша задача включает сложные цепочки производства или многопередельную сборку, выбор однозначно падает на ERP. Однако для классической схемы «купил-продал» с учетом плеча логистики функционала УТ 11 может быть достаточно при условии грамотной настройки источников данных планирования.
Разберем по шагам, как реализовать требования по высокоинтеллектуальному формированию планов.
Стандартный функционал 1С предлагает заполнение планов по «средней продаже за период» или «по продажам прошлого года». Для реализации «высокоинтеллектуального» движка, который должен учитывать историю за 10 лет и специфические факторы спроса, необходимо использовать механизм Заполнения по источникам (СКД).
Рассмотрим, как это работает. В настройках Профиля распределения планов или Правил заполнения мы можем создать произвольную схему компоновки данных. Это и есть тот самый «движок», куда можно заложить любую математику. Мы можем написать запрос, который выберет:
Для реализации сложной математики (например, регрессионного анализа) внутри 1С программисты часто используют расчет в Коллекции значений перед выводом в документ. Это позволяет реализовать алгоритм любой сложности, не меняя типовую конфигурацию.
Пример упрощенной логики запроса в СКД для получения данных с учетом сезонного коэффициента:
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.КоличествоОборот * &КоэффициентСезона КАК Количество
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПродажиОбороты
Важнейший этап, который часто упускают, — это чистота данных. Если товара не было на складе (Out-of-stock), продажи были нулевыми. Система планирования воспримет это как отсутствие спроса. Чтобы движок работал корректно, необходимо внедрить алгоритм восстановления спроса.
Проанализируем ситуацию: мы смотрим остатки на каждый день за последние 10 лет. Если остаток по SKU был равен нулю, этот период исключается из расчета средней, либо заменяется прогнозируемым значением. Только после такой «очистки» истории можно запускать расчет будущего периода. В 1С это реализуется через временные таблицы в запросе СКД, где соединяются таблицы оборотов продаж и остатков на каждый день.
После того как пользователь внес правки в высокоинтеллектуальный план продаж, нам нужно сформировать закупки. Рассмотрим, как система рассчитывает сроки:
В ERP и УТ 11 для этого используется документ План закупок, который заполняется на основании Плана продаж. Система автоматически делает «сдвиг» даты закупки назад на количество дней логистического плеча. Например, если потребность в 100 шт. стоит на 10-ю неделю, а плечо доставки составляет 3 недели, система сформирует план закупки на 7-ю неделю.
Выясним, как не допустить дефицита. Для этого в системе настраивается Метод обеспечения потребностей. Наиболее эффективным для планирования на основании планов является метод «Заказ под заказ» (в контексте планов) или «Поддержание запаса (min-max)».
Проанализируем формулу, по которой должен работать идеальный движок закупки: Заказ = План продаж + Страховой запас - Ожидаемый остаток на начало периода.
В 1С это достигается через обработку Формирование заказов по планам. Система анализирует текущие свободные остатки, уже размещенные заказы поставщикам и потребности по планам продаж, выдавая в итоге чистую потребность к заказу.
Если штатных возможностей СКД недостаточно, рассмотрим вариант интеграции с внешними библиотеками на языке Python. Современная платформа 1С позволяет передавать данные во внешние скрипты и получать обратно готовый прогноз.
Вы можете использовать библиотеки Prophet или CatBoost для построения предиктивных моделей. Схема выглядит так:
План продаж через COM-соединение или HTTP-сервис.Это позволяет получить действительно «высокоинтеллектуальный» результат, недоступный обычным линейным формулам.
Разберем типичные ошибки при настройке таких систем:
Срок поставки и Минимальная партия заказа.Подводя итог, можно сказать, что 1С:ERP 2 обладает мощным фундаментом для решения вашей задачи. Основная работа будет заключаться в написании качественных запросов к Источникам данных планирования, которые смогут переварить вашу 10-летнюю историю и превратить её в точные цифры плана.