salesforce 零基礎學習(三十五) 通過Process Builder和Approval Processes鎖定記錄(Lock Record)


  有的時候我們可能有這樣的需求,當某個字段為特定的值情況下,便鎖定此條記錄,僅允許Profile為System Admin的用戶修改或者解鎖,其他的用戶只能查看此條記錄,不能修改此條記錄,這種情況下我們就的需要鎖定記錄(Lock Record)。

  鎖定記錄(Lock Record)可以通過Process Builder以及Approval Processes實現功能。本人最開始用的自己申請的免費帳戶使用Custom Object來進行測試,發現的尷尬的事情就是Profile為System Admin的賬戶可以看到相關創建的Tab,並且可以鎖定記錄,但是其他非System Admin的賬戶沒法看到相關的tab,更沒法查看被鎖定的記錄了,所以為了測試其是否可以鎖定記錄,使用系統表Opportunities來進行測試。步驟如下:

1.Setup->Build->Create->Workflow&Approvals->Process Builder或者直接在搜索欄搜索Process Builder,點擊進入后點擊右上角的new

2.輸入相關信息后點擊OK

3.選擇需要操作的Object,按照自己需要設置執行狀態

4.設置條件,條件可以是標准的條件抑或使用formula方式設置判斷條件,在設置條件時,可以設置多個條件,按照條件的邏輯可以選擇與,或,或者其他自定義邏輯

5.設置action,action type有如下很多種,在這里可以選擇Apex或者Submit for Approval,因為apex代碼可以通過Approval類調用lock()方法,在這里選擇通過配置Approval方式而不是寫代碼方式進行。

6.輸入具體信息后點擊save,然后點擊右上角的Activate,然后點擊Back To SetUp,回到Set Up頁面。

 

7.SetUp->Build->Create->Workflow&Approvals 點擊進入,在Manage Approval Processes For:選擇Opportunity,在下方顯示Use Standard Setup Wizard

8.輸入Approval的具體信息以后,點擊Next

9.選擇執行的條件,如果對Approval Process不熟悉的移步Approval Process學習

10.指定Approval 字段和記錄訪問的配置,這里做默認的配置即可,然后點擊Next

11.選擇Approval需要的通知的email模板,當前不需要通知

12.選擇在Approval Page Layout展現的字段,因為字段不需要展示,所以直接默認,Next

13指定Submitter,按照自身需求,這里默認。點擊Save

14.save以后選擇創建approval step,點擊Go

15.輸入基本信息后點擊Next

16.選擇Enter step方式,然后選擇formula方式,在formula中輸入false,點擊Next

17選擇分配的審批者,按需選擇,這里選擇默認的,點擊Save

18.選擇No,I'll do this later

19.將Approval設置成Activate,置成以后效果如下所示

20.效果演示,通過當前用戶修改一條Opportunities記錄,將Stage項修改成Closed Won,則Save以后此條記錄便Lock。管理員可以擁有UnLock Record的權限

21.用普通用戶登錄,普通用戶的Profile選擇可以查看Opportunities這個Tab權限的Profile

22.登陸后此條記錄只能只讀,如果修改便報錯誤。

總結:通過Process Builder以及Approval Process配置方式可以通過點擊方式便實現特定情況下鎖定記錄功能,相對方便,此種方式缺點為無法通過當前登錄用戶的Permission Set來設置,如果項目通過Permission Set來設置權限,則無法通過上述的方式設置,可以考慮在第5步的時候選擇Apex來完成此種功能。Apex代碼可以很輕松獲取當前用戶的Permission Set以及通過Approval類可以很輕松的調用Lock()方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM