process()
承認のために承認プロセスインスタンスの配列を送信します。または、承認、却下、削除される承認プロセスインスタンスの配列を処理します。詳細は、Salesforce オンラインヘルプの「承認プロセスの開始」を参照してください。
構文
1ProcessResult = connection.process( processType processRequest[])processType は、ProcessSubmitRequest または ProcessWorkitemRequest のいずれかになる可能性があります。
使用方法
process() を使用して、次の 2 つのタスクのいずれかを実行します。
- オブジェクトの配列を承認プロセスに送信します。送信時、オブジェクトがすでに承認プロセスにあってはいけません。ProcessSubmitRequest 署名を使用します。
- 承認アクション (承認または却下) を実行することによって、承認プロセスに送信されているオブジェクトを処理します。ProcessWorkitemRequest 署名を使用します。
要求が処理されると、送信した要求と同じプロセスインスタンスを含む ProcessResult が返されます。
個別のレコードの失敗は、要求全体の失敗にはなりません。
サンプルコード —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}ProcessWorkitemRequest 引数
| 名前 | 型 | 説明 |
|---|---|---|
| action | string | 承認用に送信された項目の後処理のアクションの種類 (承認、却下、または削除) を示す文字列。削除を指定できるのは、システム管理者だけです。承認プロセスで [申請者に承認申請の取り消しを許可] オプションが選択されている場合、承認の申請者も削除を指定可能です。 |
| nextApproverIds | ID[] | プロセスが引き続き承認の詳細を要求する場合、次の要求に割り当てられるユーザ ID。 |
| comments | string | この要求に関連付けられた履歴ステップに追加されるコメント。 |
| workitemId | ID | 処理対象 (承認、却下、または削除) の ProcessInstanceWorkitem の ID。 |