salesforce零基礎學習(一百三十二)Flow新功能: Custom Error

本篇參考:

https://help.salesforce.com/s/articleView?id=sf.flow_ref_elements_custom_error.htm&type=5

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm

我們針對這些次salesforce的release note可以看出來,salesforce針對Flow不斷地發力,支持了越來越多的功能並且替代了Process Builder以及Workflow,本次release同樣有很大的驚喜,支持了類似Validation Rule的功能,即Custom Error。

一. Custom Error簡單介紹

我們通過下方的gif可以進行更好的理解: 下方的gif在flow中創建了兩個custom error,分別校驗House表的State / Zip需要一個必填以及 當Price滿足指定金額以後要求上傳圖片。我們可以看一下下方運行的效果。

 這裏對Custom Error功能進行一些考慮。

1. Custom Error只支持 Record-Based Trigger,其他類型的Flow不支持。

2. 和傳統的Validation Rule不同的是,一個Custom Error可以顯示在多個字段上,只需要在Custom Error功能中點擊 Add Error Message按鈕即可,這種設計很方便,因爲如果使用Validation Rule實現情況下需要創建多個VR纔可以搞定。

3. 和Validation Rule相同的是,同一個字段當前只能顯示一個錯誤信息,當然,每個字段都可以有一個error信息。

4. 不支持compound 字段。

5. 功能相當於apex中的addError。

二. 使用Validation Rule還是使用Flow Custom Error?

既然Custom Error功能和Validation Rule如此相似,我們是否就可以理解成Flow Custom Error可以替換掉Validation Rule或者說什麼場景下用哪個呢?以下是我的個人見解,不一定完全正確,可以相互討論。

我的答案是Flow Custom Error是不會取代Validation Rule的,因爲實際項目中需要考慮以下幾點。

1. 當前表的業務複雜度以及後續的可擴展性。我們知道Flow在salesforce中執行的順序是早於before trigger的,參考參考鏈接中的 order of execution,如果當前表的功能和業務邏輯較爲複雜,一個字段在trigger中做了一些初期話處理,我們可以在validation rule對此字段進行邏輯校驗會更準確,如果提前到before trigger,可能會引發一些不必要的問題。

2. Flow可以設置執行順序,如果當前表的Flow特別多,有一些用於字段初期化設置,有一些用於校驗, 設置的order順序也可能影響結果。

當然並不是說Flow的Custom Error不好,以下功能可以考慮 Flow Custom Error。

1. 當前的表業務功能較少,後續功能也很少會用到apex trigger做一下邏輯操作(這個是前提,因爲我們需要了解)

2. 校驗針對多個字段同樣的校驗邏輯和錯誤信息,使用flow會省事一些。

3. 你是一個管理員,你不會寫apex代碼,但是當前的校驗邏輯較爲複雜,validation rule無法實現,你可以考慮使用Flow Custom Error來實現。

總結:本篇簡單介紹了一下Custom Error的使用,感興趣的小夥伴可以查看上方參考鏈接中的官方文檔描述。demo中有一個比較怪的地方,就是我用了一個flow來實現了兩個錯誤場景的判斷,設置Decision以後Path只能同一個場景執行一個,所以儘管數據兩個validation都觸發了,但是每次只能顯示一個報錯,實際場景中可能需要拆分成兩個Flow。另外此功能目前sandbox 可以使用,需要10月正式release以後,production以及dev edition纔可以使用。篇中有錯誤地方歡迎指出,有不懂歡迎留言。

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