tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:数式項目で参照先オブジェクトのIDを取得するときに気にしておくこと

値の比較用に参照先のオブジェクトIDを数式項目で取得するといった使い方をすることがあると思います。例えば参照している商談オブジェクトの取引先IDを取得したい場合は次のような数式で値を取得できます。

f:id:tyoshikawa1106:20131121224434p:plain


数式で取得したIDは15桁の形式で取得されます。

f:id:tyoshikawa1106:20131121233220p:plain


オブジェクトIDには大文字小文字を区別する15桁の形式と区別しない18桁の形式の2種類が存在するのですが、比較をする際には18桁の形式の方が判定が簡単になります。数式項目で18桁の形式で取得したい場合はCASESAFEID関数を使用することで18桁の値に変換することができます。

f:id:tyoshikawa1106:20131121225711p:plain

f:id:tyoshikawa1106:20131121225814p:plain


SOQLクエリで取得したIDは18桁の形式で取得されるので、15桁の形式だと文字列として比較を行いたい場合に桁数を合わせる処理を用意するなどの対応が発生してしまいます。そういった対応をなくすためにも数式項目でオブジェクトIDを取得するときにはCASESAFEID関数を使って18桁の形式に変換するようにしておいた方がいいと思います。