Итоги прогона и разбор срабатываний
Итог прогона
| Итог | Что значит |
|---|---|
| Применён | Условия выполнены, действия применены, заказ сохранён |
| Тест | Условия выполнены, изменения посчитаны, но заказ не сохранён: включён тестовый режим, у сценария стоит флаг «Тестовый» или это запуск по заказам в режиме проверки |
| Пропущен | Условия выполнены, но сценарий к заказу не применили — причина указана в подробностях прогона |
| Ошибка | Битрикс отказал в изменении или сохранении заказа, заказ записан частично или произошёл сбой среды. Причина — в подробностях прогона, разбор — в Ошибке при изменении или сохранении |
Статус действия
В колонке «Было → стало» и в подробностях у каждого действия свой статус:
| Статус | Что значит |
|---|---|
| Изменение | Действие меняет заказ: видно значение до и после |
| Без изменений | Нужное значение уже стояло в заказе |
| Пропуск | Действие не применимо к этому заказу |
| Ошибка | Битрикс отказал в изменении |
Почему сценарий пропущен
Сценарий пропускается целиком, если хотя бы одно его действие нельзя применить к заказу, — чтобы не оставить заказ изменённым наполовину. Типичные причины:
- Сменить платёжную систему — у заказа нет неоплаченных оплат.
- Сменить службу доставки — нет неотгруженных отгрузок; или включён пересчёт стоимости, а в заказе уже есть оплаченные оплаты; или выбранная служба доставки удалена или выключена.
- Установить свойство заказа — у типа плательщика заказа нет такого свойства.
- Установить поле отгрузки — нет подходящих отгрузок: трек-номер и «Доставка разрешена» пишутся только в неотгруженные.
- Сменить статус заказа — выбранного статуса больше нет в магазине.
- Отменить заказ — у заказа есть оплаченная оплата или отгруженная отгрузка: интернет-магазин такой заказ не отменяет.
- Защита от петель — заказ сохранялся сценариями слишком часто, и проход остановлен пределом сохранений.
Что делать: откройте подробности прогона — там указана причина, — и либо поправьте действие, либо добавьте в блок «Если» условие, которое отсечёт такие заказы заранее. Например, для сценария со сменой платёжной системы — условие «Заказ оплачен — Нет». Полный список причин — в разделе Сценарий пропущен.
Почему упала ошибка
Ошибка значит, что модуль всё подготовил, но Битрикс отказал в изменении или сохранении заказа — или сбоила среда. Частые причины:
- обработчик события другого модуля или шаблона запретил изменение (например,
OnSaleBeforeOrderCanceled); - заказ не прошёл штатные проверки Битрикса при сохранении;
- Битрикс сохранил заказ, но не сохранил связанные данные — отгрузку, оплату или скидки: «Заказ записан частично»;
- сбой базы данных или сервера.
Текст ошибки Битрикса — в подробностях прогона. Отказы Битрикса модуль не повторяет — исправьте сценарий, условие или чужой обработчик; сбои среды повторяет сам. Подробно — в разделах Отказы интернет-магазина и Сбои базы данных и сервера.
Почему сценарий не сработал вовсе
Если сценарий не сработал, в журнале нет строки — журнал не пишет заказы, на которых условия не выполнились. Разбирайтесь так:
- Откройте сценарий и выполните проверку на этом заказе. Дерево условий покажет, какое условие дало «НЕТ» и что было в заказе.
- Если все условия дают «ДА», проверьте:
- активен ли сценарий и включён ли профиль модуля (кнопка питания в шапке);
- подходит ли сайт заказа под сайты сценария;
- подходит ли событие: «Только создание заказа» не сработает на правке, а отбор «Если изменилось поле» — на сохранении, где это поле не менялось;
- нет ли выше в списке сценария со «Стоп после срабатывания», который сработал на этом заказе, — посмотрите журнал по номеру заказа;
- не стоит ли повтор «Один раз на заказ», а сценарий уже применялся к этому заказу — проверка на заказе прямо это скажет.
- Для сценариев по расписанию — заказ должен быть в статусе из параметров события, не отменён и меняться не раньше, чем задано в настройке «Не проверять заказы, не менявшиеся дольше, дней». Кроме того, агент проверяет заказы порциями — заказ может дождаться следующего прохода.
Остальные случаи — сценарий выключился сам, заказ ждёт в очереди, агент остановлен, закончился пробный период — разобраны в разделе Почему сценарий не сработал.
Сценарий по расписанию проверяет одни и те же заказы при каждом проходе агента. Чтобы журнал не заполнялся повторами, для таких сценариев запись «Тест» по одному заказу пишется один раз, а «Пропущен» и «Ошибка» — не чаще раза в сутки.