Процесс оформления доставок добавляет трек номер после обработки заказа в системе менеджером. В связи с этим, в одном триггере не должны использоваться одновременно условия, связанные с трек номером:
- Добавление
- Изменение
- Удаление
И изменением заказа:
- Изменение статуса заказа
- Изменение статуса оплаты
- Изменение любого поля заказа и др.
Если использовать эти условия в одном триггере, он не будет срабатывать так, как вы ожидаете.
Для пользователей, обновившихся с 7 на 8 версию
В версии 8.0 процесс оформления доставки изменился, это повлекло изменения в работе ранее созданных триггеров. В версии 7.0 триггеры срабатывали на изменение статуса заказа, при его изменении заказ уже содержал трек-номер, который передавался в email или SMS. Теперь, ранее созданные триггеры не передают информацию о трек-номере: email и SMS рассылаются клиентам пустые.
Чтобы это исправить, старые триггеры необходимо отредактировать. Например, если у вас в условиях проверяется переход заказа в статус:
changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "send-to-delivery"
Рекомендуем такое условие заменить на проверку появления трек-номера в заказе:
changeSet.hasChangedField("integration_delivery_data.track_number") and order.integrationDeliveryData.trackNumber != null
Если вы столкнетесь с затруднениями или вопросами при самостоятельном изменении триггеров, вы всегда можете обратиться в службу технической поддержки.