ビジネスシナリオ

株式会社アストロ・エンタープライズ(架空の会社名)では、各プロジェクトの経費管理を Salesforce 上で行っています。通常、プロジェクト予算は厳格に管理されており、予算残高がマイナスになるような経費の支出はシステムでブロックする必要があります。 しかし、現場からは「災害時や緊急トラブル対応時には、承認を待たずに予算超過してでも経費を計上したい」という強い要望が出ています。

あなたはシステム管理者兼開発者として、この「原則禁止、ただし緊急時は例外」という柔軟かつ堅牢なロジックと、現場が使いやすい操作画面をゼロの状態から構築しなければなりません。

実装要件

以下のコンポーネント作成から画面カスタマイズ、ロジック実装までのすべての工程を録画に含めてください。

1. カスタムオブジェクトと項目の作成

オブジェクト 項目名 (表示名) 説明
プロジェクト (Project__c) 予算残高 (Budget__c) 通貨 (18, 0) プロジェクトの残り予算。
経費 (Expense__c) プロジェクト (Project__c) 主従関係 または 参照関係 親となるプロジェクト。参照関係の場合は必須項目とすること。
金額 (Amount__c) 通貨 (18, 0) 支出する金額。
緊急フラグ (Is_Emergency__c) チェックボックス ON の場合、予算超過を許容する。

※記載以外のオブジェクトや項目を作っても構いませんが、加点はされません。「録画提出の手順と完了定義」のステップ3 動作検証(証明操作)が記述通り完了すれば良し、とします。

2. 画面カスタマイズ(UI/UX)

  • プロジェクトのレコード詳細画面:
    • 関連リストとして「経費」オブジェクトが表示されるように設定してください。
    • 関連リストには「経費名」「金額」「緊急フラグ」の各項目が表示されている必要があります。
    • 重要: プロジェクトのレコード詳細と関連リストは、タブの切り替えではなく、同一ページ内に同時に表示されるように配置してください。

3. 予算超過の制御ロジック(基本ルール)

  • 目的: 通常時、プロジェクトの「予算残高」が 0 未満(マイナス)になるような保存を禁止する。
  • エラーメッセージ: 「予算が不足しています。経費を計上できません。」
  • 実装手段: 入力規則、フロー、または Apex トリガーのいずれか、もしくは組み合わせて実装。

4. 自動減算ロジックの実装

  • 内容: 経費レコードが作成された際、親プロジェクトの「予算残高」から経費の「金額」を差し引く。
  • 実装手段: Apex トリガー、またはフローのいずれかで実装。今回はバルク更新を考慮せず画面操作での1件 & 新規作成のみが対象で良い。

5. 緊急承認ロジック(例外要件)

  • 目的: 現場の緊急事態に柔軟に対応するため、特定の条件下で基本ルールをスキップさせる。
  • 要件: 経費レコードの「緊急フラグ」が ON の場合は、要件3で定義した「予算超過の制限」を無視し、予算残高がマイナスになっても正常に保存を完了させること。

録画提出の手順と完了定義

以下の操作手順をすべて含む、開始から完了までは無編集の 1 本の画面操作録画を作成してください。

操作にあたっては禁止事項があります。(ブラウザのオートコンプリート禁止、事前に用意したコードのコピー&ペースト禁止など)

詳しくはイベント概要&予選参加ガイド「操作にあたっての制約」を参照してください。

ステップ 1:開始確認

  1. 設定のホームを表示させた状態から録画を開始する。
    • Trailhead Playground で新規に取得した直後の状態
    • 事前設定は表示言語が日本語以外の場合は日本語に変えることのみを可とする

※「設定のホーム」画面であれば表示内容に差異があっても良いです。

ステップ 2:環境構築(実装操作)

  1. オブジェクト作成: 指定された 2 つのオブジェクトと項目を作成する。
  2. 画面カスタマイズ: プロジェクトのレコードページを編集し、関連リストを配置する。
  3. ロジック実装: 「予算減算」「超過制御」「緊急例外」の各ロジックを実装・有効化する。

ステップ 3:動作検証(証明操作)

  1. テストデータの準備:
    • 「プロジェクト」レコードを作成し、プロジェクト名: プロジェクト1予算残高: 100,000 と入力して保存する。
  2. 通常時のブロック確認(要件3の証明):
    • 関連リストから「経費」を新規作成する。
    • 経費名: 経費1金額: 150,000緊急フラグ: OFF で保存を試み、エラーメッセージが表示されることを示す。
  3. 緊急時の許可確認(要件5の証明):
    • 同じ入力画面のまま、緊急フラグ: ON に変更して保存し、成功することを示す。
  4. 最終結果の確認(要件2・4の証明):
    • 親の「プロジェクト」レコード詳細画面で、予算残高が -50,000 になり、かつ関連リストに経費が表示されていること、レコードの項目として経費名、金額、緊急フラグが表示されていることを示す。

    ステップ 4:終了確認

    1. ステップ3-4操作完了時の画面で、録画を終了する。

    ※アプリケーションがセールスである必要はありません。

    お問い合わせ

    実装要件や録画方法について不明点や質問がありましたらイベント概要&予選参加ガイドをご確認の上、コミュニケーション用の Slack ワークスペースの指定のチャンネルでお尋ねください。

    Happy Hacking!