この文章は 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() コールの結果を解析します。

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

サンプルコード —C#

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

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

ProcessSubmitRequest 引数

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

ProcessWorkitemRequest 引数

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

応答

ProcessResult[]