Labyrinth of Wisdom

-This is My Archive-


レコードタイプのIDをSOQLで取得する

オブジェクトのレコードタイプのIDを取得したい時があったので、その時に調べたことをメモします。

レコードタイプはレコードタイプオブジェクトの中にあるレコードなので、そこからSOQLで引っ張ってくるような文を書きます。

下記のサンプルコードはContactオブジェクトのhogeという名前のレコードタイプのIDを抽出する内容になっています。

※レコードタイプの表示ラベル名(Name)ではなく、API名(DeveloperName)の方で検索すること。

// SobjectTypeでオブジェクト指定
// Nameでレコードタイプの名前指定

String sobjectTypeName = 'Contact';

String recordTypeName = 'hoge';

Sobject recordType = [SELECT
                            Id
                        FROM
                            RecordType
                        WHERE
                            SobjectType = :sobjectTypeName
                        AND
                            DeveloperName = :recordTypeName
                     ];

参考ページによるとSOQL以外での取得方法もあるみたいですが、今のところ僕にはこちらで十分。

参考

たいていのことは、「気合い」と「根性」で乗り越えられるものだ!!:【salesforce】レコードタイプIDを取得する