はじめに
またまたSalesforceの罠みたいなエラーに引っかかったので、メモ。
ProcessSubmitRequest
クラスを使うことで次の承認者等をカスタマイズして承認処理を進めることができます。
ProcessSubmitRequest クラス | Apex 開発者ガイド | Salesforce Developers
この時、次の承認者も設定することが出来るのですが・・。
セットしてあるはずなのにmissing required field: [nextApproverIds]
と表示され詰まってしまいました。
原因
参考:Next Approver IDs in Submit for | Salesforce Trailblazer Community
こちらの通り「List<Id>
型を指定しているくせに、2件以上データが入っているとエラーを吐く」 + 「データは入っているのに、missing required field
というエラーを吐く」というのが原因でした。
ちなみに、はじめに記載したリンク先のドキュメントにも一応
承認プロセスの次のステップが別の Apex 承認プロセスである場合、次の承認者として 1 つ のユーザー ID を指定します。そうでない場合、ユーザー ID を指定できず、このメソッドは null である必要があります。
単一 のエントリリストである必要があります。
と記載はあります。
じゃあリストじゃなくて単一の型にしたらいいのに・・。
おわりに
型とエラーメッセージを信用してはいけないらしい。
流石に修正してくれないかな・・。