Почему в 1С при создании Реализации на основании Заказа появляется ошибка «Нет товаров доступных для отгрузки»?

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

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

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

Причина 1: Скрытый реквизит «Вариант оформления продажи»

Как показывает практика и обсуждения на профессиональных форумах, самой коварной причиной является некорректное заполнение справочника Номенклатура. Это часто случается при переносе данных из старых систем (например, УТ 10.3) или при загрузке позиций сторонними обработками. Рассмотрим подробнее, что происходит «под капотом» системы.

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

Как исправить:

Проанализируем состояние реквизита и заполним его. Если позиций много, воспользуемся групповой обработкой изменения реквизитов:

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

Если вы пишете собственную обработку для загрузки товаров, обязательно добавьте заполнение этого значения в коде:


НовыйТовар = Справочники.Номенклатура.СоздатьЭлемент();
// ... заполнение основных реквизитов ...
НовыйТовар.ВариантОформленияПродажи = Перечисления.ВариантыОформленияПродажи.РеализацияТоваровУслуг;
НовыйТовар.Записать();

Причина 2: Соответствие типов номенклатуры

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

Причина 3: Особенности обособленного обеспечения и «Назначение»

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

  1. В Заказе клиента указано назначение (сам этот заказ).
  2. В документе Поступление товаров и услуг (или Приобретение товаров и услуг) в табличной части обязательно должно быть указано то же самое Назначение.

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

Причина 4: Фоновый расчет остатков

В последних версиях 1С:УТ 11 и ERP внедрен механизм отложенного расчета доступности. Если в настройках системы (раздел «Склад и доставка») включена опция фонового расчета, то после изменения статуса в заказе на «Отгрузить» программе требуется несколько секунд (или минут), чтобы обновить регистры. Попробуем подождать или вручную запустить регламентное задание Расчет остатков номенклатуры, а также проверить заполнение регистра "Запасы и потребности".

Причина 5: Ордерная схема склада

Проанализируем настройки склада. Если склад является ордерным, то последовательность оформления документов может быть жестко задана в настройках:

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

Причина 6: Дата отгрузки в табличной части

Посмотрим на колонку «Дата отгрузки» в табличной части Заказа клиента. Часто пользователи устанавливают общую дату в шапке, но в строках остаются будущие даты. Если сегодня 10-е число, а в строке заказа стоит дата отгрузки 15-е число, система при попытке создать реализацию сегодня может посчитать, что время отгрузки еще не наступило. Убедимся, что дата в строке меньше или равна дате создаваемого документа реализации.

Причина 7: Контроль остатков по организациям (Интеркампани)

Выясним, от какой организации оформлен заказ и на какой организации числится товар. Если товар закуплен на «Организацию А», а заказ оформлен от «Организации Б», то без настроенной схемы «Интеркампани» (перепродажа между организациями) отгрузка будет заблокирована. Система будет видеть остаток на складе, но для текущей организации в заказе он будет недоступен.

Как быстро найти виновника?

Чтобы не гадать, рекомендуем использовать универсальный алгоритм диагностики:

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

Таким образом, чаще всего проблема решается либо исправлением технических реквизитов номенклатуры (ВариантОформленияПродажи), либо строгим соблюдением методологии обеспечения (соответствие назначений и дат отгрузки).

← На главную