Как доотгрузить товар по заказу клиента после корректировки реализации в 1С:Управление торговлей

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

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

Анализ причины проблемы: логика работы регистров

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

  1. В регистре накопления Заказы клиентов закрывается остаток по конкретной позиции.
  2. Статус заказа автоматически (или вручную) меняется на Готов к закрытию.

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

Выясним, как ведут себя отчеты. Если мы сформируем отчет Состояние выполнения заказа, мы увидим, что заказ считается полностью отгруженным, хотя по факту (с учетом корректировки) отгруженное количество стало меньше заказанного. Это происходит потому, что отчет берет данные из регистра Заказы клиентов, который корректировка проигнорировала.

Способ 1: Ручная корректировка строк заказа (без программирования)

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

Разберем этот процесс по шагам:

  1. Откроем исходный документ Заказ клиента.
  2. Перейдем на вкладку Товары. Мы увидим, что у нужной позиции в колонке «Действие» стоит статус Отгрузить (или Отгружено, в зависимости от версии), и вся строка считается выполненной.
  3. Нам необходимо разбить эту строку. Воспользуемся кнопкой Разбить строку.
  4. В первой строке укажем количество, которое фактически осталось у клиента (например, 400 шт.), и оставим для нее текущий статус выполнения.
  5. Во второй строке укажем количество, которое мы планируем доотгрузить (например, 100 шт.).
  6. Для новой строки (на 100 шт.) установим статус К отгрузке.
  7. Проведем документ Заказ клиента.

После этих действий система увидит, что по заказу появилось неисполненное обязательство. Теперь, при создании нового документа Реализация товаров и услуг на основании этого заказа, программа автоматически заполнит его недостающими 100 единицами товара.

Способ 2: Использование документа «Возврат товаров от клиента»

Посмотрим на ситуацию под другим углом. Иногда пользователи используют Корректировку реализации там, где методологически правильнее использовать Возврат товаров от клиента. Однако важно понимать, что документ возврата ведет себя аналогично корректировке: он увеличивает остаток товара на складе и корректирует взаиморасчеты, но не восстанавливает потребность в заказе.

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

Способ 3: Автоматизация через расширение (для программистов)

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

Нам необходимо перехватить процедуру проведения документа Корректировка реализации и добавить движение по регистру накопления ЗаказыКлиентов. Посмотрим на примерную структуру кода, который может быть размещен в модуле расширения:


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

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

Использование документа «Корректировка заказа клиента»

Выясним, существует ли штатный документ для изменения самой потребности. В некоторых релизах и при определенных настройках доступен документ Корректировка заказа клиента. Рассмотрим его использование:

  1. Если вы понимаете, что отгрузка пойдет не так, как планировалось, вы создаете Корректировку заказа клиента.
  2. Этот документ официально меняет объем обязательств предприятия перед клиентом.
  3. В этом случае отчеты по дефициту и состоянию заказов будут работать корректно, так как корректировка заказа напрямую влияет на регистр Заказы клиентов.

Итоги и рекомендации

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

Для эффективной работы рекомендуем придерживаться следующих правил:

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

← На главную