Тогда: действия
Блок Тогда — что сделать с заказом, если условия выполнены. Действия выполняются по порядку сверху вниз; порядок меняется стрелками ↑ ↓ в шапке действия, удаляется действие корзиной. Нужно хотя бы одно действие.

Список действий
| Действие | Параметры |
|---|---|
| Сменить статус заказа | Новый статус |
| Сменить платёжную систему | Новая платёжная система · Каким оплатам |
| Сменить службу доставки | Новая служба доставки · Каким отгрузкам · Пересчитать стоимость доставки |
| Установить свойство заказа | Свойство · Значение · Очистить значение |
| Установить поле заказа | Поле · Значение · Как записать |
| Установить поле отгрузки | Поле · Значение · Какие отгрузки |
| Отменить заказ | Отменить (нет — снять отмену) · Причина отмены |
Как выполняются действия
- Сначала проверка всех действий. Прежде чем что-то менять, модуль проверяет, можно ли применить к заказу каждое действие сценария: есть ли неоплаченные оплаты, существует ли выбранная служба доставки, есть ли у типа плательщика нужное свойство. Если хоть одно действие применить нельзя, сценарий пропускается целиком — заказ им не тронут, а в журнал пишется причина. Так сценарий не оставит заказ «наполовину изменённым».
- Затем применение по порядку. Все действия выполняются на одном и том же заказе, следующее видит результат предыдущего.
- Одно сохранение. Заказ сохраняется один раз в конце прохода — после всех сработавших сценариев, а не после каждого действия. Сохранение идёт штатными средствами Битрикса, со всеми его проверками и событиями.
- Ошибки. Если Битрикс отказал в изменении одним из действий (например, чужой обработчик события запретил отмену), этот сценарий получает итог «Ошибка», а остальные сценарии прохода применяются без него. Если Битрикс отказал в сохранении заказа, не сохраняется ничего. Такие отказы не повторяются; повторяются только сбои среды — недоступная база данных, блокировки. Подробно — в разделе Отказы интернет-магазина.
Если в заказе уже то значение, которое ставит действие, оно отмечается «Без изменений», и заказ ради него не пересохраняется. Поэтому сценарии с повтором «Каждый раз» безопасны: они меняют заказ, только когда он действительно отличается от правила.
Сменить статус заказа
Новый статус — любой статус заказа магазина. Смена идёт штатными средствами Битрикса, с его событиями — так же, как при смене статуса вручную.
Сменить платёжную систему
Новая платёжная система — служба оплаты, которую получат оплаты заказа.
Каким оплатам:
- Всем неоплаченным — всем оплатам заказа, которые ещё не оплачены;
- Первой неоплаченной — только первой из них.
Оплаченные оплаты не трогаются никогда. Если неоплаченных оплат нет, действие не применимо, и сценарий пропускается.
Сменить службу доставки
Новая служба доставки — служба, которую получат отгрузки заказа.
Каким отгрузкам:
- Всем неотгруженным;
- Первой неотгруженной.
Уже отгруженные отгрузки и служебная системная отгрузка не трогаются.
Пересчитать стоимость доставки — по умолчанию «Нет»: служба меняется, стоимость доставки остаётся прежней. «Да» — стоимость пересчитывается по правилам новой службы. Пересчёт на заказе, где уже есть оплаченные оплаты, не выполняется — сценарий пропускается, чтобы не изменить сумму уже оплаченного заказа.
Установить свойство заказа
Свойство — любое свойство заказа, кроме файлов и местоположений.
Значение — редактор подстраивается под тип выбранного свойства: строка, число, «Да / Нет», вариант списка, дата. Сначала выберите свойство, затем значение.
Очистить значение — «Да» делает свойство пустым; поле «Значение» при этом не используется.
Если у типа плательщика заказа выбранного свойства нет (например, свойство «ИНН» есть только у юрлиц, а заказ от физлица), действие не применимо, и сценарий пропускается.
Установить поле заказа
Поле:
- Ответственный — сотрудник, которому назначается заказ;
- Комментарий менеджера.
Как записать — для текстовых полей:
- Заменить — новое значение вместо старого;
- Дописать новой строкой — добавить строку к тому, что уже написано. Удобно, чтобы сценарии оставляли в комментарии менеджера след: «Переведён на грузовую доставку сценарием …».
Статус этим действием не меняется — для него есть отдельное действие.
Установить поле отгрузки
Поле:
- Доставка разрешена — да / нет;
- Отгружена — да / нет;
- Трек-номер.
Какие отгрузки: все подходящие или первая подходящая. Системная отгрузка не трогается никогда; «Доставка разрешена» и трек-номер пишутся только в неотгруженные отгрузки.
Отменить заказ
Отменить (нет — снять отмену) — «Да» отменяет заказ, «Нет» снимает отмену с отменённого заказа.
Причина отмены — необязательный текст, который попадёт в поле «Причина отмены» заказа.
Отмена выполняется штатно, со всеми проверками Битрикса. Заказ, у которого есть оплаченная оплата или отгруженная отгрузка, интернет-магазин не отменяет — сценарий пропускается с причиной. Чтобы отменять отгруженные заказы, поставьте перед отменой действие «Установить поле отгрузки» со значением «Отгружена — Нет». Если отмену запретил обработчик события другого модуля, в журнал пишется ошибка, и заказ остаётся как был.
Подстановки в тексте
В причине отмены, комментарии менеджера и трек-номере можно использовать подстановки. Модуль заменит их в момент выполнения:
| Подстановка | Что подставится |
|---|---|
#ORDER_ID# | ID заказа |
#ACCOUNT_NUMBER# | Номер заказа |
#SCENARIO# | Название сценария, который выполняет действие |
#DATE# | Текущая дата в формате сайта |
Пример причины отмены: Не оплачен за 3 дня (#SCENARIO#) — в заказе останется понятная запись, каким правилом он отменён.