адрес статьи: https://martsoft.ru/articles/statusy_zakaza_v_bitriks/
Статусами заказа в «Битрикс» называют этапы, через которые заказ проходит во время обработки. Они помогают проинформировать клиентов и сотрудников интернет-магазина о том, в каком состоянии заказ находится в текущий момент. При необходимости можно создать неограниченное количество статусов заказа - это зависит от того, как именно организован процесс обработки. Например, заказы могут находиться в статусе «Отгружен», «Отложен», «В пути» и т.д.
Статусы позволяют охарактеризовать не только состояние заказа в целом, но и отдельно состояние отгрузки и доставки товаров из заказа. Поэтому статусы делятся на 2 типа: заказ и доставка.
Существуют особые статусы заказов и отгрузок заказов, удаление которых невозможно:
Чтобы настроить статусы, перейдите на страницу «Магазин», затем выберите раздел «Настройки», перейдите в «Статусы» и кликните на «Статусы заказа».
Форма редактирования статусов имеет вид:
«1С-Битрикс: Управление сайтом» предлагает стандартный набор этапов, который сформирован по умолчанию.
Общий принцип достаточно прост: обязательно должен присутствовать начальный этап и два финальных статуса, предназначенные для успешного и неуспешного завершения заказа. Промежуточное количество статусов может быть любым в зависимости от особенностей вашего бизнеса.
У заполнения полей формы есть свои нюансы:
Чтобы добавить новый промежуточный статус «Подтверждение заказа», выберите «Добавить статус».
Как получить текущий статус заказа? Воспользуйтесь следующим методом - order->getField('STATUS_ID').
order_id = 5;
order = BitrixSaleOrder::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 = BitrixSaleOrder::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'); // причина отмены
Теперь вы знаете, как работать со статусами заказов в интернет-магазине. Удачи вашему бизнесу!