Почему не удается перевести расходный ордер в статус «К отбору» в УТ 11.4?

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

При работе в конфигурации «1С:Управление торговлей» версии 11.4 (в частности, на релизах ветки 11.4.13) пользователи часто сталкиваются с ситуацией, когда при попытке перевести документ Расходный ордер на товары в статус «К отбору» система выдает ошибку: «Планируемая к отгрузке со склада [Имя Склада] больше, чем указано в распоряжении на отгрузку, на [N] ШТ». При этом визуально в Заказе клиента и Реализации товаров и услуг количества совпадают, а товар находится в статусе «Отгрузить».

В этой статье мы подробно разберем причины возникновения данной коллизии, проанализируем механизмы работы регистров и рассмотрим несколько способов решения проблемы — от простых пользовательских манипуляций до глубокой технической диагностики.

Разберем логику работы складской подсистемы

Для начала проанализируем, почему возникает это предупреждение. В системе 1С:УТ 11 ордерный склад работает на основе распоряжений. Основным регистром, который контролирует объем товаров, подлежащих отгрузке, является регистр накопления Товары к отгрузке.

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

Способ 1: Проверка цепочки документов и статусов обеспечения

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

  1. Откроем Заказ клиента, который является основанием для цепочки.
  2. Проверим колонку «Действие» в табличной части «Товары». Для того чтобы складской ордер мог быть проведен, должен стоять статус «Отгрузить».
  3. Проверим статус самого Заказа клиента. Он должен быть в состоянии «К выполнению» или «Закрыт». Если заказ находится в статусе «На согласовании», движения по регистрам отгрузки могут быть заблокированы.
  4. Убедимся, что Реализация товаров и услуг проведена. Если распоряжением для склада выступает накладная (зависит от настроек склада), то именно она должна создать положительный остаток в регистре Товары к отгрузке.

Способ 2: Пользовательский обход через пересоздание документов

Как показывает практика эксплуатации 1С, иногда в регистрах возникают «логические тупики» из-за нарушения последовательности записи объектов. Проанализируем способ, который часто помогает без вмешательства в код:

Попробуем полностью отменить проведение всей цепочки: Расходный ордер -> Реализация товаров и услуг -> Заказ клиента. Затем пометим их на удаление. Создадим документы заново строго в правильной последовательности. Это позволяет очистить «зависшие» движения в регистре Товары к отгрузке, которые могли появиться при многократном редактировании документов в статусе «Подготовлено».

Способ 3: Отвязка строк от распоряжения

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

В Расходном ордере попробуем очистить поле «Распоряжение» для проблемной строки или временно удалить её. Если после этого документ проводится (в статусе «К отбору»), значит, проблема действительно в остатках по конкретному распоряжению. Чтобы «вернуть» связь, иногда помогает полное удаление строк в ордере и использование функции «Заполнить — Подобрать товары по распоряжениям». Если список подбора пуст, это прямой сигнал о том, что по данному распоряжению в регистре Товары к отгрузке остатка нет (он либо уже списан другим ордером, либо не был создан накладной).

Способ 4: Проверка временных меток и последовательности (Debug)

Проанализируем техническую сторону вопроса. Часто ошибка возникает из-за того, что время документа-распоряжения (Реализации) позже, чем время Расходного ордера, даже если они созданы в одну секунду.

В коде типовой конфигурации проверка выполняется в общем модуле СкладскойУчет. При смене статуса ордера вызывается процедура записи объекта. Рассмотрим пример, где мы можем поставить точку останова для диагностики:


// В общем модуле ОбщегоНазначенияУТКлиент в функции ЗаписатьОбъект
// можно отследить момент возникновения исключения.
// Но для глубокого анализа лучше перейти в серверный модуль:
СкладскойУчет.ПроверитьОстаткиТоваровКОтгрузке(ДокументСсылка, СтруктураПараметров);

Если вы используете отладчик, обратите внимание на таблицу, которую возвращает запрос к регистру ТоварыКОтгрузке. Выясним причину расхождения: возможно, там фигурирует другая Серия или другой Склад, чем те, что указаны в ордере. Для системы Товар 1, Серия А и Товар 1, Серия Б — это разные позиции, и пересортица по сериям часто приводит к ошибке «Планируемая к отгрузке больше, чем в распоряжении».

Способ 5: Исправление проблем с упаковками и округлением

Часто в УТ 11.4 возникает ошибка из-за разницы в единицах измерения. Например, в Заказе указаны «Штуки», а в Ордере — «Упаковки».

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

Способ 6: Регламентные задания и кэш распределения запасов

В версиях 11.4 за контроль остатков отвечает механизм распределения запасов. Рассмотрим ситуацию, когда данные в регистрах сведений не успевают обновиться.

Попробуем выполнить следующие действия:

  1. Перейдем в раздел НСИ и администрирование — Обслуживание — Регламентные операции.
  2. Найдем и запустим вручную задание Исправление ошибок в регистре сведений Распределение запасов.
  3. После завершения задания попробуем снова провести ордер в статус «К отбору».

Технический обход (режим «Без контроля»)

Если проблему нужно решить оперативно и нет времени на поиск причин в регистрах, можно временно отключить контроль остатков. Внимание: это крайняя мера.

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

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

← На главную