Loading
Salesforce Contracts 中的物件狀態轉換動作情境

Salesforce Contracts 中的物件狀態轉換動作情境

這些情況包含設定契約動作時要記住的重要資訊。

情況 1

契約狀態不會變更,因為 Apex 類別邏輯與狀態轉換對應不相符。範例如下:

  1. 契約處於「草稿」狀態。

  2. 您可以設定:

    • 使用 Apex 類型 DraftToInApproval 的物件狀態動作定義。

    • DraftToInApproval 動作的物件狀態轉換動作,由「草稿」轉換為「批准中」。

    • 稱為 ChangeStatus.apxc 的 Apex 類別,其邏輯會將契約從「草稿」移至「已取消」。

  3. 當您按一下 DraftToInApproval 時,契約不會從「草稿」移至「批准中」。Apex 類別會執行定義的邏輯,並將契約從「草稿」移至「已取消」作為中間狀態。

  4. 如果物件狀態轉換包含將契約從「已取消」移至「批准中」的轉換,則契約會回到初始「草稿」狀態。

    備註
    備註 若要將契約從「草稿」轉換為「批准中」狀態,您必須建立物件狀態從「已取消」轉換為「批准中」。
  5. 契約的最終狀態為「草稿」。

情況 2

即使 Apex 類別邏輯與狀態轉換對應不相符,契約狀態仍會變更,因為物件狀態轉換包含所有必要轉換。範例如下:

  1. 契約處於「草稿」狀態。

  2. 您可以設定:

    • 使用 Apex Type DraftToCanceled 的物件狀態動作定義。

    • 針對 DraftToCanceled 動作,從「草稿」轉換為「已取消」的物件狀態動作。

    • 稱為 StatusChange.apxc 的 Apex 類別,其邏輯會將契約從「草稿」移至「批准中」。

  3. 當您按一下 DraftToCanceled 時,契約會從「草稿」移至「批准中」移至「已取消」,因為預設會從 InApproval_To_Canceled 轉換。

  4. 契約的最終狀態為「已取消」。

情況 3

當您按一下物件狀態動作按鈕時,契約狀態不會變更,因為 Apex 類別執行已更新契約狀態。範例如下:

  1. 契約處於「草稿」狀態。

  2. 您可以設定:

    • 使用 Apex 類型 DraftToInApproval 的物件狀態動作定義。

    • DraftToInApproval 動作的物件狀態轉換動作,由「草稿」轉換為「批准中」。

    • 稱為 ChangeStatus.apxc 的 Apex 類別,其邏輯會將契約從「草稿」移至「批准中」。

  3. 當您按一下 DraftToInApproval 時,因為契約已處於「批准流程」中,因為 Apex 類別已執行類別中定義的邏輯,將契約從「草稿」移至「批准中」作為中間狀態。因此,由於契約狀態為有效狀態,因此保持為「批准中」。

  4. 契約的最終狀態為「批准中」。

情況 4

物件狀態定義有多個相關聯的物件狀態轉換動作。物件狀態轉換動作具有相同的「寄件者」狀態與不同的「收件者」狀態。Salesforce Contracts 應用程式會根據定義的轉換和動作更新契約的狀態。如果 Apex 類別邏輯與定義的轉換之間有差異,則應用程式會嘗試遵循定義的轉換。範例如下:

  1. 契約處於「草稿」狀態。

  2. 您可以設定:

    • 使用 Apex Type DraftToFinalStatus 的物件狀態動作定義。

    • DraftToFinalStatus 動作的物件狀態轉換動作,由「草稿」轉換為「批准中」。

    • 針對 DraftToFinalStatus 動作,從「草稿」到「已啟用」的物件狀態轉換動作。

  3. 以下是設定 Apex 類別及其結果的兩個選項。

    備註
    備註 若要讓此情況中的 Apex 呼叫成功,則 finalStatusValue 參數是必要的。
    選項 情況
    使用將契約從「草稿」移至「批准中」的邏輯,建立名為 ChangeStatus.apxc 的 Apex 類別。
    • 如果 finalStatusValue 設定為「批准中」,則契約會從「草稿」移至「批准中」流程。

    • 如果 finalStatusValue 設定為「已啟用」,則轉換會失敗,因為未將路徑從「批准中」定義為「已啟用」。契約保持處於「草稿」狀態。

    建立名為 ChangeStatus.apxc 的 Apex 類別,其邏輯會將契約從「草稿」移至「已啟用」。
    • 如果 finalStatusValue 設定為「已啟用」,則契約會從「草稿」移至「已啟用」。

    • 如果 finalStatusValue 設定為「批准中」,則轉換會失敗,因為未從「已啟用」定義路徑至「批准中」流程。契約保持處於「草稿」狀態。

 
正在載入
Salesforce Help | Article