Salesforceマージ時動作
マージされたオブジェクト自体のトリガは動く
(取引先マージの場合は責任者は動かない)
https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_triggers_merge_statements.htm
https://tyoshikawa1106.hatenablog.com/entry/2013/09/15/170455
あと、マージされた場合にトリガの特定処理(updateの方)を動かしたくない場合は下記な感じ?
なんかもっちゃいけどスマートなやり方無いんだろうか。
deleteの時にマージ先Idいれてくれるのであればupdateときにも何かしら判定できるものをセットしてほしい。
//マージの場合はチェック対象外
Datetime chkDate = Datetime.now().addSeconds(-60);
List<ContactHistory> his = [SELECT Field
FROM ContactHistory
WHERE contactid =: con.id
AND Field = 'contactMerged'
AND CreatedDate >=: chkDate];
System.debug(his);
if(his.isEmpty()) con.addError('マージ時以外は**したらだめ。');