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

Итоги прогона и разбор срабатываний

Итог прогона​

ИтогЧто значит
ПрименёнУсловия выполнены, действия применены, заказ сохранён
ТестУсловия выполнены, изменения посчитаны, но заказ не сохранён: включён тестовый режим, у сценария стоит флаг «Тестовый» или это запуск по заказам в режиме проверки
ПропущенУсловия выполнены, но сценарий к заказу не применили — причина указана в подробностях прогона
ОшибкаБитрикс отказал в изменении или сохранении заказа, заказ записан частично или произошёл сбой среды. Причина — в подробностях прогона, разбор — в Ошибке при изменении или сохранении

Статус действия​

В колонке «Было → стало» и в подробностях у каждого действия свой статус:

СтатусЧто значит
ИзменениеДействие меняет заказ: видно значение до и после
Без измененийНужное значение уже стояло в заказе
ПропускДействие не применимо к этому заказу
ОшибкаБитрикс отказал в изменении

Почему сценарий пропущен​

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

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

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

Почему упала ошибка​

Ошибка значит, что модуль всё подготовил, но Битрикс отказал в изменении или сохранении заказа — или сбоила среда. Частые причины:

  • обработчик события другого модуля или шаблона запретил изменение (например, OnSaleBeforeOrderCanceled);
  • заказ не прошёл штатные проверки Битрикса при сохранении;
  • Битрикс сохранил заказ, но не сохранил связанные данные — отгрузку, оплату или скидки: «Заказ записан частично»;
  • сбой базы данных или сервера.

Текст ошибки Битрикса — в подробностях прогона. Отказы Битрикса модуль не повторяет — исправьте сценарий, условие или чужой обработчик; сбои среды повторяет сам. Подробно — в разделах Отказы интернет-магазина и Сбои базы данных и сервера.

Почему сценарий не сработал вовсе​

Если сценарий не сработал, в журнале нет строки — журнал не пишет заказы, на которых условия не выполнились. Разбирайтесь так:

  1. Откройте сценарий и выполните проверку на этом заказе. Дерево условий покажет, какое условие дало «НЕТ» и что было в заказе.
  2. Если все условия дают «ДА», проверьте:
    • активен ли сценарий и включён ли профиль модуля (кнопка питания в шапке);
    • подходит ли сайт заказа под сайты сценария;
    • подходит ли событие: «Только создание заказа» не сработает на правке, а отбор «Если изменилось поле» — на сохранении, где это поле не менялось;
    • нет ли выше в списке сценария со «Стоп после срабатывания», который сработал на этом заказе, — посмотрите журнал по номеру заказа;
    • не стоит ли повтор «Один раз на заказ», а сценарий уже применялся к этому заказу — проверка на заказе прямо это скажет.
  3. Для сценариев по расписанию — заказ должен быть в статусе из параметров события, не отменён и меняться не раньше, чем задано в настройке «Не проверять заказы, не менявшиеся дольше, дней». Кроме того, агент проверяет заказы порциями — заказ может дождаться следующего прохода.

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

Сценарии по расписанию и повторные записи

Сценарий по расписанию проверяет одни и те же заказы при каждом проходе агента. Чтобы журнал не заполнялся повторами, для таких сценариев запись «Тест» по одному заказу пишется один раз, а «Пропущен» и «Ошибка» — не чаще раза в сутки.