この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

process()

承認のために承認プロセスインスタンスの配列を送信します。または、承認、却下、削除される承認プロセスインスタンスの配列を処理します。詳細は、Salesforce オンラインヘルプの「承認プロセスの設定」を参照してください。

構文

1ProcessResult = connection.process( processType processRequest[])

processType は、ProcessSubmitRequest または ProcessWorkitemRequest のいずれかになる可能性があります。

使用方法

process() を使用して、次の 2 つのタスクのいずれかを実行します。

  • オブジェクトの配列を承認プロセスに送信します。送信時、オブジェクトがすでに承認プロセスにあってはいけません。ProcessSubmitRequest 署名を使用します。
  • 承認アクション (承認または却下) を実行することによって、承認プロセスに送信されているオブジェクトを処理します。ProcessWorkitemRequest 署名を使用します。

要求が処理されると、送信した要求と同じプロセスインスタンスを含む ProcessResult が返されます。

個別のレコードの失敗は、要求全体の失敗にはなりません。

このコールで Apex トリガを起動できるため、文字列を含む項目が更新される場合があります。

API バージョン 15.0 以降、文字列を含む項目に値を指定し、値が項目に対して大きすぎる場合、コールは失敗してエラーが返されます。これまでのバージョンの API では、値は切り捨てられ、コールは正常に終了していました。バージョン 15.0 以降でもこの動作を保持する場合、AllowFieldTruncationHeader SOAP ヘッダーを使用してください。

メモ

サンプルコード —Java

このサンプルでは、承認を処理する sObject の ID と、次の承認者の ID が格納された配列を受け取ります。プロセス承認申請を作成し、承認を得るために送信します。最後に、process() コールの結果を解析します。

1public void processRecords(String id, String[] approverIds) {
2   ProcessSubmitRequest request = new ProcessSubmitRequest();
3   request.setComments("A comment about this approval.");
4   request.setObjectId(id);
5   request.setNextApproverIds(approverIds);
6   try {
7      ProcessResult[] processResults = connection
8            .process(new ProcessSubmitRequest[] { request });
9      for (ProcessResult processResult : processResults) {
10         if (processResult.isSuccess()) {
11            System.out.println("Approval submitted for: " + id + ":");
12            for (int i = 0; i < approverIds.length; i++) {
13               System.out
14                     .println("\tBy: " + approverIds[i] + " successful.");
15            }
16            System.out.println("Process Instance Status: "
17                  + processResult.getInstanceStatus());
18         } else {
19            System.out.println("Approval submitted for: " + id
20                  + ", approverIds: " + approverIds.toString() + " FAILED.");
21            System.out.println("Error: "
22                  + processResult.getErrors().toString());
23         }
24      }
25   } catch (ConnectionException ce) {
26      ce.printStackTrace();
27   }
28}

サンプルコード —C#

このサンプルでは、承認を処理する sObject の ID と、次の承認者の ID が格納された配列を受け取ります。プロセス承認申請を作成し、承認を得るために送信します。最後に、process() コールの結果を解析します。

1public void processRecords(String id, String[] approverIds)
2{
3   ProcessSubmitRequest request = new ProcessSubmitRequest();
4   request.comments = "A comment about this approval.";
5   request.objectId = id;
6   request.nextApproverIds = approverIds;
7   try
8   {
9      ProcessResult[] processResults = binding.process(
10                     new ProcessSubmitRequest[] { request });
11      foreach (ProcessResult processResult in processResults)
12      {
13         if (processResult.success)
14         {
15            Console.WriteLine("Approval submitted for: " + id + ":");
16            for (int i = 0; i < approverIds.Length; i++)
17            {
18               Console.WriteLine("\tBy: " + approverIds[i] + " successful.");
19            }
20            Console.WriteLine("Process Instance Status: "
21                  + processResult.instanceStatus);
22         }
23         else
24         {
25            Console.WriteLine("Approval submitted for: " + id
26                  + ", approverIds: " + approverIds.ToString() + " FAILED.");
27            Console.WriteLine("Error: "
28                  + processResult.errors.ToString());
29         }
30      }
31   }
32   catch (SoapException e)
33   {
34      Console.WriteLine("An unexpected error has occurred: " +
35                                 e.Message + "\n" + e.StackTrace);
36   }
37}

ProcessSubmitRequest 引数

名前 説明
objectId ID 承認用に送信されるオブジェクト、たとえば、Account, Contact、またはカスタムオブジェクト。
nextApproverIds ID[] プロセスが引き続き承認の詳細を要求する場合、次の要求に割り当てられるユーザ ID。
comments string この要求に関連付けられた履歴ステップに追加されるコメント。

ProcessWorkitemRequest 引数

名前 説明
action string 承認用に送信された項目の後処理のアクションの種類 (承認、却下、または削除) を示す文字列。削除を指定できるのは、システム管理者だけです。承認プロセスで [申請者に承認申請の取り消しを許可] オプションが選択されている場合、承認の申請者も削除を指定可能です。
nextApproverIds ID[] プロセスが引き続き承認の詳細を要求する場合、次の要求に割り当てられるユーザ ID。
comments string この要求に関連付けられた履歴ステップに追加されるコメント。
workitemId ID 処理対象 (承認、却下、または削除) の ProcessInstanceWorkitem の ID。

応答

ProcessResult[]