クイック質問。以下のコードでは、for ループ (newTimecards 内のすべてのレコードを取得し、それらを timecard という変数として配置) が Resource_c を resourceIds セットに追加していることがわかります。このオブジェクトが ID データ型と見なされる方法について混乱しています。オブジェクトが Salesforce で作成されると、Resource_c ID をセットに追加できることがわかるように、自動的に ID が作成されますか? Resource_c オブジェクト内には、Resource_ID_c というフィールドもあることに注意してください。Timecard_c 内の Resource_c は、Master-Detail データ タイプです。Resource_c は Timecard_c の親です。
考えてみると、resourceIds.add(timecard.Resource_c) は 2 つのオブジェクト間の関係を参照し、Resource_c を検索して ID フィールド Resource_ID_c を一意のフィールドとして自動的に追加しますか?
ご協力いただきありがとうございます。
public class TimecardManager {
public class TimecardException extends Exception {}
public static void handleTimecardChange(List<Timecard__c> oldTimecards,
List<Timecard__c> newTimecards) {
Set<ID> resourceIds = new Set<ID>();
for (Timecard__c timecard : newTimecards) {
resourceIds.add(timecard.Resource__c);
}