Содержание:
Статусы заказа - это определенные этапы, которые заказ проходит во время обработки. С помощью статусов и покупатели, и сотрудники интернет-магазина могут узнать состояние заказа: «В обработке», «В пути» и т.д.
Количество статусов может быть любым - все зависит от того, как организована обработка заказа. Некоторые статусы заказов и отгрузок удалить нельзя:
Чтобы настроить статусы, перейдите раздел в «Магазин», зайдите в «Настройки», выберите «Статусы» и зайдите в «Статусы заказа». Отметим, что «Битрикс» по умолчанию предлагает пользователям стандартный набор этапов. Вы сможете создавать множество промежуточных статусов: их количество не ограничено.
Перейдем к заполнению полей этой формы и остановимся на некоторых нюансах:
Каждая группа может получить определенный уровень доступа к заказам в определенном статусе с помощью выпадающего списка. Если какая-то группа не указана в списке, нужно нажать ссылку «Группа пользователей».
После этого в настройках модуля назначить группе право доступа не ниже «Обработки заказов». Далее надо вернуться к настройке статуса и настроить право доступа для группы в рамках данного статуса.
Для добавления нового промежуточного статуса (например, «Подтверждение заказа») нажмите «Добавить статус».
Чтобы получить текущий статус заказа, примените метод:
$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'); // причина отмены
В работе со статусами заказов нет ничего сложного - у вас все получится! Удачи в бизнесе!