Salesforce を長期間運用していると、いつの間にか項目数が増えてしまい、管理が大変になっていないでしょうか。
オブジェクトマネージャから項目定義は確認できるものの、項目のラベル名がわかっていない場合は検索できず不便な思いをしていないでしょうか。
この記事では、Salesforce の実装などで API参照名がわかっている時にオブジェクトの項目ラベル名を知りたい場合の方法を紹介します。
Apexコードで確認する方法
以下のコードを開発者コンソールの Anonymous Window から実行すればデバッグログで確認できます。
デバッグログを確認する場合は、Debug Only のチェックも忘れないようにしましょう。
このコードのポイントは以下の2点です。
Schema.DescribeSObjectResult objectDescribe = Schema.getGlobalDescribe().get(objectApiName).getDescribe();
指定されたオブジェクトについての詳細情報を取得します。
Schema.SObjectField field = objectDescribe.fields.getMap().get(fieldApiName);
指定されたフィールドのオブジェクトを取得します。
この書き方は汎用性があるので是非覚えておきましょう。
SOQLで確認する方法
実はコードすら書かなくて良いです。
以下のクエリを開発者コンロールの Query Editor で実行するだけです。
SELECT QualifiedApiName, DeveloperName, DataType
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName = 'Account'
AND DeveloperName = 'Name'
この書き方さえ覚えておけば、わざわざオブジェクトマネージャに行く必要もないですね。
何なら、「ラベル名はわかるけどAPI名を知りたい」という場合でも応用できますね。
参考
おわりに
Salesforce の開発はあまり開発者フレンドリーとは言えない部分も多いですが、こうした小技を駆使してストレスを溜めないようにしたいですね。
コメント