Также узнайте, как осуществляется проверка срабатывания триггеров и валидации.
Случай, если триггер не сработал или сработал несколько раз
Для функции 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 символов. При превышении этого количества будет возникать ошибка.
Триггер и объединение клиентов
Обратите внимание, что триггеры с событием «Изменение заказа» реагируют на событие объединения клиентов, но при этом в них нельзя проверить данные клиента, встающего в заказ в результате объединения.