Skip to main content

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

メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 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. [Start from Scratch (最初から開始)] が選択されていることを確認して [Next (次へ)] をクリックします。
  4. [Record-Triggered Flow (レコードトリガーフロー)] を選択し、[Create (作成)] をクリックします。
    オブジェクトが選択され、設定されている [Trigger (トリガー)] 画面。
  5. [Object (オブジェクト)] 項目で [Space Station (宇宙ステーション)] を選択します。
  6. [Configure Trigger (トリガーを設定)] で [A record is created or updated (レコードが作成または更新された)] を選択します。[Object (オブジェクト)] 項目とこの設定の組み合わせにより、誰かが Space Station レコードを作成または更新するたびにフローが実行されるようになります。
    完成したフローエントリ条件画面。
  7. [Condition Requirements (条件の要件)] を [All Conditions Are Met (AND) (すべての条件に一致 (AND))] に設定します。この項目でトリガーレコードの条件を設定できます。フローはそのレコードの条件が true の場合のみ実行されます。
  8. 条件行で、[Field (項目)] を Shield_Status__c に、[Operator (演算子)] を [Equals (次の文字列と一致する)] に、[Value (値)] を [Fully Operational (完全稼働状態)] に設定します。
  9. [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 (完全稼働状態)] であった場合にはフローは実行されません。
  10. 他の設定はデフォルトのままにします。

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

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

  1. フローキャンバスの [Start (開始)] 要素の後のパスで 要素を追加 をクリックします。[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. [Search 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} テキストは、項目の値をメッセージテキストにマージする特殊な書式です。$Record 値は「フローをトリガーしたレコード」を表し、{! および } は「この括弧内のものすべてを、この項目にマージする項目として処理する」ことを表します。そのため、{!$Record.Name} は、フローをトリガーしたレコードの名前に自動的に置き換えられます。
  6. [Target Name or ID (対象名または ID)] 項目で、Triggering Space_Station__cRecord ID の順に選択します。
    完成した [新規アクション] 画面。
  7. [Save (保存)] をクリックします。
    • Flow Label (フローの表示ラベル): Fully Operational Space Station (完全稼働状態の宇宙ステーション)
    • Flow API Name (フローの API 参照名): Fully_Operational_Space_Station
  8. [Save (保存)] をクリックします。
  9. [Activate (有効化)] をクリックしてフローを有効にします。

フローをテストする

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

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む