Перейти к основному содержимому

Тогда: действия

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

Блок «Тогда» в редакторе сценария

Список действий​

ДействиеПараметры
Сменить статус заказаНовый статус
Сменить платёжную системуНовая платёжная система · Каким оплатам
Сменить службу доставкиНовая служба доставки · Каким отгрузкам · Пересчитать стоимость доставки
Установить свойство заказаСвойство · Значение · Очистить значение
Установить поле заказаПоле · Значение · Как записать
Установить поле отгрузкиПоле · Значение · Какие отгрузки
Отменить заказОтменить (нет — снять отмену) · Причина отмены

Как выполняются действия​

  1. Сначала проверка всех действий. Прежде чем что-то менять, модуль проверяет, можно ли применить к заказу каждое действие сценария: есть ли неоплаченные оплаты, существует ли выбранная служба доставки, есть ли у типа плательщика нужное свойство. Если хоть одно действие применить нельзя, сценарий пропускается целиком — заказ им не тронут, а в журнал пишется причина. Так сценарий не оставит заказ «наполовину изменённым».
  2. Затем применение по порядку. Все действия выполняются на одном и том же заказе, следующее видит результат предыдущего.
  3. Одно сохранение. Заказ сохраняется один раз в конце прохода — после всех сработавших сценариев, а не после каждого действия. Сохранение идёт штатными средствами Битрикса, со всеми его проверками и событиями.
  4. Ошибки. Если Битрикс отказал в изменении одним из действий (например, чужой обработчик события запретил отмену), этот сценарий получает итог «Ошибка», а остальные сценарии прохода применяются без него. Если Битрикс отказал в сохранении заказа, не сохраняется ничего. Такие отказы не повторяются; повторяются только сбои среды — недоступная база данных, блокировки. Подробно — в разделе Отказы интернет-магазина.
Уже стоит нужное значение — ничего не делается

Если в заказе уже то значение, которое ставит действие, оно отмечается «Без изменений», и заказ ради него не пересохраняется. Поэтому сценарии с повтором «Каждый раз» безопасны: они меняют заказ, только когда он действительно отличается от правила.

Сменить статус заказа​

Новый статус — любой статус заказа магазина. Смена идёт штатными средствами Битрикса, с его событиями — так же, как при смене статуса вручную.

Сменить платёжную систему​

Новая платёжная система — служба оплаты, которую получат оплаты заказа.

Каким оплатам:

  • Всем неоплаченным — всем оплатам заказа, которые ещё не оплачены;
  • Первой неоплаченной — только первой из них.

Оплаченные оплаты не трогаются никогда. Если неоплаченных оплат нет, действие не применимо, и сценарий пропускается.

Сменить службу доставки​

Новая служба доставки — служба, которую получат отгрузки заказа.

Каким отгрузкам:

  • Всем неотгруженным;
  • Первой неотгруженной.

Уже отгруженные отгрузки и служебная системная отгрузка не трогаются.

Пересчитать стоимость доставки — по умолчанию «Нет»: служба меняется, стоимость доставки остаётся прежней. «Да» — стоимость пересчитывается по правилам новой службы. Пересчёт на заказе, где уже есть оплаченные оплаты, не выполняется — сценарий пропускается, чтобы не изменить сумму уже оплаченного заказа.

Установить свойство заказа​

Свойство — любое свойство заказа, кроме файлов и местоположений.

Значение — редактор подстраивается под тип выбранного свойства: строка, число, «Да / Нет», вариант списка, дата. Сначала выберите свойство, затем значение.

Очистить значение — «Да» делает свойство пустым; поле «Значение» при этом не используется.

Если у типа плательщика заказа выбранного свойства нет (например, свойство «ИНН» есть только у юрлиц, а заказ от физлица), действие не применимо, и сценарий пропускается.

Установить поле заказа​

Поле:

  • Ответственный — сотрудник, которому назначается заказ;
  • Комментарий менеджера.

Как записать — для текстовых полей:

  • Заменить — новое значение вместо старого;
  • Дописать новой строкой — добавить строку к тому, что уже написано. Удобно, чтобы сценарии оставляли в комментарии менеджера след: «Переведён на грузовую доставку сценарием …».

Статус этим действием не меняется — для него есть отдельное действие.

Установить поле отгрузки​

Поле:

  • Доставка разрешена — да / нет;
  • Отгружена — да / нет;
  • Трек-номер.

Какие отгрузки: все подходящие или первая подходящая. Системная отгрузка не трогается никогда; «Доставка разрешена» и трек-номер пишутся только в неотгруженные отгрузки.

Отменить заказ​

Отменить (нет — снять отмену) — «Да» отменяет заказ, «Нет» снимает отмену с отменённого заказа.

Причина отмены — необязательный текст, который попадёт в поле «Причина отмены» заказа.

Отмена выполняется штатно, со всеми проверками Битрикса. Заказ, у которого есть оплаченная оплата или отгруженная отгрузка, интернет-магазин не отменяет — сценарий пропускается с причиной. Чтобы отменять отгруженные заказы, поставьте перед отменой действие «Установить поле отгрузки» со значением «Отгружена — Нет». Если отмену запретил обработчик события другого модуля, в журнал пишется ошибка, и заказ остаётся как был.

Подстановки в тексте​

В причине отмены, комментарии менеджера и трек-номере можно использовать подстановки. Модуль заменит их в момент выполнения:

ПодстановкаЧто подставится
#ORDER_ID#ID заказа
#ACCOUNT_NUMBER#Номер заказа
#SCENARIO#Название сценария, который выполняет действие
#DATE#Текущая дата в формате сайта

Пример причины отмены: Не оплачен за 3 дня (#SCENARIO#) — в заказе останется понятная запись, каким правилом он отменён.