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

Когда: события

Блок Когда задаёт, в какой момент сценарий проверяется. Условия и действия сценария не выполняются сами по себе — их запускает событие.

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

Есть три события:

СобытиеКогда проверяетсяДля чего
Заказ сохранёнПри каждом сохранении заказа — на сайте, в админке, при обмене с 1СРеакция на то, что только что произошло: заказ создан, оплачен, сменил статус
По расписаниюПериодически, агентом модуляПравила «прошло N дней»: заказ не оплачен, давно висит в статусе
Ручной запускТолько вручнуюРазовые операции над выборкой заказов, которые не должны срабатывать сами

Заказ сохранён​

Сценарий проверяется при каждом сохранении заказа: создание, правка менеджером, смена статуса, оплата, изменение из обмена с 1С. Параметры сужают, какие сохранения учитывать.

Какое сохранение:

  • Любое сохранение — каждое сохранение заказа (так же, если ничего не выбрано).
  • Только создание заказа — первое сохранение нового заказа. Удобно для правил «новому заказу — ответственного», «крупный новый заказ — на проверку».
  • Только изменение заказа — сохранение уже существующего заказа.

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

  • Статус заказа
  • Заказ оплачен
  • Заказ отменён
  • Доставка разрешена
  • Заказ отгружен
  • Ответственный

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

Изменения применяются сразу после ответа

Сценарии по сохранению заказа выполняются не внутри сохранения, а через очередь модуля — сразу после того, как сайт ответил покупателю или менеджеру. Поэтому ошибка в сценарии никогда не ломает оформление заказа, а изменения появляются в заказе через мгновение после сохранения. Если в настройках выключен «Запуск очереди сразу после ответа», задержка составит до минуты-двух.

Что сохраняет сам модуль​

Когда сценарий меняет заказ и сохраняет его, это сохранение не запускает сценарии заново — иначе сценарий мог бы бесконечно срабатывать сам на себя. Сценарии ниже по списку и так видят изменения, сделанные выше в этом же проходе.

На случай, если заказ пересохраняет чужой обработчик и цепочка всё-таки зацикливается, есть предохранитель — «Предел сохранений заказа за 10 минут».

По расписанию​

Сценарий периодически проверяет уже существующие заказы. Это событие для правил, которые зависят от времени: «не оплачен за 3 дня», «больше недели в статусе „Ожидает поступления“».

Статусы заказа — проверяются только заказы в выбранных статусах; пусто — все статусы. Этот параметр — главный фильтр по объёму: чем уже список статусов, тем меньше заказов перебирает агент. Остальную логику задавайте условиями в блоке «Если».

Как работает расписание:

  • Проверку запускает агент модуля. Как часто он запускается, сколько заказов проверяет за раз и насколько старые заказы пропускает — задаётся в настройках, раздел «Расписание». Период общий для всех сценариев по расписанию, у отдельного сценария он не задаётся.
  • Проверяются неотменённые заказы, которые менялись за последние N дней (по умолчанию — 30).
  • Сценарии по расписанию почти всегда стоит ставить с политикой «Один раз на заказ» — иначе сценарий будет срабатывать на одном и том же заказе при каждом проходе агента.
Охват перед включением

Когда вы включаете сценарий по расписанию, модуль показывает охват: сколько заказов подпадает под сценарий прямо сейчас и какие именно. Так видно заранее, что сценарий не отменит пол-магазина при первом же проходе агента.

Ручной запуск​

Сценарий не срабатывает сам. Его запускают вручную:

Подходит для разовых операций: перевести все зависшие заказы прошлого месяца в архивный статус, проставить трек-номера группе заказов, сменить платёжную систему у старых неоплаченных заказов.

Условия «изменилось», «стало», «было»

Условия на изменение поля (см. Условия) проверяются только при запуске по событию «Заказ сохранён». При ручном запуске и по расписанию сравнивать не с чем, поэтому такие условия считаются невыполненными.