ビジネスロジックを追加する

ここまでの作業で、アプリケーションを使用して従業員が提案に関するデータを安全に入力し、参照することができるようになりました。それでも十分便利ですが、さらにプラットフォームの機能を拡張してユーザが使いやすいようにしましょう。

数式項目を追加する

数式項目とは、値を他の項目、式、または値から取得する項目で、これによりユーザの手間が大幅に省けます。ここでは、提案の作成から実施までの日数を計算する数式項目を追加しましょう。数式と入力規則についてもっと知りたい場合は、数式と入力規則バッジを獲得しましょう。 

  1. ギアアイコン 設定 をクリックして、[ Setup (設定)] を選択します。[Object Manager (オブジェクトマネージャ)] タブをクリックします。
  2. オブジェクトのリストから、[Suggestion (提案)] を選択します。左側のナビゲーションの [Fields & Relationships (項目とリレーション)] を選択して、[New (新規)] をクリックします。
  3. データ型に [Formula (数式)] を選択し、[Next (次へ)] をクリックします。
  4. 項目の詳細を入力して、[Next (次へ)] をクリックします。
    • Field Label (項目の表示ラベル): Number of Days Open (処理にかかった日数)
    • Field Name (項目名): Number_Of_Days_Open
    • 数式の戻り値のデータ型: Number (数値)
    • Decimal Places (小数点の位置): 0
  5. [Advanced Formula (高度な数式)] タブをクリックします。
  6. 数式エディタで、次の数式を入力します。IF(ISBLANK(Implemented_Date__c), TODAY() - DATEVALUE(CreatedDate), Implemented_Date__c - DATEVALUE(CreatedDate))  [New Custom Field (新規カスタム項目)] 画面のスクリーンショット。タイトルに [Step 3: Enter Formula (ステップ 3: 数式の入力)] と表示されています。
  7. エラーがないことを確認するために、[Check Syntax (構文を確認)] をクリックします。
  8. [Next (次へ)] をクリックし、もう一度 [Next (次へ)] をクリックします。
  9. [Save (保存)] をクリックします。

入力規則を追加する

数式は、データ品質を保証し、ビジネスルールを適用するためにも使用されます。従業員は将来を予知することはできないため、まだ起こっていない実施日を入力しないようにする入力規則を作成しましょう。入力規則では、「無効な」データの条件を定義します。システムが規則を評価し条件が true の場合に、ユーザがデータを保存できないようにします。

  1. ギアアイコン 設定 をクリックして、[ Setup (設定)] を選択します。[Object Manager (オブジェクトマネージャ)] タブをクリックします。
  2. オブジェクトのリストから、[Suggestion (提案)] を選択します。[Validation Rules (入力規則)] を選択し、[New (新規)] をクリックします。
  3. 規則の詳細を入力します。
    • Rule Name (ルール名): Date_in_Range
    • Error Condition Formula (エラー条件数式): Implemented_Date__c > TODAY()
    • エラーメッセージ: The implementation date must be today or in the past, not in the future. (実施日は将来の日付にできません。今日または過去の日付を設定してください。)
    • Error Location (エラー表示場所): Field (項目): Implemented Date (実施日)
      [Validation Rule (入力規則)] 画面のスクリーンショット。エラーメッセージ「The implementation date must be today or in the past, not in the future. (実施日は将来の日付にできません。今日または過去の日付を設定してください。)」が表示されています。
  4. [Save (保存)] をクリックします。

プロセスビルダーを使用して項目の更新を追加する

数式は、ビジネスプロセスを自動化する場合にも便利です。すべての提案に対応しなければならない担当者の時間を節約して、作業を楽にしてあげましょう。ユーザが実施日を追加すると、状況が自動的に [Implemented (実施済み)] に変更されるようにします。さまざまな自動化ツールについてもっと知りたい場合は、Lighting フローバッジを獲得しましょう。

  1. [Setup (設定)] から、[Quick Find (クイック検索)] に Process Builder (プロセスビルダー) と入力し、[Process Builder (プロセスビルダー)] を選択します。
  2. ウェルカムページで、[New (新規)] をクリックします。
  3. プロセスの詳細を入力して、[Save (保存)] をクリックします。
    • プロセス名: Update Status (状況の更新)
    • API 参照名: Update_Status
    • Description (説明): Updates status to Implemented when Implemented Date field is populated. ([Implemented Date (実施日)] 項目が入力されたときに状況を [Implemented (実施済み)] に更新します。)
    • The process starts when (プロセスを開始するタイミング): A record changes (レコードが変更されたとき)
    • [Save (保存)] ボタンをクリックします。
  4. [Add Object (オブジェクトを追加)] をクリックします。
  5. プロセスを Suggestion オブジェクトに関連付け、プロセスの開始時期を指定します。このプロセスには、[when a record is created or edited (レコードを作成または編集したとき)] を選択します。
    プロセスビルダーの [Update Status (状況の更新)] 画面のスクリーンショット。[Choose Object and Specify When to Start the Process (オブジェクトを選択してプロセスを開始するタイミングを指定)] オプションが表示されています。
  6. [Save (保存)] をクリックします。
  7. [Add Criteria (条件を追加)] をクリックします。
  8. 条件名に Implemented? (実施済み?) と入力します。
  9. [Formula evaluates to true (数式の評価が true になる)] を選択します。
  10. [Implemented Date (実施日)] 項目が入力されているかどうかを確認するために、数式エディタに次のように入力します。NOT(ISBLANK( [Suggestion__c].Implemented_Date__c ))
     プロセスビルダーの [Update Status (状況の更新)] 画面のスクリーンショット。[Build Formula (数式の構築)] 項目に数式「NOT(ISBLANK( [Suggestion__c].Implemented_Date__c ))」が表示されています。
  11. [Save (保存)] をクリックします。
  12. [Add Action (アクションを追加)] をクリックします。
  13. アクションの詳細を入力して、[Choose (選択)] をクリックします。
    • Action Type (アクション種別): Update Records (レコードを更新)
    • Action Name (アクション名): Update Status to Implemented (状況を実施済みに更新)
    • Record Type (レコード種別): 虫眼鏡アイコンをクリックしてモーダルを開き、[Select the Suggestion__c record that started your process (プロセスを開始した Suggestion__c レコードを選択)] を選択します。
  14. [Choose (選択)] をクリックします。
  15. [No criteria—just update the records! (レコードを更新する条件がない)] は選択したままにします。
  16. 新しい項目値を設定します。
    • Filed (項目): Status (状況)
    • Type (種別): Picklist (選択リスト)
    • Value (値): Implemented (実施済み)
      プロセスビルダーの [Update Status (状況の更新)] 画面のスクリーンショット。選択リストの値 [Status (状況)]、[Picklist (選択リスト)]、[Implemented (実施済み)] が表示されています。
  17. [Save (保存)] をクリックします。
  18. [Activate (有効化)] をクリックし、[Confirm (確認)] をクリックします。

アプリケーションを試す

このビジネスロジックはレコードが作成または更新されるたびに起動します。 

  1. [Suggestions (提案)] タブの Suggestion レコードに戻ります (アプリケーションランチャーに移動してから Suggestion Box アプリケーションを選択する)。
  2. [Implemented Date (実施日)] 項目に日付を入力します。
  3. 将来の日付を入力してみてください。システムによって保存がブロックされましたか?
  4. 次に、今日の日付を入力します。[Status (状況)] 項目が [Implemented (実施済み)] に変更されます。

不正なデータ入力を示す、[Locker Room (ロッカールーム)] 提案レコードのスクリーンショット。エラーメッセージ「The implementation date must be today or in the past, not in the future. (実施日は将来の日付にできません。今日または過去の日付を設定してください。)」が表示されています。

リソース