【Salesforce】プロセスビルダーで、主従関係のオブジェクトの値を初期値として設定する

レコードを登録・更新する際に、主従関係、もしくは参照関係にあるレコードの値を初期値として設定したいなって言うのが今回のやりたいことです。

 

取引先責任者を作成・更新する場合、関連する取引先のEmailが設定されていれば取引先責任者のEmailへ同じ値を設定するようにしました。

 

まずは取引先へ「Email」項目を追加します。

f:id:irodoruhito:20170317095525p:plain

 

今回は、プロセスビルダーでやってみました。

アルゴリズムはこんな感じ。

f:id:irodoruhito:20170317104524p:plain

 

まずは起動タイミング。

「取引先責任者」「レコードを作成または編集したとき」とします。

f:id:irodoruhito:20170317105330p:plain

 

続いては起動条件。

作成時に関連する取引先が設定済、または更新時に関連する取引先が変更済、とします。

 

f:id:irodoruhito:20170317105758p:plain

 

OR(
  AND(
    NOT ISBLANK([Contact].AccountId) ,
    ISNEW()
  ),
AND(
  NOT ISBLANK([Contact].AccountId) ,
  ISCHANGED([Contact].AccountId)
  )
)

 

更新時は関連する取引先が変更した場合のみ起動します。

関連する取引先を変更せず、取引先責任者のEmailへ手動で値を入力した場合は、入力した値を設定することも出来ますね。

 

最後にレコードの更新。

f:id:irodoruhito:20170317105351p:plain

取引先責任者.メールへ、取引先.Emailの値を設定します。

 

「有効化」して、取引先から取引先責任者を作成します。

 

f:id:irodoruhito:20170317110841p:plain

 

取引先.Emailが取引先責任者.メールへ設定されました。

 

今回は主従関係にある標準オブジェクトを使っていますが、参照関係でもカスタムオブジェクトでも同じように設定することができます。

 

プロセスビルダーを使って、少しでも入力の手間を省きたいですよね。