問題
Universal Containers社は、商談がClosed Wonのフェーズに達したときに、商談を編集できないようにロックしたいと考えています。これを達成するために開発者が使用すべき戦略はどれですか。2つ選びなさい。
- フロービルダーを使用する。
- 入力規則を使用する。
- プロセスの自動化設定を使用する。
- トリガーを使用する。
正解
- フロービルダーを使用する。
- 入力規則を使用する。
- プロセスの自動化設定を使用する。
- トリガーを使用する。
解説
それぞれの選択肢の理由について説明します。
□ フロービルダーを使用する。
これは不正解です。フロービルダーは、特定のビジネスプロセスを自動化するために使用されますが、レコードの編集を直接ロックする機能は提供していません。フローを使って商談のステータスがClosed Wonに変更されたときに特定のアクションをトリガーすることはできますが、これだけでは編集を防ぐことはできません。
□ 入力規則を使用する。
これは正解です。入力規則を使用すると、商談のステータスがClosed Wonになったときに特定の条件を満たさない限り、レコードの編集を防ぐことができます。たとえば、「ステータスがClosed Wonである場合、他の項目を編集できない」という入力規則を設定することで、レコードがロックされる効果が得られます。
□ プロセスの自動化設定を使用する。
これは不正解です。プロセスの自動化(プロセスビルダーなど)は、特定の条件に基づいて自動的にタスクを実行するために使用されますが、これ自体ではレコードの編集を直接制限することはできません。商談のステータスが特定の値になったときにアクションをトリガーすることはできますが、編集をロックする機能は提供していません。
□ トリガーを使用する。
これは正解です。Apexトリガーは、特定のデータベース操作(例えばレコードの更新)が発生したときにカスタムコードを実行するために使用されます。商談のステータスがClosed Wonになった場合に編集をロックするには、Apexトリガーを使用して、そのステータスの商談に対する更新操作を拒否するロジックを実装できます。例えば、商談がClosed Wonのステータスになると、トリガーが発火し、それ以降の編集を阻止することができます。これはサーバー側で実行されるため、セキュリティが強く、例外的な状況に対しても効果的に機能します。
コメント