定義 Apex 觸發
使用觸發可以叫用 Apex 程式碼。Apex 觸發可以在變更 Salesforce 記錄 (例如插入、更新、刪除) 的前後進行設定以執行自訂動作。
必要版本
| 提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience |
提供版本:Performance、Unlimited、Developer、Enterprise 及 Database.com Edition 您無法在 Database.com 中使用標準物件、行銷活動、個案及電子郵件。 |
| 需要的使用者權限 | |
|---|---|
| 若要定義 Apex 觸發: | Author Apex |
Apex 觸發會在與其相關聯之物件下的應用程式中儲存為中繼資料。
只有在 Developer Edition 組織、Salesforce Enterprise Edition 試用組織或 Sandbox 組織中,您才可以使用 Salesforce 使用者介面新增、編輯或刪除 Apex。在 Salesforce 生產組織中,您只能使用中繼資料 API deploy 呼叫、Salesforce Extensions for Visual Studio Code 或 Ant 移轉工具來變更 Apex。Salesforce Extensions for Visual Studio Code 與 Ant 移轉工具是 Salesforce 提供以支援使用者和合作夥伴的免費資源,不屬於 Salesforce 主要服務契約中關於我方所提供服務的一部分。
- 進入您要存取其觸發之物件的物件管理設定,移至「觸發」。對於附件、ContentDocument 和備註的標準物件,您無法在 Salesforce 使用者介面中建立觸發。針對這些物件,使用開發工具 (例如 Developer Console 或 Salesforce extensions for Visual Studio Code) 來建立觸發。或者,您也可以使用中繼資料 API。
- 按一下「觸發」清單中的「新增」。
-
若要指定 Apex 的版本以及與此觸發搭配使用的 API,請按一下「版本設定」。
如果您的組織已經從 AppExchange 安裝受管理封裝,則您也可以指定與此觸發搭配使用的每個受管理封裝版本。可針對所有版本使用預設值,將觸發與最新版的 Apex 和 API 以及每個受管理封裝相關聯。如果您要存取的元件或功能與最近的封裝版本不相同,則可以指定受管理封裝的早期版本。
- 若您想要編譯及啟用觸發,按一下「Apex 觸發」,然後選取「是啟用中」核取方塊。如果您只想將程式碼存在組織的中繼資料中,請取消選取此核取方塊。此核取方塊預設為已啟用。
- 在「內文」文字方塊中,輸入觸發的 Apex。單一觸發的長度最多可達 1 百萬個字元。
- 按一下「儲存」
只要相依中繼資料自上次編譯觸發後未變更,觸發就會以設定為 true 的 isValid 標記儲存。如果對觸發中使用的物件名稱或欄位進行任何變更,包括物件或欄位描述的編輯等概略變更,則 isValid 標記會設定為 false,直到 Apex 編譯器重新處理程式碼為止。當接下來是執行觸發,或當使用者重新將觸發儲存在中繼資料中時,就會重新編譯觸發。
如果對應欄位參照已刪除的記錄,Salesforce 會依預設清除對應欄位的值。或者,您可以選擇避免處於對應關係的記錄遭到刪除。
所有類別及觸發都必須成功編譯,且每個觸發必須涵蓋一些測試範圍。單元測試必須至少涵蓋您 75% 的 Apex 指令檔,才能將程式碼部署於生產環境。請參閱 Apex 單元測試。
