[Salesforce]数式項目に間違いが無いのに保存が出来ない
サポートと連絡取り合いながら10日くらいかかってしまった。すげーしょうもないのにハマってしまったので自戒を込めて書き残しとく。
Salesforceでカスタム項目に数式を使うことが出来るのですが、これには制限があります。
コンパイルされた数式が大きすぎて実行できません (5,700文字)。5,000 文字以下にしてください。
数式単体で文字数が5000文字を超えるとエラーになります。これは分かりやすい。確認ボタンを押せばエラーが出るから
曲者なパターンがあります。これ多分レアなのですが
- 数式項目を作る
- 1を参照するような数式項目を作る
- 1の数式を編集する
というパターンで、1の数式を含めた2の数式が5000文字を超える場合のエラーの特定が難しい。
何故かと言うと、構文を確認ボタンをおしてもエラーが出ない(数式単体では問題がない)。
でも、保存ボタンの下に文字数のエラーが表示されて保存が出来ない。のです。
更にややこしいことに
僕の環境では
数式A = 数式1 + 数式2 + 数式3 + 数式4 + 数式5 + 数式6
となっていて、数式自体は数字のパラメータを変化させただけのシンプル構成でした。エラーになんてなるはずがないじゃないか!という先入観が有ります。
先入観の裏では、数式自身はBefore/Afterで倍以上の長さに変わっています。
数式1から順番に、数式自体を少し書き換えたのですが、数式6の所に来た時にエラーになりました。
え?5まで出来てたのに何故!?ってなります。
ここまで読んでこられた方からすると、なんでそんな所ではまるの、アホなの?って思う気がするのですが…
正解は、6を保存しようとした時に数式1〜6を参照している数式Aが5000文字を超えたという事だったんですね。
ほんとしょーもないエラーですみません
ヘルプの人も巻き込んでしまって本当にすまなかった。今は反省している(とはいえハマりがちだと思うので自戒を込めて)