Loading
保险
InsQuoteService:invokeRules

InsQuoteService:invokeRules

使用此服务调用与目标报价上的目标状态转换相关联的状态转换规则。

如果规则满足迁移条件,此服务会执行与迁移关联的操作,也可以记录规则执行的结果,并将目标报价迁移到新状态。

备注
备注

在运行此服务之前,系统会运行来宾用户检查。

来宾用户可以使用此服务。正在运行 OmniScript、集成程序或 UI 任务的来宾用户可以继续;此服务将运行。但是,在这些情况下,quoteId和opportunityId是加密的,因此来宾用户看不到这些 ID。

类:InsQuoteService

方法:invokeRules

工作原理

  1. 此服务检索 quoteId 选项指定的对象。

  2. 根据对象类型、对象的当前状态和 toState 选项,确定目标状态转换。

  3. 从状态转换、状态转换规则和状态转换规则操作中,检索并执行产品规则。

  4. 如果状态转换规则满足状态转换上指定的转换完成条件,对象将转换到 toState。

    如果状态转换包含与其关联的操作,则执行该操作。

    如果不满足迁移完成条件,对象将被迁移到状态迁移上指定的备用状态(如果存在)。如果状态转换没有备用状态,对象将保留当前状态。

  5. 如果指定了 logResults 选项,则记录每个规则的结果和对象事务的结果(成功或失败)。

远程选项

选项

说明

quoteID

必需。

QuoteId,或加密QuoteId(如果请求针对客户或来宾用户)。

toState

必填

根据状态转换条件将目标报价移动到的州/省

lastDefaultState

可选

目标报价上次默认状态的名称

invokeStateTransitionRules

可选

true 用于调用状态转换规则。这是默认值。

如果您不想调用状态转换规则,请使用 false。

invokeProductRules

可选

true 用于调用产品规则。这是默认值。

如果您不想调用产品规则,请假使用。

invokeActionType

可选

如果指定,表示满足条件时调用的操作类型。默认设置是默认。

default 仅执行与状态转换关联的默认操作

all 执行与状态转换关联的所有操作

none 不要调用与状态转换相关联的任何操作

actionScope

可选

如果指定,表示是否必须在当前状态模型版本或任何状态模型版本上定义调用的操作。默认设置是版本。

version 仅执行与当前状态模型版本关联的操作

与任何状态模型版本关联的任何执行操作

logResults

可选

true 用于记录结果。这是默认值。

如果您不想记录结果,请使用 false。

fromNoneState

可选

true Object 正在从无状态转换。

假对象未从“无”状态转换。这是默认值。

输入 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"
                } 
            }]
        }
    }
}

结果描述

结果 执行规则的整体结果。如果为真,目标对象将转换为 toState。如果为假,则目标状态保持不变,或转换到状态转换上定义的备用状态。

ruleDetails 执行的规则及其结果列表

此 JSON 包括以下键/值对:

关键字

值

条件

规则条件

name

规则名称

objId

规则执行的对象 ID

结果

根据目标报价进行规则条件评估的结果

ruleId

规则 ID

transitionName

与规则关联的转换名称

 
正在加载
Salesforce Help | Article