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

Есть три события:
| Событие | Когда проверяется | Для чего |
|---|---|---|
| Заказ сохранён | При каждом сохранении заказа — на сайте, в админке, при обмене с 1С | Реакция на то, что только что произошло: заказ создан, оплачен, сменил статус |
| По расписанию | Периодически, агентом модуля | Правила «прошло N дней»: заказ не оплачен, давно висит в статусе |
| Ручной запуск | Только вручную | Разовые операции над выборкой заказов, которые не должны срабатывать сами |
Заказ сохранён
Сценарий проверяется при каждом сохранении заказа: создание, правка менеджером, смена статуса, оплата, изменение из обмена с 1С. Параметры сужают, какие сохранения учитывать.
Какое сохранение:
- Любое сохранение — каждое сохранение заказа (так же, если ничего не выбрано).
- Только создание заказа — первое сохранение нового заказа. Удобно для правил «новому заказу — ответственного», «крупный новый заказ — на проверку».
- Только изменение заказа — сохранение уже существующего заказа.
Если изменилось поле — сценарий берётся, только если при этом сохранении изменилось хотя бы одно из выбранных полей. Пусто — подходит любое сохранение. Выбрать можно поля, значение которых модуль запоминает до сохранения:
- Статус заказа
- Заказ оплачен
- Заказ отменён
- Доставка разрешена
- Заказ отгружен
- Ответственный
Этот фильтр отсекает лишние проверки: сценарий «оплаченный заказ — в сборку» с отбором по полю «Заказ оплачен» не будет проверяться, когда менеджер просто правит комментарий.
Сценарии по сохранению заказа выполняются не внутри сохранения, а через очередь модуля — сразу после того, как сайт ответил покупателю или менеджеру. Поэтому ошибка в сценарии никогда не ломает оформление заказа, а изменения появляются в заказе через мгновение после сохранения. Если в настройках выключен «Запуск очереди сразу после ответа», задержка составит до минуты-двух.
Что сохраняет сам модуль
Когда сценарий меняет заказ и сохраняет его, это сохранение не запускает сценарии заново — иначе сценарий мог бы бесконечно срабатывать сам на себя. Сценарии ниже по списку и так видят изменения, сделанные выше в этом же проходе.
На случай, если заказ пересохраняет чужой обработчик и цепочка всё-таки зацикливается, есть предохранитель — «Предел сохранений заказа за 10 минут».
По расписанию
Сценарий периодически проверяет уже существующие заказы. Это событие для правил, которые зависят от времени: «не оплачен за 3 дня», «больше недели в статусе „Ожидает поступления“».
Статусы заказа — проверяются только заказы в выбранных статусах; пусто — все статусы. Этот параметр — главный фильтр по объёму: чем уже список статусов, тем меньше заказов перебирает агент. Остальную логику задавайте условиями в блоке «Если».
Как работает расписание:
- Проверку запускает агент модуля. Как часто он запускается, сколько заказов проверяет за раз и насколько старые заказы пропускает — задаётся в настройках, раздел «Расписание». Период общий для всех сценариев по расписанию, у отдельного сценария он не задаётся.
- Проверяются неотменённые заказы, которые менялись за последние N дней (по умолчанию — 30).
- Сценарии по расписанию почти всегда стоит ставить с политикой «Один раз на заказ» — иначе сценарий будет срабатывать на одном и том же заказе при каждом проходе агента.
Когда вы включаете сценарий по расписанию, модуль показывает охват: сколько заказов подпадает под сценарий прямо сейчас и какие именно. Так видно заранее, что сценарий не отменит пол-магазина при первом же проходе агента.
Ручной запуск
Сценарий не срабатывает сам. Его запускают вручную:
- на одном заказе — кнопкой Применить в блоке «Проверка на заказе»;
- на выборке заказов — через «Запуск по заказам».
Подходит для разовых операций: перевести все зависшие заказы прошлого месяца в архивный статус, проставить трек-номера группе заказов, сменить платёжную систему у старых неоплаченных заказов.
Условия на изменение поля (см. Условия) проверяются только при запуске по событию «Заказ сохранён». При ручном запуске и по расписанию сравнивать не с чем, поэтому такие условия считаются невыполненными.