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);

IT

Posted by arkgame