breadcrumbDescription
InsQuoteService:invokeRules
Brug denne tjeneste til at kalde statsovergangsregler, der er knyttet til en måltilstandsovergang på et tilbud.
Hvis reglerne opfylder overgangskriterierne, udfører denne tjeneste handlinger, der er tilknyttet overgangen, logfører eventuelt resultaterne af regelkørsler og overfører måltilbuddet til den nye tilstand.
Før denne tjeneste køres, kører systemet en gæstebrugertjek.
Denne tjeneste kan bruges af gæstebrugere. En gæstebruger, der kører en OmniScript-, integrationsprocedure- eller brugergrænsefladeopgave, vil kunne fortsætte. Denne tjeneste vil køre. Men i disse tilfælde er quoteId og opportunityId krypteret, så gæstebrugere ikke kan se disse id'er.
Sådan fungerer det
-
Denne tjeneste henter det objekt, der er angivet af indstillingen quoteId.
-
Baseret på objekttypen, objektets aktuelle tilstand og indstillingen tilState bestemmes måltilstandsovergangen.
-
Fra statsovergangsregler, statsovergangsregler og statsovergangsregelhandlinger hentes og udføres produktregler.
-
Hvis statsovergangsreglerne opfylder de overgangsfuldførelseskriterier, der er angivet på statsovergangen, overføres objektet til staten.
Hvis tilstandsovergangen har en handling tilknyttet, udføres denne handling.
Hvis overgangsfuldførelseskriterierne ikke er opfyldt, overføres objektet til den alternative tilstand, der er angivet på tilstandsovergangen, hvis det findes. Hvis tilstandsovergangen ikke har en alternativ tilstand, bevarer objektet sin aktuelle tilstand.
-
Hvis indstillingen logResults er angivet, logføres resultaterne fra hver regel og resultatet af objekttransaktionen (succes eller failure).
Fjernindstillinger
Input JSON
Følgende eksempel viser eksempel på input-JSON.
{
"quoteId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeStateTransitionRules": true,
"invokeProductRules": true,
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}Output JSON
Følgende eksempel viser eksempelresultat-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"
}
}]
}
}
}Resultatbeskrivelse
result Generelt resultat af afviklede regler. Hvis sandt, overføres målobjektet til tilState. Hvis falsk, forbliver måltilstanden den samme eller skifter til den alternative tilstand, der er defineret på tilstandstransitionen.
ruleDetails Liste over de kørte regler og deres resultater
Denne JSON indeholder disse nøgle-/værdipar:
Nøgle |
Værdi |
|---|---|
conditions |
Regelbetingelse |
name |
Navn på regel |
objId |
Objekt-id, som regler blev afviklet mod |
resultat |
Resultat af evaluering af regelbetingelse op mod måltilbud |
ruleId |
Regel-id |
transitionName |
Navn på overgang, der er knyttet til regel |
