Du er her:
InsQuoteService:invokeRules
Bruk denne tjenesten til å kalle opp overgangsregler for delstater som er knyttet til en overgang til en måltilstand i et tilbud.
Hvis reglene oppfyller overgangskriteriene, utfører denne tjenesten handlinger som er knyttet til overgangen, logger eventuelt resultatet av regelutførelsene og overfører måltilbudet til den nye tilstanden.
Før denne tjenesten kjører utfører systemet en gjestebrukersjekk.
Denne tjenesten kan brukes av gjestebrukere. En gjestebruker som kjører en OmniScript-, Integrasjonsprosedyre- eller grensesnittoppgave, kan fortsette. Denne tjenesten kjøres. quoteId og opportunityId er imidlertid kryptert i disse tilfellene, så gjestebrukere kan ikke se disse ID-ene.
Slik virker det
-
Denne tjenesten henter objektet som er angitt av alternativet quoteId.
-
Basert på objekttypen, objektets gjeldende tilstand og alternativet toState bestemmes målstatusovergangen.
-
Fra overgangen til delstater, overgangsregler for delstater og overgangsregelhandlinger for delstater hentes produktregler og utføres.
-
Hvis overgangsreglene for delstater oppfyller kriteriene for fullføring av overgangen som er angitt for overgangen til delstater, overføres objektet til tildelstaten.
Hvis statusovergangen har en handling knyttet til seg, utføres denne handlingen.
Hvis fullføringskriteriene for overgangen ikke er oppfylt, overføres objektet til den alternative tilstanden som er angitt i overgangen til tilstand, hvis den finnes. Hvis tilstandsovergangen ikke har noen Alternative-tilstand, beholder objektet sin gjeldende tilstand.
-
Hvis alternativet logResults er angitt, logges resultatet fra hver regel og resultatet av objekttransaksjonen (suksess eller feil).
Eksterne alternativer
Inndata-JSON
Følgende eksempel viser et eksempel på inndata-JSON.
{
"quoteId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeStateTransitionRules": true,
"invokeProductRules": true,
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}Utdata-JSON
Følgende eksempel viser et eksempel på JSON-data.
{
"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
resultat Generelt resultat av utførte regler. Hvis true, overføres målobjektet til toState. Hvis false, forblir måltilstanden den samme eller går over til den Alternative tilstanden som er definert ved overgangen.
ruleDetails Liste over utførte regler og deres resultater
Denne JSON-koden inkluderer disse nøkkel/verdi-parene:
Nøkkel |
Verdi |
|---|---|
betingelser |
Regelbetingelse |
name |
Navn på regel |
objId |
Objekt-ID som regler ble utført mot |
resultat |
Resultat av evaluering av regelbetingelse mot måltilbud |
ruleId |
Regel-ID |
transitionName |
Navn på overgang knyttet til regel |
