remoteAction からの承認のためにカスタム オブジェクトを送信しようとしています。この時点まで、Apex pageReference コントローラ メソッドを使用してきましたが、これは期待どおりに機能しています。
承認リクエストは次のように作成されています。
public static string submitQuote(id quoteId){
Approval.ProcessSubmitRequest req1 = new Approval.ProcessSubmitRequest();
req1.setComments('Submitting for Approval');
req1.setObjectId(quoteId);
req1.setNextApproverIds(new ID[]{UserInfo.getUserId()});
Approval.ProcessResult pr = Approval.process(req1);
return 'Success';
}
標準メソッドから submitQuote を呼び出すと、特定したすべてのケースで機能します。リモート アクションを使用してメソッドを呼び出し、実行中のユーザーが商談の所有者でも見積もりの作成者でもない場合 (これらは、承認ワークフローの最初の送信者です)、次のエラーが発生します。
NO_APPLICABLE_PROCESS, No applicable approval process found.
商談の所有者または見積もりの作成者は、リモート アクションを使用してエラーなしで送信できます。
remoteAction によって呼び出されたときにワークフローが適用されず、そうでない場合は受け入れられる理由はありますか? 両方の呼び出しを同じコンテキストで実行する方法はありますか?
編集:Gerardのコメントに対処するために修正