Administrator 練習問題 Q250
クラウドキックで商談が交渉段階に達すると、営業担当者は金額フィールドの入力が必須になります。営業マネージャーは、金額を知らなくても商談をこの段階に移行させる必要があります。管理者は、交渉段階で営業ユーザーにこのフィールドを必須にしながら、マネージャーが変更できるようにするにはどうすればよいでしょうか。
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:D. 条件を満たす検証ルールを構成します。
解説
前提知識
- 検証ルールは、レコードを保存する前に数式を評価し、エラー条件が TRUE の場合にメッセージを表示して保存をブロックする。
- 一部のユーザーだけを検証ルールから除外する場合は、カスタム権限を権限セットに含めて対象ユーザーへ割り当て、検証ルールで
$Permission.カスタム権限API名を参照する方法が明確で保守しやすい。プロファイル名やロール名を数式に直接埋め込む必要はない。
設問の状況を分解する
- 商談が「交渉」ステージに達すると金額(Amount)が必須になる検証ルールがすでにある。
- マネージャーだけは金額が未確定でもステージを進められるようにしたい。
- 全ユーザーに影響を与えず、特定の立場のユーザーだけ例外にしたい。
選択肢の検討
- A. マネージャー用の数式フィールドを作成 ✕ — 数式フィールドを作っても検証ルール自体の挙動は変わらない。
- B. 管理者プロファイルをマネージャーに割当 ✕ — 必要以上の管理権限を与えるため最小権限の原則に反する。また、管理者プロファイルを割り当てただけで、すべての検証ルールが自動的に無視されるわけではない。
- C. 全ユーザーに金額を必須化 ✕ — 項目定義やページレイアウトで一律必須にすると、例外対象のマネージャーも金額未入力で保存できず、要件と矛盾する。
- D. 条件を満たす検証ルールを構成 ⭕ — 「交渉ステージ」「金額が空欄」「ユーザーが例外用カスタム権限を持たない」を組み合わせれば、営業ユーザーには入力を強制し、権限を付与したマネージャーだけを除外できる。
管理者としての対処手順
- 例外を表すカスタム権限を作成する。
- そのカスタム権限を権限セットで有効化し、営業マネージャーへ割り当てる。
- 商談の検証ルールを作成または修正し、概念的には次の条件を AND で評価する。
- ステージが「交渉」
- 金額が空欄
NOT($Permission.例外用カスタム権限)
- 一般の営業ユーザーと権限を付与したマネージャーの両方で保存動作をテストする。
あわせて覚えておきたいポイント
- 検証ルールはエラー条件が TRUE のとき保存を止める。除外条件は
NOT($Permission...)のように組み込む。 - プロファイル名やロール名を直接参照する設計は、名称変更や組織改編の影響を受けやすい。特定の業務権限を表すカスタム権限の方が意図を明確にできる。
出典(Salesforce公式)
- Validation Rules — 検証ルールは保存前に数式を評価し、TRUE の場合にエラーを表示して保存を防止することを裏付ける。
- Bypass Your Validation Rules — カスタム権限を権限セットで割り当て、
$Permissionを検証ルールの除外条件として使用する公式手順を裏付ける。 - How to Reference a Custom Permission in a Formula, Workflow Rule, or Validation Rule in Salesforce — 検証ルールからカスタム権限を
$Permission.Custom_Permission_Name形式で参照できることを裏付ける。