【Salesforce】メールメッセージの状況項目をVFで表示する。

はじめに

メールメッセージのステータスをApexで取得し、Visualforceで表示したいのでクエリで値を取得し確認ました。 すると、status項目の値が数値で取得されているではありませんか?? f:id:kmsyn1234:20170217202212p:plain

これでは想定したstatus項目の値(送信、ドラフトとか)をVisualforce上に表示することができません。
文字列で表示する方法を調べました。

ステータス項目のマッピングをする

取得したステータス項目の値は数値なので、内部的に文字列とマッピングしているようです。 そのため取得した値によって表示文字列を決めるという、いたってシンプルな対応をすれば良いです。

こんな感じなマッピングになります。

数値 状況 日本語訳
0 New 新規
1 Read 既読
2 Replied 返信済み
3 Sent 送信
4 Forwarded 転送
5 Email Drafts and Approvals ドラフト

これで、意図した通りの値をVisualforceで表示することができるようになります。

参考

blog.crmscience.com

補足

EclipseのForce.com IDEにある「salesforce.schema」を使って中身を確認することができました。
こっちだと他項目で同様のことがあった時にも調べるよりは早く解決することができそうです。 f:id:kmsyn1234:20170510100023p:plain