tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:項目自動更新とUpdateTrigger

項目自動更新とUpdateTriggerについてです。項目自動更新が複数存在する場合にUpdateTriggerが何回実行されるか検証してみました。


次のような感じで3つの項目自動更新を用意します。

f:id:tyoshikawa1106:20130718230105p:plain

トリガーはUPDATE時にのみSystem.debugでログ出力するようにしてあります。

上記の条件で検証してみた時ログは次のようになりました。

f:id:tyoshikawa1106:20130718230658p:plain

項目自動更新が複数存在してもトリガーが複数が実行されてしまうということは無いみたいです。しかしこのようなワークフロールールが複数存在している場合は結果が異なりました。

f:id:tyoshikawa1106:20130718231022p:plain

ワークフロールールをコピーして確認してみたのですがトリガーが2回実行されています。ルールが複数ある場合はそれぞれの更新時にトリガーが実行されてしまうみたいです。また項目自動更新には「項目変更後にワークフロールールを再評価する」という機能があります。

f:id:tyoshikawa1106:20130718231414p:plain

これを利用して複数回項目自動更新を実行した場合は次のようになりました。

f:id:tyoshikawa1106:20130718231603p:plain

再評価による項目自動更新の実行はワークフロールールが複数存在するときと同じくトリガーが複数回実行されるみたいです。