Как отменить проведение и удалить цепочку складских документов при контроле регистра «Товары к отбору» в 1С:КА и 1С:ERP?

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

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

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

Причины возникновения ошибки контроля остатков

Проанализируем логику работы адресного склада. Регистр накопления Товары к отбору выполняет роль технологического балансира между распоряжением на отгрузку и фактическими складскими заданиями:

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

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

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

Пошаговый регламент отмены цепочки через статусы

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

  1. Откат статуса Расходного ордера на товары:

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

  2. Откат и отмена проведения документа Отбора:

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

  3. Отмена проведения Расходного ордера:

    Возвращаемся в Расходный ордер на товары, меняем статус на Подготовлено, проводим документ, после чего отменяем проведение и помечаем его на удаление.

  4. Корректировка исходного распоряжения:

    В документе Заказ на перемещение в табличной части «Товары» переключаем действие со значения «Отгрузить» на К обеспечению или Не обеспечивать (либо отменяем строки заказа). После этого заказ можно распровести или пометить на удаление.

Альтернативные учетные способы решения

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

  1. Оформление обратного размещения: создаем документ Отбор (размещение) товаров с видом операции Размещение. В качестве ячейки-источника указывается зона отгрузки, а в качестве ячеек-получателей — ячейки адресного хранения, куда товар возвращается на хранение.
  2. Корректировка через проверку ордера: если ордер переведен в статус В процессе проверки (или К проверке), в форме проверки количества указывается фактически отгружаемое количество 0. Система зафиксирует расхождение и создаст движения для возврата товара.

Программный анализ контроля в общем модуле

Выясним причину проверки в программном коде конфигурации. Процедура контроля вызывается в общем модуле ПроведениеСерверУТ через метод ВыполнитьКонтрольРезультатовПроведения, где вызывается процедура СообщитьОбОшибкахПроведенияПоРегиструТоварыКОтбору.

Если в процессе внедрения или исправления некорректно заблокированных данных требуется временно обойти эту проверку через расширение или доработку, обратите внимание на логику формирования отказа:


// Пример модификации обработки результатов контроля остатков
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, Объект);

Если Не РезультатЗапроса.Пустой() И Константы.КонтролироватьТоварыОрганизацийПриОтменеПриходов.Получить() Тогда
    Отказ = Истина;
КонецЕсли;

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

← На главную