在Salesforce中可以创建Approval Process来实现审批流程的功能,实际功能与我们常说的Workflow很相似,具体的设置步骤如下所示
1):选择对应的Object去创建对应的Approval Process
2):点击下图中的Create New Approval Process 按钮
3):这里可以选择对应的创建显示方式,如下图所示,我们选择的是Jump Start Wizard
4):填写基本的信息,这里的Specify Entry Criteria表示的是此Approval Process在什么条件下才能够被触发,如果不满足条件,即使用户去submit request此Approval Process也不会被触发。
5):另外的一个重要的部分是Select Approver,当然了如下图所示可以选择 手动指定,自动指定给User的Manager Line,顺序自动指定,自动指定单人或多人
6):接上图,填写基本的Approver信息
7):填写好了基本的信息之后,点击Save,会给出如下提示,表明我们创建的Approval Process默认状态是inactive的,需要手动的去激活才能生效
8):之后又给出了一些解释性的信息
9):创建完之后我们可以在Approval Steps看到具体的信息,默认的Step名字叫做Step1
10):点击Step1前面的Show Actions,会让我们为Approval和Rejec动作设置具体的Action
11):如下图我们选择Field Update的Action
12):接上图
13):创建Rejection的Action
14):之后创建此Object的一个实例,在PageLayout中设置对应的RelatedList后,进入View页面我们发现了Approval History的部分
15):点击上图中的Submit for Approval,表示提交了Request,若条件满足则会触发对应的Approval Process。并且触发Submit for Approval的动作不能进行简单的条件设置,只能通过手动点击后者写后台Apex代码来实现。此时我们是要去手动设置一下来激活Approval Process的状态的,如下图所示
15.1):激活状态
15.2):Apex代码来Submit for Approval
// Create an approval request for the EricSunObj__c Approval.ProcessSubmitRequest req1 = new Approval.ProcessSubmitRequest(); req1.setObjectId(esObj.id); // Submit the approval request for the EricSunObj__c Approval.ProcessResult result = Approval.process(req1);
16):成功触发几次之后,如下所示
17):Approval History 对应到具体Object 的 Child Relationships 中的 ProcessInstance 和 ProcessInstanceHistory
18):ProcessInstance 和 ProcessInstanceHistory 也是具体的Object 在数据库中可以找到,如下图所示
OK,演示结束。
。。。。