В процессе работы с подсистемой планирования в 1С:ERP Управление предприятием многие специалисты сталкиваются с неочевидным поведением системы при настройке источников данных. Типичная задача: сформировать План закупок и проанализировать остатки, основываясь на потребностях, зафиксированных in Плане производства, с учетом текущих свободных остатков на складах — решить её поможет расширение автоматического планирования закупок в 1С:ERP. Однако на этапе настройки правил заполнения часто возникает вопрос: как заставить систему автоматически «подхватывать» нужный период и не требовать от пользователя ручного ввода дат?
В данной статье мы подробно разберем, почему настройка «За период» может работать некорректно, как правильно использовать механизм «смещения» и какие нюансы следует учитывать при расчете формул планирования.
Рассмотрим ситуацию, когда мы создаем правило заполнения плана и выбираем источник данных (например, Материалы по планам производства) — для контроля их расхода подойдёт план-фактный анализ сырья и материалов для 1С:ERP. В интерфейсе настройки источника система предлагает два варианта выбора данных: «За период» и «Со смещением».
Многие пользователи интуитивно выбирают вариант «За период», полагая, что система будет брать данные за те же даты, которые указаны в шапке документа План закупок. Проанализируем, что происходит на самом деле: при выборе этого варианта 1С:ERP ожидает жесткого ограничения периода непосредственно в настройках правила. Если этот период не задан статически, система может попытаться получить все накопленные данные из регистра Планы производства с учетом доступности рабочих центров без привязки к текущему контексту документа. Это приводит к тому, что в план попадают лишние данные или, наоборот, расчет оказывается пустым.
Выясним причину: настройка «За период» предназначена для разовых или специфических выборок данных, когда нам нужно подтянуть информацию за конкретный прошлый год или фиксированный квартал, независимо от того, на какой месяц мы составляем текущий план.
Для того чтобы система работала динамически, необходимо использовать настройку «Со смещением». Это золотой стандарт автоматизации в 1С:ERP. Посмотрим, как это работает по шагам:
Сценарии планирования (это может быть месяц, неделя, декада или день).Проанализируем значения смещения:
План закупок. Если документ создается на октябрь, данные будут подтянуты за октябрь.Таким образом, настройка «Со смещением» избавляет конечного пользователя от необходимости «лезть в настройки» и вручную выставлять даты. Один раз настроенное правило специалистом будет корректно отрабатывать для каждого нового документа.
Теперь разберем более сложную задачу, упомянутую в обсуждении: как реализовать формулу «Потребность в материалах - Свободные остатки» — для решения этой задачи есть обработка сопоставления плановой потребности и остатков для 1С:ERP. Для этого в правилах заполнения используется возможность работы с несколькими источниками.
Рассмотрим алгоритм настройки:
Материалы по планам производства. Устанавливаем смещение «0». В колонке коэффициент указываем «1».Свободные остатки. Здесь есть важный нюанс — остатки в 1С:ERP являются оперативными данными. Поэтому для них часто не указывается смещение в привычном смысле, а берется срез на текущую дату.Важное техническое замечание: При расчете остатков нужно быть осторожным. План — это всегда прогноз на будущее, а остатки — это то, что есть «здесь и сейчас». Если ваш план закупок формируется на период, который начнется через две недели, текущие свободные остатки могут быть уже зарезервированы или потрачены к тому моменту.
Если стандартных возможностей настройки «смещения» и коэффициентов недостаточно, мы можем переключить источник данных в «Расширенный режим». В этом случае система позволяет редактировать Схему компоновки данных (СКД).
Рассмотрим пример ситуации, где это необходимо: вам нужно вычесть не все свободные остатки по предприятию, а только остатки на конкретных цеховых кладовых, исключив центральный склад. В простом режиме такая фильтрация по складам для источника остатков внутри правила планирования может быть недоступна. В режиме СКД вы можете добавить произвольный отбор или даже соединение с другими таблицами базы данных.
Пример логики запроса в СКД (упрощенно):
ВЫБРАТЬ
ИсточникДанных.Номенклатура,
ИсточникДанных.Количество КАК Потребность,
0 КАК Остаток
ИЗ
РегистрНакопления.ПланыПотребленияМатериалов КАК ИсточникДанных
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Остатки.Номенклатура,
0,
Остатки.ВНаличииОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &НужныйСклад) КАК Остатки
Использование СКД требует навыков программирования на языке запросов 1С, но это дает абсолютную гибкость в планировании.
В ходе дискуссии на форуме прозвучала важная мысль: План закупок — это чаще всего стратегический документ для финансового планирования и объемных соглашений с поставщиками. Если же ваша задача — оперативно обеспечить производство материалами, стоит рассмотреть использование обработки «Формирование заказов по потребностям».
Проанализируем отличия:
Если производство «деревянное» (как выразился автор темы), то использование жесткого планирования через документ План закупок может быть оправдано для контроля лимитов, но для реального снабжения лучше комбинировать эти методы.
Подведем итог нашему исследованию. Чтобы настройки не казались «странными», следуйте этим правилам:
Соблюдение этих принципов позволит создать надежную систему планирования, в которой пользователю достаточно нажать кнопку «Заполнить», а вся техническая логика будет скрыта в корректно настроенных правилах.