Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

【Salesforce】入力規則について

こんにちは、ロジカル・アーツの岡田です。
今回は、入力規則についてご紹介いたします。

入力規則とは

Salesforceの基本機能の一つで、レコードの作成・更新時に入力した項目がある一定の条件を満たした状態でのみ保存ができるようにルールを設定する機能です。
必須項目とは違い、入力した値に数式や条件式でルール設定ができるので質の高いデータ入力が可能になりデータ管理・分析の信頼性を高めます。
入力規則はレコードの保存ボタンのクリックをトリガーとしていますので入力してすぐにはエラーかどうか判断できないことには注意が必要です。

◎各オブジェクトマネージャーのメニューから作成可能

活用例

今回はよくある活用例を3つのパターンに分けてご紹介いたします。

1.未入力の場合にエラーとする/特定のユーザのみ更新可能にする

※単純に該当項目が空白の場合にエラーとしたい場合は「必須項目」の設定をおすすめいたします。
例)商談オブジェクトの”フェーズ”を「失注」になった際に、”失注理由”空白の場合はエラーとする

AND(
  ISPICKVAL ( StageName , "失注" ),
  ISBLANK ( Reason__c )
)

例)商談オブジェクトの”フェーズ”をクローズにした後は、特定のプロファイルのユーザ以外は更新できなくする

AND (
NOT ( $Profile.Name = "特定のプロファイル" ),
PRIORVALUE ( IsClosed ) = TRUE
)

2.正規表現の検証

例)[数量]が必ず整数でなければならない

OR(
FLOOR(Number_data) <> Number_data,
Number_data < 1
)

例)”携帯電話”には11桁の数字のみ入力可能

AND(
   ISBLANK(MobilePhone),
  REGEX(MobilePhone,"^[0-9]{11}")
)

3.項目同士の比較

例)日付項目が2つあるとして1つの日付項目が別の日付項目より過去の場合はエラーとする

Date1 < Date2

注意点

1.運用開始前に可能な限りテストを実施する

定義条件を満たす場合は、API連携やフローでの更新の場合も必ずエラーとなります。
入力規則によってAPI連携がエラー停止する場合もあるので慎重に検証しましょう

2.作りすぎに注意

あまり設定しすぎると一つのデータを入力するために都度エラーが発生し、結果として運用が回らなくなる可能性もあります。
また、設定内容の一部が重複して、うまく制限できなくなるなどの問題が発生することも。

3.エラー判定は保存ボタンのクリック時

前述しましたが、入力規則はレコードの保存ボタンのクリックをトリガーとしていますので入力してすぐにはエラーかどうか判断できないことには注意が必要です。

いかがでしたか。誰でも簡単に設定できる便利な機能ですので是非活用してみてください。