salesforce零基礎學習(一百零七)Dynamic Action

說一下項目中常見的甲方的需求。背景如下:Order在SF端生成以後,在status爲completed以後,需要點擊按鈕同步到SAP或者其他的MDM,客戶希望的是,如果 order的狀態爲 completed以後,才展示custom action / button,點擊以後同步,如果狀態爲draft場景,則不展示。

我們的solution通常是告訴客戶,action/ button 配置在page layout以後,無法進行移除,我們在點擊按鈕以後,可以先判斷狀態,如果狀態不爲completed以後,就給客戶報一個錯誤,告訴客戶當前狀態不允許同步。儘管需求可以實現,但是總歸不是客戶最想要的。

當然,和上一篇博客的 dynamic form 相似,salesforce同樣也針對此種類似的需求推出了 dynamic action。以後這種類似的需求就可以通過 dynamic action 快速高效的解決了。

一. Dynamic Action

Dynamic Action和dynamic form相同,啓用以及配置的入口都是在 lightning app builder中,所以如果你的項目是classic的,肯定是用不了的。和 dynamic form的一點不同是,標準 object也是支持 dynamic action。 只需要在 highlights panel 點擊以後,在右側upgrade 即可。

點擊 Upgrade Now按鈕以後,可以有兩種模式供選擇,一種是從0開始配置action,另外一種是基於一個 page layout進行選擇。 

 下圖demo中是根據一個page layout進行配置。

 我們可以看到基於一個page layout配置的情況下,默認這個page layout的所有的action會自動帶出來,如果選擇另外一種,則此處爲空內容。

 我們想要設置action的顯隱只需要選中這個action,然後在 Set Action Visibility設置Filter即可。

 demo中我們設置 MyGuide這個action在當前 user的profile是 system administrator情況下展示。 

效果展示

我們以一個非admin賬戶登錄,查看一個opportunity,發現這個quick action 並看不到 

 我們以一個管理員登錄,發現是可以看到的。

 總結: dynamic action 可以盡最大限度的做一些顯隱設置,當然,現在還達不到 當前user基於對當前記錄的CRUD權限來控制。目前用的比較多的可能是基於當前記錄的字段的值來控制,當然,我們也可以使用 user / permission來控制,至於可以選擇哪些字段來設置邏輯,可以自行嘗試。篇中有錯誤地方歡迎指出,有不懂歡迎留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章