問題
Universal Containers社は、注文管理アプリケーションを実装しました。各注文は1つ以上の注文明細項目を持つことができます。注文明細オブジェクトは、主従関係を通じて注文オブジェクトに関連しています。各注文明細について、合計価格は注文明細の価格に注文数量を掛け合わせることで計算されます。注文レコード上のすべての注文明細項目の合計を取得するためのベストプラクティスは何ですか。
- クイックアクション
- Apex トリガー
- 積み上げ集計項目
- 数式項目
正解
- クイックアクション
- Apex トリガー
- 積み上げ集計項目
- 数式項目
解説
それぞれの選択肢の理由について説明します。
□ クイックアクション
これは不正解です。クイックアクションは、ユーザーが特定のタスクを迅速に実行できるようにする機能です。たとえば、レコードを作成したり、データを更新したりするために使用されます。しかし、注文レコード上のすべての注文明細項目の合計を動的に計算するためには適していません。
□ Apex トリガー
これは不正解です。Apex トリガーは、データベース操作(例えば、レコードが挿入、更新、削除される時)に応じてカスタムコードを実行するために使用されます。トリガーを使用して注文明細項目の合計を計算し、関連する注文レコードにその値を保存することは可能ですが、よりシンプルかつ宣言的なソリューションが存在する場合、これは最適な選択ではありません。
□ 積み上げ集計項目
これは正解です。積み上げ集計項目は、関連するレコードからのデータを集計するために設計されており、このケースに最適なソリューションです。積み上げ集計項目を使用することで、注文オブジェクトに関連するすべての注文明細オブジェクトの価格と数量の合計を自動的に計算し、その合計値を注文レコード上で直接表示することができます。これはコーディングを必要とせず、設定だけで実現できるため、ベストプラクティスと考えられます。
□ 数式項目
これは不正解です。数式項目は、他の項目の値に基づいて動的に値を計算するために使用されます。ただし、数式項目は同一レコード内の項目または関連レコードの項目を基に計算を行うことはできますが、関連レコード群の集計(例えば、複数の注文明細項目の合計)を直接計算する機能は持っていません。従って、このシナリオで求められる合計値の計算には適していません。
コメント