Каждый заказ в процессе обработки проходит определенные фазы, на которые указывает его статус, например, «Создан», «Ожидает оплаты», «В пути» и т. д. Они нужны, чтобы клиенты и работники интернет-магазина могли отслеживать текущее состояние заявки.
Число статусов может варьироваться в зависимости от того, как в конкретном интернет-магазине выстроена обработка заказов. Некоторые из них являются обязательными и не подлежат удалению:
Для корректировки статусов необходимо перейти в раздел «Магазин», затем открыть «Настройки», выбрать «Статусы» и зайти в раздел «Статусы заказа». Система Bitrix изначально предлагает стандартный набор этапов. Но вы можете создать сколько угодно промежуточных статусов.
Теперь рассмотрим некоторые ключевые моменты в заполнении полей этой формы:
Чтобы создать промежуточный статус (например, «Ожидание оплаты»), нажмите кнопку «Добавить статус».
Чтобы узнать текущий статус заказа, используйте следующий способ:
$order->getField('STATUS_ID').
$order_id = 5;
$order = Bitrix\Sale\Order::load($order_id);
$order->getField('STATUS_ID'); // N (Принят, ожидается оплата)
Для изменения статуса заказа примените метод CSaleOrder::StatusOrder(). $order_id = 5; CSaleOrder::StatusOrder($order_id, 'N'); // Принят, ожидается оплата CSaleOrder::StatusOrder($order_id, 'F'); // Выполнен
Чтобы получить список всех статусов, зайдите во вкладку «Магазин», затем откройте «Настройки» и нажмите «Статусы».
Чтобы придать заказу статус «Оплачен», воспользуйтесь методом:
CSaleOrder::PayOrder(). $order_id = 5;
CSaleOrder::PayOrder($order_id, "Y"); // статус оплачен (Y/N)
или способом:
CSaleOrder::Update().
Рекомендуется применять первый вариант, так как он позволяет обрабатывать события.
Для проверки отмены заказа примените следующий способ:
$order->getField('CANCELED').
$order_id = 5;
$order = Bitrix\Sale\Order::load($order_id);
$order->getField('CANCELED'); // заказ отменен (Y / N)
$order->getField('EMP_CANCELED_ID'); // ИД пользователя, который отменил заказ
$order->getField('DATE_CANCELED')->toString(); // дата отмены (05.01.2020 21:11:10)
$order->getField('REASON_CANCELED'); // причина отмены
Как видите, настройка статусов заказов в «1С-Битрикс» не представляет сложности — достаточно знать небольшие секреты. Желаем удачи в вашем бизнесе!