Статусами заказа в «Битрикс» называют этапы, через которые заказ проходит во время обработки. Они помогают проинформировать клиентов и сотрудников интернет-магазина о том, в каком состоянии заказ находится в текущий момент. При необходимости можно создать неограниченное количество статусов заказа - это зависит от того, как именно организован процесс обработки. Например, заказы могут находиться в статусе «Отгружен», «Отложен», «В пути» и т.д.
Статусы позволяют охарактеризовать не только состояние заказа в целом, но и отдельно состояние отгрузки и доставки товаров из заказа. Поэтому статусы делятся на 2 типа: заказ и доставка.
Существуют особые статусы заказов и отгрузок заказов, удаление которых невозможно:
- N - начальный статус, который присваивается заказу при создании. По умолчанию статус называется «Принят».
- F - финальный статус, который присваивается заказу после выполнения, то есть оплаты и доставки. По умолчанию статус называется «Выполнен».
- DN - начальный статус, который присваивается документу отгрузки товара. По умолчанию статус называется «Ожидает обработки».
- DF - финальный статус, который присваивается документу отгрузки товара. По умолчанию статус называется «Отгружен».
Настройка статусов
Чтобы настроить статусы, перейдите на страницу «Магазин», затем выберите раздел «Настройки», перейдите в «Статусы» и кликните на «Статусы заказа».
Форма редактирования статусов имеет вид:
«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'); // причина отмены
Теперь вы знаете, как работать со статусами заказов в интернет-магазине. Удачи вашему бизнесу!