シンプルな設定をされている組織や、導入時から関わっている組織であれば、エラーに悩まされることは少ないと思います。問題は、それなりに歴史があり、途中からその組織のカスタマイズに参加するようになったときです。
通常は動くはずの設定がエラーとなり、そのエラーメッセージの意味がよくわからないときは、このようなページもありますので、ご紹介いたします。
「開発者」向けの Salesforceさんのページですが、Saleforceの構成についてヘルプページよりも詳細に書かれています。最近はヘルプページもわかりやすくなり、本語で Saleforceの機能について書かれているサイトも増加し、参考にできるようになったのですが、数年前まではとても少なかったので、公式のヘルプ、Trailhead 、開発者ガイドを頼るしかなかったのです。
私もここ最近は開発者ガイドも決まったページ(
トリガと実行の順序など)しか確認しなくなっていたのですが、久しぶりにとてもお世話になり、またこれからも助けていただくであろうと思ったのがこちらのページです。
エラーメッセージの意味を理解する
少し前にあった例をお話ししますね。
Sandboxで自動化を設定していたところ、以前は別の組織ですんなり動いたものが、エラーが発生して処理がされません。
エラーメッセージを見ますと、
「〇〇」処理失敗により、レコードを保存できません。Salesforce システム管理者に次の詳細を報告してください。FIELD_CUSTOM_VALIDATION_EXCEPTION:〇〇の後に〇〇は出来ません。ExceptionCodeの値については、『SOAP API 開発者ガイド』を参照してください。
と表示されているのですが、日本語の部分を読んでも原因がわからなかったため、指示に従って開発者ガイドのページで「
FIELD_CUSTOM_VALIDATION_EXCEPTION」確認しました。
StatusCode
次の表に、エラーと共に返される API 状況コードを示します。有効になっている機能によっては、WSDL で一部のコードが表示されません。
この表(一覧)の中に、該当のメッセージがありました。
「項目の整合性規則に違反するカスタム入力規則数式は定義できません。」とあるので、カスタムの入力規則の設定が影響しているようです。
実際、既存の入力規則を確認すると、自動化で実行しようとしている処理をエラーと判断するような数式が設定されており、この入力規則を調整することで自動化が動くようになりました。
英語に慣れている方や開発者の方は、「FIELD_CUSTOM_VALIDATION_EXCEPTION」を見ただけで入力規則と見当がつくかもしれませんが、こういったメッセージに慣れていない方は、どういう状態を意味しているのか公式の情報を確認できるので、便利なページだと思います。
(自動化設定の前に影響範囲を調べろという話もありますが……)
Salesforceのエラーメッセージは、検索してすぐに意味を確認できるものと、なかなか検索しても求める情報が出てこない場合があります。
今回知ることができたこのページ、一覧にそのままのメッセージが確認できなくても、部分的な情報からでも解読するヒントになるのではないかと思います。
エラーはないほうがいいですが、避けられないものでもありますので、対処法のひとつとして共有しました。
皆さまの素敵な対処法も、ぜひ教えていただきたいです。
もちろんデバッグログも有益です
デバッグログで何が起こっているかを正確に理解することも大事です!
◇ SALESFORCE ヘルプ >ドキュメント >SALESFORCE 組織の設定および管理 >デバッグログの設定