Статусы Заказов

А когда-нибудь автоматически ставится теперь F? Вроде как незавершенные или в процессе оплаты через терминал, например, заказы выносятся вообще в какаой-то отдельный статус незавершенной покупки...

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

Здравствуйте. Обнаружил, что в БД в таблице cscart_orders есть заказы со статусом N, которые нигде не указан, и эти товары не отображаются в общем списке заказов. Что это за статус и откуда он взялся?

Крик души в тему.

http://forum.cs-cart.com/topic/39133-%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B/page-2#entry295023

Статус Open - уменьшить инвентарь - один раз
Статус Awaiting Call - уменьшить инвентарь - второй раз
Статус Confirmed - уменьшить инвентарь - в третий раз
Статус Paid - уменьшить инвентарь - в четвертый раз
Статус Shipped - уменьшить инвентарь - в пятый раз
Статус Completed - уменьшить инвентарь

и того - 6 раз уменьшали инвентарь, а он все равно уменьшился на одну штуку.

ЭЭЭЭто какая-то непифагорова арифметика пятимерного пространства. Даже Семихатов затруднится понять о чем речь…

Если предыдущий статус имел в настройке Уменьшение - то уменьшение не повторяется. Иначе, работает: увеличение после уменьшения и уменьшение после увеличения. Уменьшение после уменьшения игнорируется, увеличение после увеличения игнорируется

Ну я и говорю, спец-аксиому ввели и получилась неклассическая математика. :grin: Могли бы для нормальных людей “Без изменений” добавить.

Классическая логика И-НЕ ))

Поставить Отменен со статуса Неудавшийся - не надо менять кол-во
Поставить Отменен со статуса Открытый - надо менять кол-во

Поэтому учитывается настройка предыдущего статуса

Failed я понимаю как неудавшийся платеж, который можно повторять до тех пор, пока заказ не отменили или отказали. Следовательно, если Cancelled после Failed, то количество надо увеличить.

Тогда просто у Failed поставить Уменьшение, чтобы сам статус не изменял количество, а отмена/аннулирование после него - увеличивало

1 лайк

Так сам Failed уже увеличил кол-во

там вопрос в том, что Failed не должен в данной конкретной логике увеличивать количество

Хотя нет.

  • размещаем заказ с онлайн платежкой (ставится Incomplete)
  • платежка отклоняет заказ (ставится Failed, кол-во не меняется)
  • админ ставит Cancelled (кол-во не меняется)

__

  • размещаем заказ с оффлайн платежкой (ставится Incomplete)
  • для оффлайн платежей принудительно ставится Open (кол-во уменьшается)
  • админ ставит Cancelled (кол-во увеличивается)

Весь абсурд в том, что количество не меняется только в том случае, если оно уменьшается.

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

Какой статус надо выбрать, чтобы можно было отредактировать/скорригировать стоимость доставки - или вообще ее убрать из бухгальтерского учета?

Это нужно в том случае, когда покупатель оплачивает доставку доставчику в момент доставки, а доставчик переводит продавцу только стоимость продукта и удерживает стоимость доставки. Продавец не получает деньги за доставку и соответственно не оплачивает доставку, но тем не менее ее стоимость появляется как приход в бухгальтерском учете.

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

Статус подтверждения заказа покупателем (когда магазин обязательно связывается с покупателем перед дальнейшими теледвижениями)

  • Ожидает подтверждения (поступил новый заказ и ждет, когда оператор свяжется с покупателем)
  • Подтвержден (связались, согласовали, что нужно согласовать по регламенту, статус будет связан со статусом “Отправлен на сборку” или “Ожидает оплаты”)
  • Не подтвержден (не удалось связаться с покупателем за определенное регламентом количество времени, статус будет связан со статусом “Отменен”)

Статус физического нахождения заказа с товарами - обработка заказа на складе и доставка

  • Принят (поступил новый заказ и еще не существует в собранном виде, ожидает подтверждения и при необходимости оплаты), товар резервируется на складе, на сайте количество уменьшается
  • Отменен (если не удалось подтвердить, если покупатель отказался, если заказ вернулся назабранным, если невозможно собрать заказ), товар снимается с резерва на складе и снова выставляется на продажу на сайте
  • Отправлен на сборку (подтвержденный заказ с наложенным платежом отправляется на сборку или подтвержденный заказ с полученной онлайн-оплатой отправляется на сборку)
  • Собран (склад собрал заказ, но еще не отправил)
  • Не может быть собран (склад не может собрать посылку, недостача или брак, нужно решать проблему и либо повторно отправлять на сборку, либо отменять заказ)
  • Расформирован (по каким-то основаниями посылку разобрали, например, если покупатель отменил заказ или внес изменения и тогда нужно отправлять на повторную сборку или вернулся незабранный заказ)
  • Отправлен (заказ отправлен со склада)
  • Возвращен (заказ вернулся на склад, например, не забрали в ПВЗ или ошиблись адресом доставки, ожидает дальнейшей судьбы - Расформирования или повторной Отправки)
  • Ожидает в пункте выдачи
  • Доставлен

Статус оплаты

  • Ожидает онлайн-оплаты
  • Оплачен онлайн
  • Ожидает наложенный платеж
  • Получен наложенный платеж
  • Возвращена оплата

Примерно так, каждый подстраивает под свою логику эти несколько видов и из взаимоотношения. Статусы, разумеется, можно менять или вручную, или программно через зависимости (например, не удалось связаться с покупателем - нажатием одной кнопки поставили сразу два статуса “Не подтвержден” для отдела продаж и “Отменен” для склада), или через API из CRM, платежных систем и служб доставки.

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

В CS-Cart есть отгрузки, которые как бы дополняют основной статус заказа, в них теоретически можно зашить все статусы физического прохождения заказа. Но наличие на сайте привязано к основному статусу заказа, а не к статусу отгрузки, что делает невозможным использование этого функционала в описанном ключе. Да и онлайн-оплата привязывается к основному статусу.

Есть какой-нибудь сторонний модуль “Расширенные статусы заказов”, вводящий такие дополнительные виды статусов для заказов?

Если нет, то напишу предложение в общую копилку предложений и буду пока допиливать свой CS-Cart самостоятельно в этом направлении.

2 лайка

Может кто-то сталкивался и сможет помочь, как сделать чекбокс “Уведомить поставщика” при смене статуса заказа выключенным по умолчанию. Заранее благодарен.

в файле design\backend\templates\common\select_popup.tpl вместо true поставить false
{$notify_customer_status = true}
{$notify_department_status = true}
{$notify_vendor_status = true}

2 лайка

Если речь про поставщика, то надо менять тут

design/backend/templates/addons/suppliers/hooks/orders/notify_checkboxes.post.tpl

1 лайк

Кстати да, спутал с вендором. Спасибо за коррекцию.

1 лайк