如何在使用者儲存紀錄時,跳出客製化的訊息? How to pop up a customized message when user saves the record?


有的時候你會需要在使用者儲存時,跳出一些提示訊息。
通常是透過 validation 的 error message 或是 Apex Trigger 的 exception (call addError()) 來實現。

但上述兩種方法都會把使用者儲存的動作直接擋下來。
有的時候我們希望讓使用者在看到訊息的同時,仍然能夠成功地儲存 record。

目前我想到了兩種情境會遇上這個需求:
  1. 在使用者 update an opportunity 時,若是這個客戶是個特殊地區的客戶,需要提醒 Sales 留意我們的技術支援的允許範圍。
  2. 在使用者 update an opportunity 時,若是原定 auto close 的邏輯造成 triegger fail 了。則仍然讓使用者 update this record,並於畫面上跳出一個訊息顯示「已寄發通知給相關人士處理」

這個功能技術上完全可以實現,但我找不到現成簡便的實現方式。

這個 LWC 小工具完全開放原始碼,你可以自己拿回去改。如果看不懂程式碼的,也完全可以隨裝即用,非常簡單。

他的概念就是透過 Process Builder (或是 Flow) 在 record 符合條件時,就觸發 insert an event record to an event object(BTW, event object的 api name 結尾是 __e 而不是 __c)
然後再用一個 LWC 去訂閱這個 event,就可以透過簡單的 JavaScript 觸發跳出訊息框。

這邊也有圖文並茂的說明:

招數是死的,需求是活的。
不過有了這個基本範例打底,就可以變幻出千變萬幻的招數了!

留言

這個網誌中的熱門文章

Salesforce證照考試心得 (Administrator and Advanced Administrator)

ISC2 CC (Certified in Cybersecurity Certification) 考試心得