В процессе работы с 1С:ERP 2.5 пользователи часто сталкиваются с ситуацией, когда система при автоматическом формировании заказов поставщикам «дробит» закупку одной и той же номенклатуры на несколько документов. Это происходит, если потребности возникли под разные назначения (например, под разные заказы клиентов или направления деятельности) или из-за настройки кратности упаковки. В результате вместо одного консолидированного заказа поставщику менеджер получает три, пять или даже десять документов, в каждом из которых нужно отдельно согласовывать цены и условия поставки. Для облегчения анализа стоимости при согласовании условий можно использовать расширение для отображения цен предыдущих поставок в документах закупки.
Рассмотрим подробнее, почему возникает такая ситуация, и разберем по шагам штатные и технические способы решения этой задачи, чтобы упростить взаимодействие с поставщиками и сократить объем рутинной работы.
Прежде всего, выясним причину такого поведения программы. В системе 1С:ERP механизм обеспечения потребностей тесно связан с понятием обособленного обеспечения. Если для материала или товара установлено обособленное обеспечение, система жестко связывает закупку с конкретным источником спроса. По умолчанию в старых версиях или при определенных настройках поле Назначение находится в «шапке» документа Заказ поставщику. Поскольку в одном документе в шапке может быть только одно значение, программа вынуждена создавать отдельный документ на каждое новое назначение.
Ситуация осложняется при использовании упаковок. Проанализируем пример: если нам нужно 3 штуки материала под «Направление 1», а минимальная партия закупки составляет упаковку из 10 штук, система создаст:
Это самый эффективный и современный способ решения проблемы без программирования. Начиная с версий 2.5, в 1С:ERP реализована возможность перенести аналитику обеспечения из заголовка документа в его табличную часть.
Разберем, как активировать этот механизм:
После включения этой опции поле Назначение в документе Заказ поставщику переместится в таблицу Товары. Теперь мы можем в рамках одного документа указать одну и ту же номенклатуру несколькими строками, где для каждой строки будет свое назначение («Направление 1», «Направление 2», «Склад» и т.д.). Поставщик увидит общий итог по количеству, а мы сохраним прозрачность обеспечения в учете.
Даже если опция «Назначение в строках» включена, автоматическая обработка может продолжать создавать разные документы, если не настроены правила группировки. Проанализируем процесс работы с обработкой:
При формировании заказов на четвертом шаге (Настройка параметров заказов) обратим внимание на поле Способ группировки. Чтобы система объединяла потребности по разным назначениям в один документ, необходимо выбрать вариант Группировать по поставщику. При такой настройке система просканирует все потребности, относящиеся к одному контрагенту, и попытается «упаковать» их в один Заказ поставщику, распределив разные назначения по строкам табличной части.
Если автоматическое формирование по каким-то причинам не подходит или заказы уже были созданы раздельно, мы можем использовать ручной метод консолидации. Посмотрим на алгоритм действий:
Заказ поставщику и укажем в нем организацию, склад и поставщика.Важный момент: при таком подходе система автоматически заполнит колонку Назначение в строках, сохраняя связь между закупкой и исходным заказом или направлением. Это исключает необходимость заходить в три разных документа для проставления цен.
Необходимо различать техническое Назначение (объект обеспечения) и финансовое Направление деятельности (НД). Если в вашей базе включена опция Обособление товаров по направлениям деятельности (в настройках финансового результата), система может требовать разделения заказов, если у них разные НД в шапке документа. Это критично для корректного формирования проводок по счету 41 или 10 в разрезе НД.
Если ваша задача — просто закупить товар вместе, но при этом сохранить разный финансовый учет, убедитесь, что в настройках НД разрешено использование общего запаса или настройте схему обеспечения так, чтобы закупка велась на «общий склад» с последующим резервированием под направления.
Если штатные средства (назначение в строках) по каким-то причинам не могут быть использованы (например, в сильно кастомизированных базах старых релизов), программисты часто прибегают к доработке обработки ФормированиеЗаказовПоПотребностям.
Проанализируем ситуацию с точки зрения кода. Основная сложность заключается в том, что алгоритм распределения потребностей зашит глубоко в модули менеджера обработки. При попытке «склеить» заказы программно, необходимо следить за тем, чтобы структура данных в регистре накопления ЗапасыИПотребности не нарушилась.
Пример логики, которую можно внедрить через расширение (метод ПередЗаписью или подписка на событие):
// Псевдокод логики объединения
Если ДокументОбъект.Тип = "ЗаказПоставщику" Тогда
// Проверка наличия аналогичного открытого заказа тому же поставщику
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.ЗаказПоставщику ГДЕ Поставщик = &Поставщик И Статус = &Статус";
// ... логика поиска и добавления строк в существующий документ
КонецЕсли;
Однако, как отмечают эксперты, доработка проведения таких документов — это «путь самурая», так как направление деятельности может наследоваться в движениях регистров через обращение к реквизитам документа-основания. Поэтому рекомендуется максимально использовать штатный механизм назначений в строках.
Если же заказы все-таки остались разделенными, и вам нужно быстро обновить в них цены после согласования с поставщиком, не обязательно заходить в каждый документ вручную. Разберем механизм массового обновления:
Заказы поставщикам выделите нужные документы, нажмите Изменить выделенные (или воспользуйтесь групповой обработкой) и вызовите команду обновления цен по прайс-листу. В современных версиях ERP также доступна команда Заполнить — Цены по прайс-листу непосредственно из формы списка или из формы самого документа, что значительно ускоряет процесс.Выяснив причину и настроив систему правильно, вы сможете избежать избыточного документооборота и сделать процесс закупок прозрачным и удобным для всех участников. Для сопоставления оформленных заказов с фактическими поступлениями и их последующего закрытия подойдет отчет для сверки заказов поставщикам и документов поступления.