Как настроить план производства по складу в 1С:ERP и устранить ошибки учета закрытых заказов?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Промышленность, строительство и АПК
← На главную

В процессе работы с подсистемой планирования в 1С:ERP пользователи часто сталкиваются с необходимостью детализации планов до конкретного склада. Типовые формулы не всегда позволяют гибко манипулировать остатками, а при формировании заказов по планам система может вести себя неочевидно, учитывая уже закрытые или выполненные распоряжения. В данной статье мы разберем, как правильно настроить складскую аналитику в планах производства, почему стоит использовать источники данных вместо простых формул и как скорректировать программную логику, если стандартные механизмы видят «лишние» заказы.

Настройка детализации по складу в справочнике «Виды планов»

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

Если этот флаг установлен, система позволит нам:

  1. Указывать конкретный склад-получатель для каждой строки продукции (если выбрана соответствующая настройка заполнения).
  2. Использовать склад как параметр при получении данных из других планов или остатков.
  3. Корректно формировать отчеты по исполнению планов в разрезе складов.

Переход от простых формул к «Источникам данных планирования»

Многие начинающие специалисты пытаются настроить расчет по принципу ПланПродаж - СвободныеОстатки через редактор формул. Однако возможности формул ограничены. Разберем, почему использование «Источников данных планирования» (на базе СКД) является более профессиональным и гибким подходом.

Когда мы выбираем заполнение «По формуле», система оперирует агрегированными данными. Выясним преимущество настройки «По источнику»:

В режиме заполнения по источникам нам доступна полная мощь системы компоновки данных (СКД). Мы можем настроить источник таким образом, чтобы он выбирал остатки именно по тому складу, который указан в текущем документе плана. Для этого в настройках источника используется связь по полю Склад. Кроме того, в источниках можно выбрать тип данных «Остатки» и указать конкретный режим — например, «Свободный остаток» (с учетом резервов), что крайне важно для производственного планирования.

Проблема «фантомных» заказов при формировании распоряжений

Частая ситуация: планы сформированы корректно, но при попытке создать Заказ на производство через помощник формирования заказов по планам, система не предлагает позиции к заказу. Создается впечатление, что система «видит», будто продукция уже заказана, хотя все старые заказы закрыты или выполнены.

Проанализируем ситуацию. Система 1С:ERP при сопоставлении планов и заказов обращается к регистру накопления Планы производства (или аналогичным в зависимости от версии). Если по какому-то заказу не были корректно закрыты «хвосты» в регистрах, план будет считаться исполненным. Однако иногда проблема кроется в самой логике запроса, который анализирует статусы заказов.

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


// Пример корректировки условия в запросе формирования заказов по планам
Запрос.Текст = Запрос.Текст + 
"ГДЕ
|   ЗаказНаПроизводство2_2Продукция.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказовНаПроизводство2_2.КПроизводству)
|   И НЕ ЗаказНаПроизводство2_2Продукция.Ссылка.Закрыт";

Добавление проверки на статус КПроизводству позволяет отсечь черновики и ошибочно созданные документы, которые могли резервировать под себя позиции плана. Тем не менее, перед правкой кода рекомендуется проверить, во всех ли закрытых заказах установлен флаг «Отменено» для неисполненных строк. В типовой логике ERP именно этот флаг снимает потребность с плана.

Использование планов остатков для автоматизации MRP-расчета

Для создания надежной системы планирования рекомендуем внедрить в технологию работы документ План остатков. Это позволит реализовать классическую схему расчета дефицитов. Разберем, как это работает:

  1. Создаем План остатков на начало периода (фактические запасы).
  2. Создаем План остатков на конец периода (целевой страховой запас, который мы хотим видеть на складе).
  3. В источнике данных плана производства прописываем формулу: Потребность по продажам + Целевой остаток - Начальный остаток.

Такой подход позволяет не просто вычитать «текущую цифру из монитора», а строить долгосрочную стратегию закупок и производства. Для контроля качества планирования полезно внедрить регистр «Отклонений». Это позволит строить отчеты и сравнивать «экспертное мнение» планировщика с реальными данными продаж и производства, выявляя завышенные или заниженные показатели.

Контроль исполнения и проверка регистров

Если вы столкнулись с тем, что заказы не создаются, обязательно воспользуйтесь отчетом «Исполнение плана производства по подразделениям». В этом отчете следует обратить внимание на колонку «Оформлено заказов». Если в ней стоят значения при отсутствии живых заказов, значит, проблема в записях регистра Планы производства.

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

← На главную