在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,演示結束。
。。。。