Почему при формировании заказов по потребностям в 1С:УТ 11.3 срок поставки равен нулю и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При переходе на 1С:Управление торговлей версии 11.3 многие пользователи сталкиваются со сложностями при настройке Расширенного варианта обеспечения потребностей. Одной из самых распространенных проблем является ситуация, когда при расчете минимального запаса программа игнорирует заданный срок поставки (например, 29 дней) и подставляет в расчет значение «0». Это приводит к тому, что система не видит потребности в заказе товара, так как формула Min запас = Норма * Дней до поступления + Страховой запас выдает некорректный результат.

В этой статье мы подробно разберем причины возникновения этой ошибки и пройдем по шагам процесса настройки, чтобы механизм обеспечения работал как часы.

Проверка производственных календарей и графиков работы

Первое, на что мы должны обратить внимание — это календари. В 1С:УТ 11 расчет сроков поставки и периодов обеспечения жестко привязан к рабочим дням. Проанализируем ситуацию: если в системе не заполнен Производственный календарь на текущий и следующий годы, программа просто не может вычислить дату поступления товара, так как для нее все дни являются «несуществующими».

Для исправления этой ситуации выполним следующие действия:

  1. Перейдем в раздел НСИ и администрирование — Сведения о предприятии — Производственные календари.
  2. Проверим, заполнен ли календарь «Российская Федерация» (или основной используемый вами). Если нет — заполним его по умолчанию.
  3. Проверим График работы склада. В карточке склада должен быть указан действующий график работы. Если график не указан, система может некорректно интерпретировать сроки.
  4. В самом Способе обеспечения потребностей убедимся, что в поле Календарь выбран правильный график. Если поле оставить пустым, расчет будет вестись по основному производственному календарю, что не всегда корректно для логистических цепочек.

Различие между заказом «При достижении минимума» и «По графику»

Рассмотрим важный нюанс в настройке Способа обеспечения. В 1С:УТ 11 реализовано два принципиально разных алгоритма планирования заказов:

  1. Заказ при достижении минимума: В этом случае система ориентируется на параметр Срок исполнения заказа, указанный в днях. Это именно то, что чаще всего пытаются настроить пользователи.
  2. Заказ по графику: Здесь система полностью игнорирует число дней в поле «Срок исполнения» и рассчитывает даты, исходя из Календаря поставок. Если вы выбрали этот вариант, но не настроили график (даты заказов и даты поступлений), период обеспечения всегда будет равен нулю.

Выясним причину ошибки: если при выборе варианта «По графику» поле Обеспечиваемый период становится нулевым, значит, в настройках графика нет ближайших дат, в которые поставщик готов принять заказ или отгрузить товар. Для корректной работы метода «Расчет по норме» чаще всего рекомендуется использовать вариант Заказ при достижении минимума.

Кэширование данных в настройках поддержания запасов

Проанализируем программную особенность УТ 11.3: иногда изменения, внесенные в справочник Способы обеспечения, не применяются мгновенно к уже настроенным правилам для конкретных позиций номенклатуры. Это происходит из-за записи данных в регистры сведений.

Чтобы исключить влияние «старых» данных, проделаем следующее:

  1. Откроем рабочее место Настройка поддержания запасов.
  2. Выделим товары, по которым расчет идет неверно.
  3. Нажмем кнопку Установить способ обеспечения и заново выберем наш способ (даже если он уже там указан).
  4. Это заставит систему пересчитать параметры в регистре и «подцепить» обновленный срок поставки.

Параметры второго шага в обработке «Формирование заказов»

Посмотрим на работу самого помощника формирования заказов. На втором шаге («Подбор номенклатуры») есть критически важные колонки, которые определяют логику расчета:

Технический анализ и отладка (для программистов)

Если визуальный аудит настроек не помог, перейдем к анализу кода. Расчет потребностей в УТ 11.3 выполняется в фоновых заданиях или непосредственно в модулях обработки обеспечения. Основная логика сбора данных для формирования таблицы потребностей сосредоточена в модуле менеджера обработки ОбеспечениеПотребностей.

Разберем, где именно стоит поставить точку останова для проверки того, почему срок поставки обнуляется. Нам интересна функция ТаблицаЗапасы. Именно там формируется временная таблица, содержащая данные о способах обеспечения, сроках и графиках.

Пример структуры, которую анализирует система (упрощенно):


// В модуле менеджера обработки ОбеспечениеПотребностей 
// находим запрос, формирующий таблицу запасов.
// Обращаем внимание на поля:
// СрокИсполненияЗаказа
// ДатаСледующейПоставки
// ПериодОбеспечения

Проанализируем ситуацию в отладчике: если поле СрокИсполненияЗаказа в итоговой таблице запроса пустое или равно 0, значит, связь между номенклатурой и способом обеспечения в регистре Варианты обеспечения товаров нарушена или не актуализирована. Также проверьте, не перекрываются ли настройки индивидуальными условиями в Соглашении с поставщиком, если в способе обеспечения стоит галочка «Работать с конкретным поставщиком».

Использование статистики и расчет среднедневного потребления

Поскольку мы используем метод «Расчет по норме», важно понимать, что Min запас напрямую зависит от значения нормы. Если вы только перешли из 1С:УТ 10.3, убедитесь, что норма потребления заполнена в единицах хранения номенклатуры.

Если норма задана, но срок поставки все равно 0, проверьте отчет Анализ способов обеспечения. Это встроенный инструмент, который в наглядном виде показывает, какой путь обеспечения (Покупка, Перемещение, Сборка) выбран для товара и какие временные задержки установлены на каждом этапе. Если в отчете срок отображается корректно, а в обработке — нет, проблема кроется в кэшировании настроек поддержания запасов.

Важный момент: Если вы используете тип обеспечения Перемещение, то срок поставки будет складываться из срока перемещения и срока поставки на основной склад. Убедитесь, что вся цепочка обеспечения заполнена данными.

← На главную