Salesforce开发中常用的Approval审批相关对象解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itsme_web/article/details/82979024

前言】:
早些时候,我们分享过审批相关的应用型博客,这些博客实战性比较强,以解决实际问题为主,那么这篇将介绍审批相关对象的内涵,以便完善审批相关板块的基础知识。

关系结构】:Display the Approval History on a Approval Notification​​​​​​​

图文详解】:
1. ProcessDefinition

总结:从上图我们可以看出这个对象的用途是存储配置的Approval Processes记录,对应如下:

2. ProcessInstance

总结:这个是所有提交过的审批历史,可以理解为所有detail页面批准历史操作(pending/approved/rejected/Removed)的合集,见下图的单元片段:

实战演练注意遍历出来的StepsAndWorkItems的StepStatus:Started -> Submitted.

List<ProcessInstance> pis = [SELECT Id, (SELECT Id, StepStatus,Actor.Name, Comments,createddate FROM 
            StepsAndWorkitems ORDER BY createddate ASC) FROM ProcessInstance where targetobjectid = :recordid];
[
	[{
		"Id": "04h5D000000GFrRQAW",
		"StepStatus": "Started",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009l8ufQAA"
			},
			"Name": "Tom Pappas"
		},
		"Comments": null,
		"CreatedDate": "2018-10-08T06:03:21.000+0000"
	}, {
		"Id": "04h5D000000GFrWQAW",
		"StepStatus": "Approved",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009l8ufQAA"
			},
			"Name": "Tom Pappas"
		},
		"Comments": null,
		"CreatedDate": "2018-10-08T06:03:29.000+0000"
	}],
	[{
		"Id": "04h5D000000GFs5QAG",
		"StepStatus": "Started",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009l8ufQAA"
			},
			"Name": "Tom Pappas"
		},
		"Comments": null,
		"CreatedDate": "2018-10-08T06:12:48.000+0000"
	}, {
		"Id": "04h5D000000GFsFQAW",
		"StepStatus": "Approved",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009l8ufQAA"
			},
			"Name": "Tom Pappas"
		},
		"Comments": "Rejected.",
		"CreatedDate": "2018-10-08T06:13:03.000+0000"
	}],
	[{
		"Id": "04h5D000000GFsKQAW",
		"StepStatus": "Started",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009l8ufQAA"
			},
			"Name": "Tom Pappas"
		},
		"Comments": null,
		"CreatedDate": "2018-10-08T06:13:15.000+0000"
	}, {
		"Id": "04h5D000000GFsUQAW",
		"StepStatus": "Rejected",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009l8ufQAA"
			},
			"Name": "Tom Pappas"
		},
		"Comments": null,
		"CreatedDate": "2018-10-08T06:13:57.000+0000"
	}],
	[{
		"Id": "04h5D000000GFsoQAG",
		"StepStatus": "Started",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009l8ufQAA"
			},
			"Name": "Tom Pappas"
		},
		"Comments": null,
		"CreatedDate": "2018-10-08T06:16:47.000+0000"
	}, {
		"Id": "04h5D000000GGHUQA4",
		"StepStatus": "Approved",
		"Actor": {
			"attributes": {
				"type": "Name",
				"url": "/services/data/v44.0/sobjects/User/0056F000009lBwyQAE"
			},
			"Name": "Paul Chronos"
		},
		"Comments": "approved.",
		"CreatedDate": "2018-10-09T02:33:01.000+0000"
	}]
]

3. ProcessInstanceHistory
该对象不支持查询,见下图:

猜你喜欢

转载自blog.csdn.net/itsme_web/article/details/82979024
今日推荐