ユーザの有効なレコードタイプを判別するisAvailable()
レコードタイプ選択画面を自前で作成する場合、
もしくはレコードタイプの選択リストを生成する場合。
Schema.RecordTypeInfoを使うのですが、
Schemaで取得すると全部のレコードタイプが取れてしまうので、isAvailable()を使って制御してあげます。
ユーザの見える or 見えないレコードタイプを判別して、リストに詰め直すことができます。
Schema.DescribeSObjectResult objectDescribe = Event.SObjectType.getDescribe(); List<Schema.RecordTypeInfo> objectRTInfoList = objectDescribe.getRecordTypeInfos(); // 見える List<Schema.RecordTypeInfo> availableTrueList = new List<Schema.RecordTypeInfo>(); // 見えない List<Schema.RecordTypeInfo> availableFalseList = new List<Schema.RecordTypeInfo>(); Integer objectRTInfoListSize = objectRTInfoList.size(); for(Integer i=0; i<objectRTInfoListSize; i++){ if(objectRTInfoList[i].isAvailable()){ availableTrueList.add(objectRTInfoList[i]); }else{ availableFalseList.add(objectRTInfoList[i]); } }