問題
プラットフォーム開発者は、レコードが特定のレコードタイプに割り当てられている場合にのみ実行するApexメソッドを作成する必要があります。開発者が必要なレコードタイプIDをレコードタイプ名で動的に決定できる方法はどれですか。2つ選びなさい。
- SOAP APIへのアウトバウンドWebサービス呼び出しを行う
- DescribeSObjectResultクラスでgetRecordTypeInfosByDeveloperNameメソッドを使用する
- Apexクラスの定数としてIDをハードコードする
- RecordTypeオブジェクトでSOQLクエリを実行する
正解
- SOAP APIへのアウトバウンドWebサービス呼び出しを行う
- DescribeSObjectResultクラスでgetRecordTypeInfosByDeveloperNameメソッドを使用する
- Apexクラスの定数としてIDをハードコードする
- RecordTypeオブジェクトでSOQLクエリを実行する
解説
それぞれの選択肢の理由について説明します。
□ SOAP APIへのアウトバウンドWebサービス呼び出しを行う
これは不正解です。SOAP APIは外部システムとSalesforceとの間でデータを交換するために使いますが、Salesforce内で動的にレコードタイプIDを取得するのには適していません。
□ DescribeSObjectResultクラスでgetRecordTypeInfosByDeveloperNameメソッドを使用する
これは正解です。DescribeSObjectResultクラスのgetRecordTypeInfosByDeveloperNameメソッドを使用することで、開発者名を基にレコードタイプの情報を動的に取得することができます。
□ Apexクラスの定数としてIDをハードコードする
これは不正解です。IDをハードコードすると、異なる環境や組織間での移行時に問題が発生する可能性があります。また、レコードタイプが変更された場合や削除された場合に、コードの修正が必要になる可能性があります。
□ RecordTypeオブジェクトでSOQLクエリを実行する
これは正解です。RecordType オブジェクトを使用してSOQLクエリを実行することで、特定のオブジェクトのレコードタイプのIDを動的に取得することができます。
次の問題へ
【Salesforce 認定Platformデベロッパー】試験対策:第124問
問題 Visualforceページで外部CSSからのスタイリングが必要な場合、開発者はどのタグを含める必要がありますか。 apex:includeStyles apex:includeScript apex:require …
前の問題へ
【Salesforce 認定Platformデベロッパー】試験対策:第122問
問題 開発者がトリガーでApexヒープ制限のエラーに遭遇した場合、このエラーを回避する方法はどれですか。 2つ選びなさい。 変数を宣言するときにtransientキーワードを…
1問目から復習する
【Salesforce 認定Platformデベロッパー】試験対策:第1問
問題 デバッグログに書き込まれるときのxの値は何ですか。 Integer x = 0; do { x = 1; x++; } while (x < 1); System.debug(x); 0 1 2 3 正解 0 1 2 3 解説 デバッ…
コメント