Порядок срабатывания триггеров

Когда в одном объекте несколько триггеров без связи, то иногда имеет значение в каком порядке они срабатывают. Возьмем для примера следующую карточку сделки.

  • Стрелками изображены триггеры. Синяя стрелка — вычитающий триггер.
  • Цифрами в кружках указан порядок триггеров (порядок срабатывания).

На карточке сделки три вкладки.

На вкладке Продукты сделки указан список продуктов и их стоимость. Стоимость всех продуктов считается триггером (1) в поле сделки Продукты.

На вкладке Услуги сделки указан список услуг и их стоимость. Стоимость всех услуг считается триггером (2) в поле сделки Услуги.

На вкладке Платежи указан список платежей. Сумма всех платежей считается триггером (3) в поле сделки Оплачено.

Поле К оплате показывает сколько всего по сделке нужно заплатить. Его считают два триггера (4 и 5) из полей Продукты и Услуги.

Поле Долг также считают два триггера (6 и 7). Один прибавляет сумму (из поля К оплате), другой — вычитает (из поля Оплачено).

Здесь важно, чтобы триггер 6 сработал позже триггеров 4 и 5. Иначе поле К оплате не успеет посчитаться, а его уже прибавят в поле Долг триггером 6.

Порядок срабатывания триггера 7 не важен.

  • Триггеры всегда срабатывают последовательно.
  • Порядок срабатывания триггеров со связью не важен, поэтому не настраивается.
  • Порядок срабатывания триггеров без связи иногда важен. Когда поле-приемник одного триггера (без связи) используется как поле-источник в другом триггере (без связи).
  • Несколько триггеров могут иметь один и тот же порядок (одну и ту же цифру). Но они все равно сработают последовательно.