またまたSalesforceですが、今回は取引先の画面で契約レコードを新規作成しようとすると、項目「状況」の選択肢でエラーが出て新規作成できない問題が発生したのでメモ。
問題の背景
経緯として、契約状況が有効かどうかを判定する項目として「有効フラグ」というチェックボックスで運用しているため、「状況」という項目は不要になっていた。
でも、「状況」は必須項目なので何かしら選択しなければならない。そこで、選択項目に「利用しない」という選択肢を追加して回避する運用にしていた。
突然のエラー発生
ところが、いざ契約レコードを新規作成しようと「利用しない」を選択するとエラーが出るようになった。
前にテストしていたときは問題なかったので、なぜどうしてなんだと。改めて試してみたところ、確かにエラーが出てしまう。わけがわからず、いつものようにセールスフォースのサポートへ問い合わせた。
サポートからの回答
以下のような回答が来た(一部抜粋)
お調べいたしましたところ、契約レコードの作成時に選択できる「状況」項目の値は、選択リスト値の「状況のカテゴリ」にて「ドラフト」と設定されている選択リスト値のみであることを確認いたしました。
状況カテゴリが「有効」であった「使用しない」を選択して、契約レコードの新規作成を行うとエラーが発生している状況とお見受けいたします。
つきましては、エラーの回避策といたしまして、お手数ではございますが、契約レコードの作成時には「状況のカテゴリ」が「ドラフト」の値を選択し、保存後に「使用しない」の値に変更することをご検討いただけますと幸いです。
つまり、「新規作成時には『ドラフト』を選択して作成したうえで、編集から『利用しない』を選択してね!」という話だった。つまり、どういうことですか?と…。
原因と解決策
どうやら、契約プロセスごとに紐付いた項目しか選択できない仕様らしく、新規作成時の状況は「ドラフト」カテゴリのものしか選択できないとのこと。詳細は以下のヘルプに説明されている。
なるほど。前のテスト時は編集から「利用しない」を選択して確認していたから問題なかったわけだ。まさかの盲点だった。
今日の気づき:Salesforceの細かな仕様は本当に予測できないことがある。困ったら即サポートへ問い合わせるのが最も効率的な解決策。改めて、セールスフォースの手強さを再認識した。