本橋孝昭です
今回はSalesforceで18桁にすべきか?15桁にすべきか?について解説します
15桁と18桁についてはこちらを確認してください
こちらには公式的に15桁から18桁の変換方法が記載されています
https://help.salesforce.com/s/articleView?id=000385066&type=1
なお、非公式ですが
こちらのサイトから15桁から18桁に変換するのが容易です
15桁から18桁の変換例としてプロファイルIDについて確認します
こちらのプロファイル「システム管理者」の15桁のIDは00edM00000CBL0bであることが分かります
この00edM00000CBL0bは18桁にすれば00edM00000CBL0bQAHです
実際の設定で15桁にすべきか18桁にすべきかは設定場所により異なります
例として
・ワークフロー
・数式項目
・入力規則
は18桁の場合は動かない場合があるので注意が必要です
例としてレコード更新時にプロファイル「システム管理者」の場合更新したくない という入力規則を作成します
この場合、15桁の数式の場合
つまり数式
$Profile.Id = "00edM00000CBL0b"
の場合きちんとエラーがでます
しかしながら18桁の数式
つまり数式
$Profile.Id = "00edM00000CBL0bQAH"
の場合正しく動きません
以上のことから入力規則は15桁にしないといけないことが分かりますね
フローは18桁で設定すべきか?15桁で設定すべきか?
では、(最近よく聞くSalesforce機能)フローの場合の設定は18桁ですべきか?15桁ですべきか?
結論から言えばフローは18桁で動く場合も15桁で動く場合があります。
バージョンによって異なります。(どういうこっちゃ)
フローをバージョンごとに見ていきましょう
まずはこのようなフローを作成します。
取引先レコード更新の際に更新ユーザーがシステム管理者の場合エラーが出るような設定をします
数式は18桁で$Profile.Id = "00edM00000CBL0bQAH"
とします
これを見ると「なるほどフローは18桁で動くのか」と思う人は少し甘いです
先ほどのバージョンを60にすると
数式は18桁で$Profile.Id = "00edM00000CBL0b"の場合ただしく動きません
この場合数式は15桁で
$Profile.Id = "00edM00000CBL0b"
の場合正しく動きます
フローについては
・バージョン60以下の場合は15桁でないと正しく動かない
・バージョン61以上の場合は18桁でないと正しく動かない
ということが分かりましたね
フローはバージョンにより正しく動く桁が異なるので注意です