【Salesforce 認定Platformアプリケーションビルダー】試験対策:第10問

問題

AW Computing社の採用チームは、求職者の求人承諾(Job_Accepted__c)と入社日(Hire_Date__c)を求人応募カスタムオブジェクトに記録します。候補者が採用担当者のオファーを受諾すると、入社日が入力され、その後のレコード編集で変更されないようにする必要があります。アプリケーション構築者は入力規則でどの数式を使用すべきでしょうか。

  • (ISBLANK(Job_Accepted__c) || NOT(ISCHANGED(Hire_Date__c))
  • (ISBLANK(Job_Accepted__c) && NOT(ISCHANGED(Hire_Date__c))
  • NOT(ISBLANK(Job_Accepted__c)) && ISCHANGED(Hire_Date__c)
  • NOT(ISBLANK(Job_Accepted__c)) || ISCHANGED(Hire_Date__c)

正解

  • (ISBLANK(Job_Accepted__c) || NOT(ISCHANGED(Hire_Date__c))
  • (ISBLANK(Job_Accepted__c) && NOT(ISCHANGED(Hire_Date__c))
  • NOT(ISBLANK(Job_Accepted__c)) && ISCHANGED(Hire_Date__c)
  • NOT(ISBLANK(Job_Accepted__c)) || ISCHANGED(Hire_Date__c)

解説

Salesforceの数式で使用されるISBLANK(), NOT(), ISCHANGED()関数について説明します。

  • ISBLANK()
    • ISBLANK()関数は、指定されたフィールドが空(null)であるかどうかを確認するために使用されます。この関数は、フィールドに値が入力されていないか、値が存在しない場合にtrueを返します。たとえば、ISBLANK(FieldName)は、FieldNameが空の場合にtrueを返します。
  • NOT()
    • NOT()関数は、指定された条件の論理否定(つまり、その逆)を求めるために使用されます。この関数は、条件がfalseの場合にtrueを、trueの場合にfalseを返します。例えば、NOT(ISBLANK(FieldName))は、FieldNameが空でない場合にtrueを返します。
  • ISCHANGED()
    • ISCHANGED()関数は、レコードのフィールドが前の値から変更されたかどうかを確認するために使用されます。この関数は、主にレコードの保存時にそのフィールドが変更されているかどうかをチェックするために使われます。例えば、ISCHANGED(FieldName)は、FieldNameが前回の保存から変更されている場合にtrueを返します。

上記から以下の思考回路で選択肢を探します。

  • 数式関数の選定:
    • オファーが受諾されていることを確認するためには、Job_Accepted__cが空でないこと(つまりオファーが受諾されていること)を確認する必要があります。これにはNOT(ISBLANK(Job_Accepted__c))を使用します。
    • 入社日が変更されたかどうかを検知するためには、ISCHANGED(Hire_Date__c)を使用します。
  • 論理演算子の適用:
    • オファーが受諾されていて、かつ入社日が変更された場合にのみ、数式が真(true)を返すようにする必要があります。これにはAND演算子(&&)を使用して、両方の条件が同時に真である場合にのみ真を返すようにします。

それぞれの選択肢の理由について説明します。

□ (ISBLANK(Job_Accepted__c) || NOT(ISCHANGED(Hire_Date__c))
これは不正解です。この数式は、「Job_Accepted__c」が空である、または「Hire_Date__c」が変更されていない場合に真となります。しかし、これでは求職者がオファーを受諾した後に「Hire_Date__c」を変更することを防げません。

□ (ISBLANK(Job_Accepted__c) && NOT(ISCHANGED(Hire_Date__c))
これは不正解です。この数式は、「Job_Accepted__c」が空であり、かつ「Hire_Date__c」が変更されていない場合に真となります。この条件は、オファーが受諾されていない場合に「Hire_Date__c」が変更されるのを防ぎますが、オファーが受諾された後の「Hire_Date__c」の変更を防ぐことはできません。

□ NOT(ISBLANK(Job_Accepted__c)) && ISCHANGED(Hire_Date__c)
これは正解です。この数式は、「Job_Accepted__c」が空でない(つまり、オファーが受諾されている)かつ「Hire_Date__c」が変更されている場合に真となります。これは求職者がオファーを受諾し、その後で入社日を変更しようとしたときに真となる条件であり、要件を満たします。

□ NOT(ISBLANK(Job_Accepted__c)) || ISCHANGED(Hire_Date__c)
これは不正解です。この数式は、「Job_Accepted__c」が空でない、または「Hire_Date__c」が変更されている場合に真となります。この条件では、オファーが受諾されていない場合でも「Hire_Date__c」が変更されるのを許可してしまうため、要件を満たしません。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約が適用されます。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次