Apex RecordTypeInfo クラスレコードタイプを取得する
概要
RecordTypeInfo オブジェクトは、getRecordTypeInfos メソッドを使用して sObject Describe Result から返されます。
使用例
//取引先のレコードタイプのレコードを取得する
RecordType rt = [SELECT Id,Name FROM RecordType WHERE SobjectType=’Account’ LIMIT 1];
//取引先オブジェクトの情報を取得する
Schema.DescribeSObjectResult sd = Schema.SObjectType.Account;
//レコードタイプ情報のマップを作成し、レコードタイプのIDを取得する。
Map<Id,Schema.RecordTypeInfo>mapById = sd.getRecordTypeInfosById();
//変数に代入する
Schema.RecordTypeInfo rtById =mapById.get(sd.id);
// レコードタイプのラベル名を変数に代入する
Map<String,Schema.RecordTypeInfo> rtMapByName = sd.getRecordTypeInfosByName();
//レベル名があれば変数に代入する
Schema.RecordTypeInfo rtByname = rtMapByName.get(rt.name);
System.debug(rtById);
System.debug(rtByName);