Skip to main content

Add Business Logic

メモ

メモ

日本語で受講されている方へ
このバッジの Trailhead ハンズオン Challenge は英語で受講していただく必要があります。英語の意味についてはかっこ内の翻訳をご参照ください。Trailhead Playground では (1) [Locale (地域)] を [United States (米国)] に、[Language (言語)] を [English (英語)] に切り替えて、(2) 英語の値のみをコピーして貼り付けてください。こちらの指示に従ってください。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

アクセシビリティ

この単元ではスクリーンリーダーのユーザー向けに指示が追加されている部分があります。この単元の詳細なスクリーンリーダー版を表示するには、以下のリンクをクリックしてください。

Trailhead スクリーンリーダー版を開く。

これで基本のアプリケーションができ、ユーザーがデータを保持してプロジェクトを管理することができるようになりました。ただし、この種のプロジェクトには、設定可能なビジネスルールもあります。

宇宙ステーションの建設は一筋縄でいくものではありません。抜かりなくやり遂げることが求められる大変な作業です。かつての排気口の問題について考えてみましょう。排気口の数が多すぎて、格好の標的になりやすかったようです。 

そのため、しつこい厄介者に再び問題を起こされることがないように、プロジェクトに十分な数の排気口検査官を動員して、安全上の問題となる排気口を見つけ出します。排気口検査官はどのプロジェクトにも十分な時間を費やす必要があります。時間外作業が発生しても仕方ありません。 

排気口検査官の稼働状況が 150% 未満の場合は、ユーザーがその検査官のレコードを保存できないようにする入力規則を作成する必要があります。 

稼働状況入力規則を追加する

  1. 設定アイコン をクリックして [Setup (設定)] を選択し、[Home (ホーム)] の横にある [Object Manager (オブジェクトマネージャー)] タブをクリックします。
  2. [Resource (人員)] をクリックします。
  3. 左側のナビゲーションにある [Validation Rules (入力規則)] を選択します。
  4. [New (新規)] をクリックします。
  5. [Rule Name (ルール名)]Inspectors_Must_Work_Overtime と入力します。
  6. [Error Condition Formula (エラー条件数式)] で、排気口検査官の稼働状況が 150% 未満の場合はユーザーがそのレコードを保存できないようにします。数式を AND(Name = "Exhaust Port Inspector", Utilization__c < 1.5) と入力します
  7. [Check Syntax (構文を確認)] をクリックして数式の構文が正しいことを確認します。
  8. [Error Message (エラーメッセージ)] に、Exhaust Port Inspectors must work at least 150%.No coffee breaks! (排気口検査官は 150% 以上稼働する必要があります。休憩なし!) と入力します。
  9. [Error Location (エラー表示場所)] で [Fields (項目)] ラジオボタンをオンにして、[Utilization (稼働状況)] 項目を選択します。
    エラー条件数式とエラーメッセージが入力されている完成済みの入力規則。
  10. [Save (保存)] をクリックします。

では、Space Station レコードに戻り、稼働状況が150 未満の Exhaust Port Inspector (排気口検査官) という新しい人員種別を入力してみましょう。これで、ユーザーが不適切なデータを入力するとエラーメッセージが表示されるようになりました。

Flow Builder を使用して自動化する

Flow Builder とは、ビジネスプロセスを簡単に自動化できるツールで、プロセスの作成中にそのプロセスを効果的かつわかりやすく視覚表示できます。簡単なポイント & クリック操作でフローを作成できます。フローは Salesforce で何かが起きたときにバックグラウンドでビジネスプロセスを実行するものです。

次に、シールドの状況が [Fully Operational (完全稼働状態)] に変更された時点でプロジェクトを [Complete (完了)] に更新するフローを作成します。

  1. 設定アイコン をクリックして [Setup (設定)] を選択し、[Quick Find (クイック検索)] ボックスに Flows (フロー) と入力して、[Flows (フロー)] を選択します。
  2. [New Flow (新規フロー)] をクリックします。
  3. [Record-Triggered Flow (レコードトリガーフロー)] を選択し、[Create (作成)] をクリックします。
    オブジェクトが選択され、設定されている [Trigger (トリガー)] 画面。
  4. [Object (オブジェクト)] 項目で [Space Station (宇宙ステーション)] を選択します。
  5. [Configure Trigger (トリガーを設定)] で [A record is created or updated (レコードが作成または更新された)] を選択します。[Object (オブジェクト)] 項目とこの設定の組み合わせにより、誰かが Space Station レコードを作成または更新するたびにフローが実行されるようになります。
    完成したフローエントリ条件画面。
  6. [Condition Requirements (条件の要件)] を [All Conditions Are Met (AND) (すべての条件に一致 (AND))] に設定します。この項目でトリガーレコードの条件を設定できます。フローはそのレコードの条件が true の場合のみ実行されます。
  7. 条件行で、[Field (項目)] を Shield_Status__c に、[Operator (演算子)] を [Equals (次の文字列と一致する)] に、[Value (値)] を [Fully Operational (完全稼働状態)] に設定します。
  8. [When to Run the Flow for Updated Records (更新されたレコードでフローを実行するタイミング)] 項目で [Only when a record is updated to meet the condition requirements (条件の要件に一致するようにレコードを更新したときのみ)] を選択します。この設定によって、フローをトリガーしたレコードの変更に [Shield Status (シールドの状況)] の [Fully Operational (完全稼働状態)] への変更が含まれていた場合のみフローが実行されます。フローがトリガーされる前に [Shield Status (シールドの状況)] がすでに [Fully Operational (完全稼働状態)] であった場合にはフローは実行されません。
  9. 他の設定はデフォルトのままにします。

レコードのアクションを更新する

条件が true と評価された場合 ([Shield Status (シールドの状況)] が [Fully Operational (完全稼働状態)] に変更された場合) は [Project Status (プロジェクトの状況)] が [Complete (完了)] に変更されるようにします。これは、プロジェクトが終了し、宇宙ステーションが戦闘態勢であることを意味します。 

  1. フローキャンバスの開始要素で、要素を追加 の上にカーソルを置いて 要素を追加 をクリックします。[Update Triggering Record (トリガーレコードを更新)] を選択します。
  2. [Label (表示ラベル)] に Update Status と入力します。[API Name (API 参照名)] が Update_Status になっていることを確認します。
  3. [Use the space station record that triggered the flow (フローをトリガーした宇宙ステーションレコードを使用)] が選択されていることを確認します。
  4. 検索条件が [None-Always Update Record (なし - 常にレコードを更新)] に設定されていることを確認します。
  5. [Field (項目)] を Project_Status__c に設定します。
  6. [Value (値)] を Complete (完了) に設定します。
    上記の手順に対応する [Update Records (レコードを更新)] パネル。
  7. 他の項目設定はデフォルトのままにします。

Chatter に投稿する

フローを有効にする前にもう 1 つ、最後の操作を行います。プロジェクトが完了し、シールドが戦闘態勢になったら、Chatter 投稿でこの偉業を発表します。この知らせに上司も喜んでくれるはずです。

  1. [Update Status (状況の更新)] 要素の後の 要素を追加 にカーソルを置いて 要素を追加 をクリックします。[Action (アクション)] を選択します。
  2. [Action (アクション)] 項目で [Post to Chatter (Chatter に投稿)] を検索して選択します。
  3. [Label (表示ラベル)] 項目に Post to Chatter と入力します。
  4. [API Name (API 参照名)] が Post_to_Chatter になっていることを確認します。
  5. [Message (メッセージ)] 項目に {!$Record.Name} is complete!Now witness the comfort of being protected by the best shield in the galaxy! ({!$Record.Name} 完了! 銀河系で最高のシールドの信頼できる防御力を刮目せよ!) と入力します。
  6. [Target Name or ID (対象名または ID)] 項目で、[$Record][Id] の順に選択します。項目のテキストは {!$Record.Id} となります。$Record 値はフローをトリガーしたレコードを表します。そのため、{!$Record.Name} はフローをトリガーしたレコードの名前に自動的に置き換えられ、{!$Record.Id} はフローをトリガーしたレコードの ID に自動的に置き換えられます。
    完成した [新規アクション] 画面。
  7. その他の項目は空白のままにして、[Done (完了)] をクリックします。
  8. [Save (保存)] をクリックします。
    • Flow Label (フローの表示ラベル): Fully Operational Space Station (完全稼働状態の宇宙ステーション)
    • Flow API Name (フローの API 参照名): Fully_Operational_Space_Station
  1. [Save (保存)] をクリックします。
  2. [Activate (有効化)] をクリックしてフローを有効にします。

フローをテストする

ではここで、フローが動作する様子を確認してみましょう。Flow Builder を離れるには、左上にある [Back (戻る)] 矢印をクリックします。Space Station レコードを編集して、[Shield Status (シールドの状況)] を [Fully Operational (完全稼働状態)] に設定し、[Save (保存)] をクリックするだけです。ページを更新すると、[Project Status (プロジェクトの状況)] が [Complete (完了)] になり、ページのフィードに偉業を知らせる Chatter 投稿が表示されます。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる