1С-Битрикс

Заказ отменили, а товар не вернулся в продажу: как проверить резервы в 1С-Битрикс

Заказ отменён, но товар всё ещё недоступен? Проверяем признак отмены, резерв, отгрузку и остаток после обмена с 1С на одном примере.

На складе было пять единиц товара. Покупатель заказал одну, и магазин зарезервировал её. Заказ отменили до отгрузки, но на сайте по-прежнему доступны только четыре единицы. Если других движений по товару не было, по одному заказу можно выяснить, где осталось ограничение: в резерве на сайте, в учёте отгрузки или в данных из 1С.

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

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

Проверить резерв товара

Одна посылка остаётся за закрытым складским шлагбаумом, остальные доступны

1. Убедитесь, что заказ действительно отменён

В списке заказов 1С-Битрикс отдельно отображаются статус, признак отмены, оплата и отгрузка. Название пользовательского статуса «Отменён» может совпадать с названием операции. Проверьте, стоит ли «Да» в поле «Отменён» именно у этого заказа. Если отмена пришла из 1С или из доработанного обработчика, проверьте, что операция сохранилась и в журнале нет ошибки. Поля списка заказов в документации 1С-Битрикс.

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

2. Найдите единицу в резерве или отгрузке

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

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

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

3. Сравните остаток до и после обмена с 1С

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

Четыре этапа проверки остатка: склад, резерв заказа, отмена и повторный обмен с 1С
На каждом этапе запишите время и доступное количество. Так видно, в какой момент снова пропала единица.
  • 5 → 4 → 4. Единица не освободилась сразу после отмены. Проверьте признак отмены, результат сохранения, отгрузку и действующие резервы. Если количество задаёт 1С, уточните, когда сайт получит пересчитанный остаток.
  • 5 → 4 → 5 → 4. После отмены единица вернулась, но после выгрузки снова пропала. По внешнему идентификатору предложения найдите строку в пакете обмена и сверьте количество и склад с 1С. Проверьте, получила ли 1С отмену, освобождён ли резерв в учётной системе и какое количество настроено к выгрузке.
  • В каталоге 5, на витрине 4. Сверьте выбранный размер или цвет, регион и склад, по которому витрина считает доступность. Затем проверьте, сколько единиц магазин позволяет добавить в корзину. Если корзина принимает пять, а карточка показывает четыре, отдельно проверяйте обновление данных на витрине и кеш.

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

4. Проверьте исправление на следующем цикле

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

Для диагностики подготовьте ссылку на товар, номер заказа, артикул предложения, склад, время отмены и время обмена. Это поможет определить, нужна ли правка логики магазина или восстановление обмена с 1С. Если сайт, наоборот, продаёт закончившийся товар, проверьте передачу нулевых остатков из 1С.

Частые вопросы

Можно ли вручную увеличить остаток на единицу?

Сначала сверьте резерв и документы. Если товар уже числится на складе, увеличение физического остатка создаст лишнюю единицу в учёте. Если количество загружается из 1С, следующая выгрузка может перезаписать ручную правку.

Что проверять, если заказ отменили только в 1С?

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

Обсудить доработку

Нужно оценить задачу по сайту?

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