Loading
保險
InsQuoteService:invokeRules

InsQuoteService:invokeRules

使用此服務可叫用與目標報價上的目標狀態轉換相關聯的狀態轉換規則。

如果規則符合轉換條件,此服務會執行與轉換相關聯的動作、選擇性記錄規則執行的結果,並將目標報價轉換為新狀態。

備註
備註

在執行此服務之前,系統會執行來賓使用者檢查。

來賓使用者可以使用此服務。執行 OmniScript、整合程序或 UI 工作的來賓使用者將能夠繼續;此服務將會執行。不過,在這些情況下,quoteId 和 opportunityId 會加密,因此來賓使用者看不到這些識別碼。

類別:InsQuoteService

方法:invokeRules

運作方式

  1. 此服務會取回由 quoteId 選項指定的物件。

  2. 系統會根據物件類型、物件的目前狀態以及 toState 選項來決定目標狀態轉換。

  3. 系統會從狀態轉換、狀態轉換規則和狀態轉換規則動作中來取用並執行產品規則。

  4. 如果狀態轉換規則符合在狀態轉換上指定的轉換完成條件,則物件會轉換為「州/省」。

    如果狀態轉換具有與其相關聯的動作,則會執行該動作。

    如果不滿足轉換完成條件,則物件會轉換為在狀態轉換上指定的 替代狀態 (若存在)。如果狀態轉換沒有「替代」」狀態,則物件會保留其目前狀態。

  5. 如果已指定 logResults 選項,則會記錄每個規則的結果以及物件交易的結果 (成功或失敗)。

遠端選項

選項

描述

quoteID

必要。

QuoteId,如果要求是針對客戶或來賓使用者,則為加密的 QuoteId。

toState

必要

要根據州/省轉換條件將目標報價移至

lastDefaultState

選擇性

目標報價的最後預設狀態名稱

invokeStateTransitionRules

選擇性

true 用於叫用狀態轉換規則。這是預設值。

false 如果您不想要叫用狀態轉換規則,則使用。

invokeProductRules

選擇性

true 用於叫用產品規則。這是預設值。

false 如果您不想要叫用產品規則,請使用。

invokeActionType

選擇性

若有指定,則表示在符合條件時要叫用的動作類型。預設設定為 預設值。

預設 僅執行與狀態轉換相關聯的預設動作

所有 執行與狀態轉換相關聯的所有動作

無 請勿叫用與狀態轉換相關聯的任何動作

actionScope

選擇性

若有指定,則表示在目前的狀態模型版本或任何狀態模型版本上是否必須定義叫用動作。預設設定為 版本。

版本 僅執行與目前狀態模型版本相關聯的動作

與任何狀態模型版本相關聯的「任何執行動作」

logResults

選擇性

true 用於記錄結果。這是預設值。

false 如果您不想記錄結果,請使用。

fromNoneState

選擇性

true Object 從「無」 狀態轉換。

false 物件未從 無狀態轉換。這是預設值。

輸入 JSON

下列範例顯示範例輸入 JSON。

{ 
    "quoteId": "02i3h0000009OqCAAU",
    "toState": "Review",
    "lastDefaultState": "Draft",
    "invokeStateTransitionRules": true,
    "invokeProductRules": true,
    "invokeActionType": "draft",
    "actionScope": "version",
    "logResults": true,
    "fromNoneState": false
}

輸出 JSON

下列範例顯示範例輸出 JSON。

{  
    "transition": true,
    "transitedState": "Review",
    "stateTransitionRules": {
        "result": true,
        "ruleDetails": [{
            "result": true,
            "conditions": "Quote.Status == 'Draft'",
            "name": "Status is Draft",
            "ruleId": "a5Q6g0000005vSPEAY",
            "transitionName": "Draft > Review",
            "objId": "02i3h0000009OqCAAU"
        }, {
            "result": false,
            "conditions": "Quote.Name == 'Test'",
            "name": "Name is Test",
            "ruleId": "a5Q6g0000005vSPEAZ",
            "transitionName": "Draft > Review",
            "objId": "02i3h0000009OqCAAU"
        }]
    },
    "productRules": {
        "allFalse": false,
        "trueRules": {
            "Quote": [{
                "ruleDetails": {
                    "ruleId": "a5Q6g0000005vSPEBX",
                    "objectId": "02i3h0000009OqCAAU",
                    "transitionName": "Draft > Review",
                    "productId": "01t6g000000RzFAAA0",
                    "action class": null,
                    "action method": null,
                    "message": "Name is not blank",
                    "conditions": "Quote.Name != ''",
                    "requirement name": "Name is not blank"
                } 
            }]
        },
        "falseRules": {
            "Quote": [{
                "ruleDetails": {
                    "ruleId": "a5Q6g0000005vSPEBX",
                    "objectId": "02i3h0000009OqCAAU",
                    "transitionName": "Draft > Review",
                    "productId": "01t6g000000RzFAAA0",
                    "action class": null,
                    "action method": null,
                    "message": "Name is blank",
                    "conditions": "Quote.Name == ''",
                    "requirement name": "Name is blank"
                } 
            }]
        }
    }
}

結果描述

result 已執行規則的整體結果。如果為 true,則目標物件會轉換為 toState。如果為 false,則目標狀態會保持不變,或轉換為在狀態轉換上定義的 替代狀態。

ruleDetails 已執行規則及其結果清單

此 JSON 包含以下金鑰/值配對:

關鍵字

值

conditions

規則條件

name

規則名稱

objId

執行規則的物件識別碼

結果

根據目標報價的規則條件評估結果

ruleId

規則識別碼

transitionName

與規則相關聯的轉換名稱

 
正在載入
Salesforce Help | Article