Особенности и распространенные ошибки при работе с триггерами
Скопировать ссылку на статью
Скопировано

Также узнайте, как осуществляется проверка срабатывания триггеров и валидации.

Случай, если триггер не сработал или сработал несколько раз

Для функции last_run одним из параметров заявлена проверка одной из двух доступных сущностей: order (заказ) и customer (клиент). Когда last_run указан без параметров, то проверка идет и по ID заказа, и по ID текущего клиента в заказе. Часто проблема невыполненных/выполненных несколько раз триггеров кроется в том, что заказы или клиенты были объеденены.

Если сработал триггер, который должен быть ограничен порядком или методом last_run()

В случае ограничения срабатывания триггера порядком и методом last_run() (напр. or not last_run(null, "otpravit-infu-v-stefano-ricci")), может возникнуть ситуация, что триггер, который должен быть ограничен всё равно сработал.

Если вы хотите, чтобы триггер не срабатывал, если хотя бы один из триггеров в условии сработал - необходимо ставить условие and, а не or.

Длина поля "Комментарий клиента"

Метод/поле order[customerComment] - длина комментария 10000 символов. При превышении этого количества будет возникать ошибка.

Триггер и объединение клиентов

Обратите внимание, что триггеры с событием «Изменение заказа» реагируют на событие объединения клиентов, но при этом в них нельзя проверить данные клиента, встающего в заказ в результате объединения.

Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Примеры триггеров
Примеры написания триггеров в системе
Следующая статья
Удаление триггера
В статье описаны особенности удаления триггеров из системы.