您在此处:
InsQuoteService:invokeRules
使用此服务调用与目标报价上的目标状态转换相关联的状态转换规则。
如果规则满足迁移条件,此服务会执行与迁移关联的操作,也可以记录规则执行的结果,并将目标报价迁移到新状态。
工作原理
-
此服务检索 quoteId 选项指定的对象。
-
根据对象类型、对象的当前状态和 toState 选项,确定目标状态转换。
-
从状态转换、状态转换规则和状态转换规则操作中,检索并执行产品规则。
-
如果状态转换规则满足状态转换上指定的转换完成条件,对象将转换到 toState。
如果状态转换包含与其关联的操作,则执行该操作。
如果不满足迁移完成条件,对象将被迁移到状态迁移上指定的备用状态(如果存在)。如果状态转换没有备用状态,对象将保留当前状态。
-
如果指定了 logResults 选项,则记录每个规则的结果和对象事务的结果(成功或失败)。
远程选项
选项 |
说明 |
|---|---|
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"
}
}]
}
}
}