問題
Cloud Kicks社は、マーケティングロールを持たないユーザーが取引先責任者の[Retail Opt In]という選択リスト項目の値を”Yes”に更新できないようにしたいと考えています。アプリケーションビルダーが他のユーザーによるこの更新を防ぐために使用する入力規則はどれですか。
- AND($UserRole.Name = ‘Marketing’, ISPICKVAL(Retail_Opt_In__c, “Yes”))
- AND($UserRole.Name != ‘Marketing’, ISCHANGED(Retail_Opt_In__c), ISPICKVAL(Retail_Opt_In__c, “Yes”))
- AND($UserRole.Name = ‘Marketing’, Retail_Opt_In__c = “Yes”)
- AND($UserRole.Name != ‘Marketing’, Retail_Opt_In__c = “Yes”)
正解
- AND($UserRole.Name = ‘Marketing’, ISPICKVAL(Retail_Opt_In__c, “Yes”))
- AND($UserRole.Name != ‘Marketing’, ISCHANGED(Retail_Opt_In__c), ISPICKVAL(Retail_Opt_In__c, “Yes”))
- AND($UserRole.Name = ‘Marketing’, Retail_Opt_In__c = “Yes”)
- AND($UserRole.Name != ‘Marketing’, Retail_Opt_In__c = “Yes”)
解説
Salesforceの入力規則は、レコードの保存時に特定の条件が満たされた場合にエラーを発生させ、保存を防ぐ仕組みです。そして、今回のエラーの条件は以下です。
エラーの条件
- ユーザーのロールが[マーケティング]でない。
- [Retail Opt In]項目の値が”Yes”に変更されている。
- [Retail Opt In]項目の新しい値が”Yes”である。
これらの条件がすべて満たされた場合、エラーが発生する入力規則が正しい設定となります。
AND(
$UserRole.Name != 'Marketing',
ISCHANGED(Retail_Opt_In__c),
ISPICKVAL(Retail_Opt_In__c,"Yes")
)
それぞれの選択肢の理由について説明します。
□ AND($UserRole.Name = ‘Marketing’, ISPICKVAL(Retail_Opt_In__c, “Yes”))
これは不正解です。この条件は、「ユーザーのロールがマーケティングであり、[Retail Opt In]の値が”Yes”の場合にエラーを発生させる」という設定です。エラーの条件では、「マーケティングロールを持たないユーザー」が対象であるため、この条件は要件に合致しません。
□ AND($UserRole.Name != ‘Marketing’, ISCHANGED(Retail_Opt_In__c), ISPICKVAL(Retail_Opt_In__c, “Yes”))
これは正解です。この条件は、「ユーザーのロールがマーケティングでない場合に、[Retail Opt In]が変更され、新しい値が”Yes”の場合にエラーを発生させる」という設定です。エラーの条件をすべて満たしており、要件に完全に合致します。
□ AND($UserRole.Name = ‘Marketing’, Retail_Opt_In__c = “Yes”)
これは不正解です。この条件は、「ユーザーのロールがマーケティングである場合にエラーを発生させる」という設定であり、要件を満たしません。また、選択リスト(Retail_Opt_In__c)の値は数式では直接指定できないため、ISPICKVAL関数を使用する必要があり、構文エラーが発生します。
□ AND($UserRole.Name != ‘Marketing’, Retail_Opt_In__c = “Yes”)
これは不正解です。この条件は、「ユーザーのロールがマーケティングでない場合に、[Retail Opt In]が”Yes”のときにエラーを発生させる」という設定です。しかし、選択リスト(Retail_Opt_In__c)の値は数式では直接指定できないため、ISPICKVAL関数を使用する必要があり、構文エラーが発生します。さらに、項目が”Yes”に変更されたかどうかを確認する条件が含まれていないため、要件を完全には満たしません。
次の問題へ

前の問題へ

1問目から復習する

コメント