Как найти документ, зарезервировавший товар под конкретное назначение в 1С:ERP

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

В системе 1С:ERP Управление предприятием 2 часто возникает ситуация, когда на складе числится остаток товара, но он недоступен для свободной продажи, так как находится в резерве под определенное назначение. Поиск конкретного документа-основания (заказа), который инициировал это обособление, может стать нетривиальной задачей, особенно если в системе ведется активный документооборот. Рассмотрим подробно способы идентификации таких документов-резервистов.

Метод 1. Расшифровка отчета «Остатки и доступность товаров»

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

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

Проанализируем результат: открывшийся отчет по умолчанию должен содержать детализацию до Документа-основания. Именно здесь мы увидим конкретный заказ (например, Заказ клиента или Заказ на производство), под который система «застолбила» остатки. Если отчет открылся свернуто, проверим настройки группировок в расширенном режиме — там должно быть добавлено поле Документ-основание или Распоряжение.

Метод 2. Использование «Ведомости по товарам на складах»

Иногда расшифровка из предыдущего метода может выдать только общее количество без привязки к документу из-за специфики формирования остатков. В таком случае рассмотрим альтернативный вариант через универсальную ведомость. Выясним причину удержания товара с помощью настройки группировок:

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

Этот метод хорош тем, что позволяет увидеть всю цепочку движений: когда товар поступил под это назначение и каким документом он был зарезервирован. Назначение в ERP — это отдельный ссылочный объект, который хранит связь с заказом. Если мы дважды кликнем на само назначение, мы сможем провалиться в его карточку, где будет указан документ-основание.

Метод 3. Анализ через регистр «Распределение запасов»

Для программистов и технических специалистов самым надежным способом будет обращение к первоисточнику данных. В последних версиях 1С:ERP (2.4 и 2.5) за логику резервирования отвечает регистр накопления РаспределениеЗапасов. Проанализируем ситуацию через консоль запросов или форму «Все функции»:

  1. Откроем Функции для технического специалиста (ранее «Все функции»).
  2. Найдем регистр накопления Распределение запасов.
  3. Установим отбор по номенклатуре и складу.
  4. Обратим внимание на измерение Состояние. Нас интересуют записи со значением В резерве на складе или Резерв под заказ.
  5. В колонке Назначение будет указан объект обособления, а в колонке Регистратор — тот самый документ, который сделал запись в регистр.

Посмотрим на пример запроса, который поможет быстро вытащить данные по конкретному товару:


ВЫБРАТЬ
    РаспределениеЗапасов.Номенклатура,
    РаспределениеЗапасов.Склад,
    РаспределениеЗапасов.Назначение,
    РаспределениеЗапасов.ЗаказНаПоступление,
    РаспределениеЗапасов.Количество,
    РаспределениеЗапасов.Регистратор
ИЗ
    РегистрНакопления.РаспределениеЗапасов КАК РаспределениеЗапасов
ГДЕ
    РаспределениеЗапасов.Номенклатура = &Номенклатура
    И РаспределениеЗапасов.Склад = &Склад
    И РаспределениеЗапасов.Состояние В (ЗНАЧЕНИЕ(Перечисление.СостоянияРаспределенияЗапасов.РезервНаСкладе))

Метод 4. Проверка регистра «Обеспечение заказов»

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


ВЫБРАТЬ
    Обеспечение.Номенклатура,
    Обеспечение.Склад,
    Обеспечение.Назначение,
    Обеспечение.КоличествоОстаток,
    Обеспечение.Регистратор
ИЗ
    РегистрНакопления.ОбеспечениеЗаказов.Остатки(&Период, Номенклатура = &Номенклатура) КАК Обеспечение

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

Глава 5. Тонкости работы с корректировками назначения

Иногда пользователи сталкиваются с тем, что заказ-основание вроде бы найден, но в нем самом нет указания на резерв. Выясним причину: это может быть следствием использования документа Корректировка назначения товаров. Рассмотрим особенности этого механизма:

Документ Корректировка назначения товаров позволяет «перекинуть» резерв с одного заказа на другой или снять его вовсе, при этом в исходном заказе изменения могут не отображаться наглядно. Чтобы найти такие манипуляции:

Резюме

Для быстрого поиска документа, создавшего резерв под назначение, в первую очередь используем расшифровку отчета «Остатки и доступность» через отчет «Поступление и отгрузка». Если требуется более глубокий анализ или если типовые отчеты показывают противоречивые данные (что бывает при сбоях фонового расчета распределения запасов), переходим к анализу регистров РаспределениеЗапасов и ОбеспечениеЗаказов через консоль запросов. Помните, что Назначение — это ключ к пониманию того, под какой именно бизнес-процесс заблокирован товар.

← На главную