Salesforce开发中常用的Approval审批相关对象解析
【前言】:
早些时候,我们分享过审批相关的应用型博客,这些博客实战性比较强,以解决实际问题为主,那么这篇将介绍审批相关对象的内涵,以便完善审批相关板块的基础知识。
【关系结构】: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
该对象不支持查询,见下图: