tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:選択リストの一括置換とApexトリガ

Salesforceには選択リスト型の項目の値を一括置換する機能があります。この置換機能をつかったレコード更新でApexトリガが実行されるか確認してみました。
f:id:tyoshikawa1106:20151115222754p:plain


こんな感じでトリガが実行されたら強制的にエラーになるようにして検証します。
f:id:tyoshikawa1106:20151115223036p:plain


標準の編集画面できちんとエラーになることを確認します。
f:id:tyoshikawa1106:20151115223311p:plain


Otherの値をWebに置換します。
f:id:tyoshikawa1106:20151115223343p:plain


処理完了まで少し時間がかかります。
f:id:tyoshikawa1106:20151115223426p:plain


進捗状況はすべてのバックグラウンドジョブで確認できます。
f:id:tyoshikawa1106:20151115223603p:plain


また、完了時にメールでも確認できます。
f:id:tyoshikawa1106:20151115223947p:plain


標準項目だからだと思うのですが、取引先責任者のリードソースを置換したとき、『取引先』『商談』『リード』のリードソース項目にも反映されます。

取引先責任者

f:id:tyoshikawa1106:20151115224226p:plain

取引先

f:id:tyoshikawa1106:20151115224235p:plain

検証結果

置換完了通知がきた後、対象のレコードを確認すると無事に置換がおこなれていました。また最終更新日も置換されたタイミングで更新されていました。
f:id:tyoshikawa1106:20151115224619p:plain


Apexトリガが実行されたときに強制的にエラーとなるようにしていたので、選択リストの一括置換実行ではApexトリガは実行されていないことを確認できました。

追記

上記では標準オブジェクトの項目で検証していたので、カスタムオブジェクトのカスタム項目でも試してみました。こちらも問題なく実行できたので標準/カスタムに関わらず選択リストの一括置換ではApexトリガは実行されないということで間違いないと思います。