Изменения в магазине и настройках
Случаи, причина которых — в настройках магазина или модуля. Их можно найти и исправить самостоятельно.
Сценарий выключился сам
Что произошло. Сценарий, который раньше работал, стал выключенным, хотя его никто не выключал.
Почему. Сценарий ссылается на то, чего больше нет в магазине: удалили или выключили статус заказа, службу доставки, платёжную систему, свойство заказа или его вариант, тип плательщика, группу пользователей, сайт — или удалили модуль, который добавлял в сценарии свои поля и действия. Выполнять такой сценарий дальше опасно: условие на пропавшее значение больше никогда не выполнится, а действие нечем применить. Поэтому модуль выключает сценарий сам и сообщает об этом.
Где видно:
- Уведомление в админке вверху административной части: «Сценарий заказов «…» (ID …) выключен автоматически: он ссылается на то, чего больше нет в магазине…» — со списком ошибок и ссылкой на список сценариев;
- в списке сценариев — сценарий бледный, выключен и с плашкой Ошибка в правиле; по наведению видно, каких значений нет;
- на странице Логи — та же запись с ID и названием сценария.
Модуль сверяет значения сценария с магазином не на каждом заказе, а раз в час. Если службу доставки выключили в 10:05, сценарий может проработать до 11:05. В это время действие с пропавшим значением будет давать итог Пропущен с причиной вроде «Службы доставки [12] нет среди активных — возможно, её отключили в настройках магазина», а условие на пропавший статус просто не выполнится. Правка самого сценария проверяется сразу.
Что делать:
- Откройте сценарий в редакторе. Значения, которых нет в магазине, подсвечены: «Значения «…» нет в магазине».
- Выберите вместо них существующие или верните удалённое в настройках магазина.
- Сохраните сценарий и включите его переключателем в списке.
Включить сценарий, не исправив ошибку, нельзя — переключатель откажет с перечнем ошибок. Так сделано специально, чтобы сценарий не включился «вслепую» и тут же не выключился снова. Уведомление в админке исчезнет само после того, как исправленный сценарий будет сохранён; закрыть его можно и вручную.
Включили обратно службу доставки или платёжную систему — достаточно включить сценарий: модуль проверит его заново, и, если всё на месте, сценарий включится без правки.
Особый случай: если сценарии перестали работать сразу после обновления или удаления стороннего модуля, но не выключились, — см. Сбой расширения стороннего модуля.
Сценарий или модуль выключены
Что произошло. Сценарий не срабатывает ни на одном заказе, в журнале прогонов нет новых строк.
Где видно:
- выключенный сценарий в списке показан бледным, переключатель — «Выключен»;
- кнопка питания в правом верхнем углу модуля выключает работу модуля целиком: пока она выключена, не проверяется ни один сценарий, даже активный.
Что делать. Включите сценарий переключателем в списке или модуль — кнопкой питания.
Пока модуль выключен, сохранения заказов в очередь не ставятся. После включения сценарии по событию «Заказ сохранён» сработают только на следующих сохранениях. Чтобы обработать заказы за время простоя, используйте запуск по заказам с фильтром по периоду. Сценарии по расписанию доберут такие заказы сами при следующем проходе.
Обратите внимание: проверка на заказе работает и для выключенного сценария, и при выключенном модуле. Итог проверки «Сработает» значит только то, что правило подходит к заказу, — а не то, что сценарий включён.
Копия сценария создаётся выключенной — не забудьте включить её после доработки.
Включён тестовый режим
Что произошло. В журнале прогонов есть строки по заказу, но заказ не изменился.
Где видно. Итог прогона — Тест. В подробностях прогона у изменений подписано, что они посчитаны, но в заказ не сохранены.
Почему. Одно из трёх:
- включён тестовый режим модуля — в настройках сценариев. После установки модуля он включён специально;
- у сценария стоит флаг «Тестовый» — в общих параметрах редактора и с отметкой в списке сценариев;
- это запуск по заказам в режиме Проверка (без изменений).
Что делать. Убедитесь по записям «Тест», что сценарий меняет то, что нужно, и выключите соответствующий режим.
Не подходит сайт заказа
Что произошло. Сценарий работает на одних заказах и молчит на других.
Почему. У сценария выбраны Сайты, а заказ оформлен на другом сайте. Такие заказы сценарий не проверяет вовсе, поэтому в журнале прогонов строк нет.
Где видно. Проверка на заказе: «Сценарий не работает на сайте заказа (s2)». В списке сценариев коды сайтов видны рядом со значком 🌐.
Что делать. Добавьте сайт в параметры сценария или оставьте список сайтов пустым — тогда сценарий работает на всех.
Если у заказа сайт не указан вовсе (например, заказ пришёл из внешней системы), сценарии, привязанные к сайтам, на нём не сработают. На странице Логи будет запись «Не удалось определить сайт заказа …: у заказа не указан сайт». Сценарии без привязки к сайтам на таком заказе работают.
Не подходит событие
Что произошло. Условия выполнены, проверка на заказе говорит «Сработает», но при сохранении заказа сценарий молчит.
Почему. Сценарий ждёт другого события:
- у события «Заказ сохранён» выбрано «Только создание заказа», а заказ правили, — или наоборот, «Только изменение заказа», а заказ только что создан;
- задан отбор «Если изменилось поле», а в этом сохранении поле не менялось;
- у сценария событие «По расписанию» — он срабатывает не при сохранении, а при проходе агента. Заказ должен быть в одном из выбранных статусов и меняться не раньше, чем задано в настройке «Не проверять заказы, не менявшиеся дольше, дней»;
- у сценария событие «Ручной запуск» — он срабатывает только из запуска по заказам.
Что делать. Сверьте блок Когда — см. События.
Сценарий уже срабатывал на этом заказе
Что произошло. Сценарий сработал на заказе один раз, а потом перестал, хотя условия снова выполнены.
Почему. В политике сценария стоит повтор «Один раз на заказ». Такой сценарий не трогает заказ повторно никогда — даже если запись о первом срабатывании старше срока хранения журнала.
Где видно. Проверка на заказе: «Сценарий срабатывает один раз на заказ и уже применялся к нему». Первое срабатывание — в журнале прогонов по номеру заказа.
Что делать. Если сценарий должен выравнивать заказ при каждом изменении — поставьте повтор «Каждый раз».
Цепочку остановил сценарий выше
Что произошло. Сценарий не сработал, хотя проверка на заказе говорит «Сработает».
Почему. Выше в списке стоит сценарий с флагом «Стоп после срабатывания», и он сработал на этом заказе — сценарии ниже для заказа не проверялись.
Где видно. Журнал прогонов по номеру заказа: строка сценария со «стопом» в том же проходе. В списке сценариев под таким сценарием пунктирная линия «Если сценарий N сработает, сценарии ниже не проверяются».
Что делать. Поменяйте порядок сценариев или снимите флаг — см. Порядок проверки.
Условия не выполнились
Что произошло. Сценарий не сработал на заказе, где «должен был».
Где видно. Только в проверке на заказе: журнал прогонов не пишет заказы, на которых условия не выполнились, — иначе он рос бы на каждом сохранении. Проверка покажет «Условия сценария не выполнены» и всё дерево условий с отметками ДА / НЕТ, а у каждого условия — что задано в сценарии и что было в заказе.
Что делать. Найдите в дереве узел с НЕТ и сравните значения. Частые причины:
- условие на изменение («изменилось», «стало», «было») при проверке на заказе всегда даёт НЕТ: сравнивать не с чем. Такие условия работают только при настоящем сохранении заказа — см. Условия на изменение. Поэтому в сценарии по расписанию редактор такое условие не сохранит;
- в блоке по оплатам, отгрузкам или корзине выбран режим «все» или «ни один», а нужен «хотя бы один»;
- у заказа нет записей нужной области: «В заказе нет объектов области «Отгрузка»»;
- поле не заполнено: «У поля «…» нет значения».
Пустая группа условий
Группа условий без единого условия ничего не проверяет. Редактор не сохранит такой сценарий: «Группа условий пуста: добавьте условие или удалите группу». Если на группе стоит «НЕ» — «…или снимите «НЕ» — у пустой группы «НЕ» ставить нельзя». Добавьте в группу условие или удалите её.
Закончился пробный период
Что произошло. Не срабатывает ни один сценарий, журнал прогонов не пополняется.
Где видно. Проверка на заказе в любом сценарии отвечает: «Сценарии не исполняются: пробный период модуля закончился или файл модуля include.php недоступен».
Что делать. Купите или продлите лицензию — см. Покупка и продление модуля. Заказы, сохранённые за время простоя, обработайте запуском по заказам. Если лицензия действует, а сообщение остаётся, — установите последнее обновление модуля и, если не помогло, напишите в поддержку.