Du är här:
InsQuoteService:invokeRules
Använd denna tjänst för att åberopa övergångsregler för status som är associerade med en målstatusövergång för en måloffert.
Om reglerna uppfyller övergångskriterierna utför denna tjänst åtgärder associerade med övergången, loggar om du vill resultaten av regelkörningarna och överför målofferten till det nya läget.
Innan denna tjänst körs kör systemet en gästanvändarkontroll.
Denna tjänst kan användas av gästanvändare. En gästanvändare som kör en OmniScript-, integreringsprocess- eller användargränssnittsuppgift kommer att kunna fortsätta; denna tjänst kommer att köras. quoteId och opportunityId är dock krypterade i dessa fall, så gästanvändare kan inte se dessa ID:n.
Så här fungerar det
-
Denna tjänst hämtar objektet som specificeras av alternativet quoteId.
-
Baserat på objekttypen, objektets aktuella status och alternativet toState avgörs övergången till målstatus.
-
Från åtgärderna lägesövergång, lägesövergångsregler och lägesövergångsregler hämtas och körs produktregler.
-
Om övergångsreglerna för delstat uppfyller de kriterier för slutförande av övergången som specificerats i övergången för delstat överförs objektet till toState.
Om lägesövergången har en åtgärd associerad med sig utförs denna åtgärd.
Om kriterierna för slutförande av övergången inte uppfylls överförs objektet till det alternativa läge som specificeras i lägesövergången om det finns. Om lägesövergången inte har något alternativt läge behåller objektet sitt nuvarande läge.
-
Om alternativet logResults har specificerats loggas resultaten från varje regel och resultatet av objekttransaktionen (framgång eller misslyckande).
Fjärralternativ
Indata-JSON
Följande exempel visar exempel på JSON för indata.
{
"quoteId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeStateTransitionRules": true,
"invokeProductRules": true,
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}JSON för utdata
Följande exempel visar exempel på JSON för utdata.
{
"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"
}
}]
}
}
}Resultatbeskrivning
result Övergripande resultat av utförda regler. Om sant övergår målobjektet till toState. Om falskt förblir målläget detsamma eller övergår till det alternativa läge som definieras i lägesövergången.
ruleDetails Lista över utförda regler och deras resultat
Denna JSON inkluderar dessa nyckel/värdepar:
Nyckel |
Värde |
|---|---|
villkor |
Regelvillkor |
name |
Namn på regel |
objId |
Objekt-ID som regler utfördes mot |
resultat |
Resultat av utvärdering av regelvillkor mot måloffert |
ruleId |
Regel-ID |
transitionName |
Namn på övergång associerad med regel |
