Salesforceのフロービルダーで、エントリ条件を設定する際に数式を利用したので記事にしてみます。
今回は、新規または更新されたレコードのレコードトリガフローで、ISNEWとISCHANGEDを使います。
注意点として、レコードが削除されたときにトリガされるフローでは使用できないようです。
今回のフロービルダーで使う数式は下記の3つです。
OR
式が真か偽かを判断します。式が真である場合は、TRUE を返します。式が偽である場合は、FALSE を返します。この関数は、演算子 || (OR) の代わりに使用します。
使用方法
OR(logical1, logical2...)
を使用し、任意の数字の論理参照に、評価する式を指定します。
ISNEW
新規レコードの作成中に数式が実行されているかどうかを確認し、実行中の場合は TRUE を返します。既存のレコードが更新中の場合は、FALSE を返します。
使用方法
ISNEW()
ISCHANGED
項目の値を前との値と比較し、値が異なれば TRUE を返します。値が同じ場合は FALSE を返します。
使用方法
ISCHANGED(field)。field
に、比較する項目名を指定します。
今回は、上記の数式を使ってフロービルダーを実装してみます。
要件
- 取引先が新規作成・編集されたとき、「取引先番号」が自動反映される。
フローを作成
フローを新規作成して、レコードトリガーフローを選択します。
オブジェクトを選択
下記のように選択・設定します。
- オブジェクトを設定:取引先
- トリガーを設定:レコードが作成また更新された
エントリ条件を設定
下記のように選択・設定します。
- 条件の要件:数式の評価がTrueになる
OR(ISNEW(),ISCHANGED({!$Record.AccountNumber}))
開始条件を選択
下記のように選択・設定します。
- フローを最適化:高速項目更新
割り当て
表示ラベルやAPI参照名は任意で、下記のように選択・設定します。
-
変数:{!$Record.Description}
-
演算子:次の文字列と一致する
-
値:{!$Record.AccountNumber}
今回は、取引先の「説明」項目に、その取引先の「取引先番号」を反映させます。
フローを保存
任意の値で保存します。
フロー完成
シンプルなフローができました。
取引先を作成
取引先を作成します。
取引先Bを作成
取引先番号「B-10000」の取引先Bを作成します。
必須項目のみ入力します。
取引先番号を確認
取引先番号「B-10000」が説明欄に自動反映され、編集しても同様に反映されます。
いかがでしたでしょうか。
フロービルダーで数式を使いたい方のご参考になれば幸いです。