Du er her:
InsPolicyService:invokeRules
Bruk denne tjenesten til å kalle opp overgangsregler for delstater som er knyttet til en målstatstransaksjon i en målpolicy. Hvis reglene oppfyller overgangskriteriene, utfører denne tjenesten handlinger som er knyttet til overgangen, logger eventuelt resultatet av regelutførelsene og overfører målpolicyen til den nye statusen.
Slik virker det
-
Denne tjenesten henter objektet som er angitt av alternativet policyId.
-
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
Alternativ |
Beskrivelse |
|---|---|
policyID |
Obligatorisk. ID-en til målpolicyen som regler skal brukes mot |
toState |
Obligatorisk Status for å flytte målobjekt til basert på overgangskriterier for status |
lastDefaultState |
Valgfritt Navn på siste standardtilstand for målobjektet |
invokeStateTransitionRules |
Valgfritt true Brukes til å kalle opp overgangsregler for delstater. Dette er standardverdien. false Brukes hvis du ikke vil kalle opp overgangsregler for delstater. |
invokeProductRules |
Valgfritt true Brukes til å kalle opp produktregler. Dette er standardverdien. false Brukes hvis du ikke vil kalle opp produktregler. |
invokeActionType |
Valgfritt Angir om angitt hvilken type handlinger som skal kalles opp hvis kriterier oppfylles. Standardinnstillingen er standard. standard Utfør bare standardhandlinger som er knyttet til statusovergangen Utfør alle handlinger som er knyttet til overgangen til staten ingen Ikke kall noen handlinger knyttet til statsovergangen |
actionScope |
Valgfritt Angir om kallede handlinger må defineres i den gjeldende versjonen av delstatsmodellen eller i en hvilken som helst delstatsmodellversjon. Standardinnstillingen er versjon. versjon Bare utføre handlinger som er knyttet til den gjeldende modellversjonen alle Utfør-handlinger som er knyttet til en hvilken som helst delstatsmodellversjon |
logResults |
Valgfritt true Brukes til å logge resultater. Dette er standardverdien. false Brukes hvis du ikke vil logge resultater. |
fromNoneState |
Valgfritt true Object går over fra statusen Ingen. false-objektet går ikke over fra statusen Ingen. Dette er standardverdien. |
Inndata-JSON
Følgende eksempel viser et eksempel på inndata-JSON.
{
"objectId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"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": "Asset.Status == 'Draft'",
"name": "Status is Draft",
"ruleId": "a5Q6g0000005vSPEAY",
"transitionName": "Draft > Review",
"objId": "02i3h0000009OqCAAU"
}, {
"result": false,
"conditions": "Asset.Name == 'Test'",
"name": "Name is Test",
"ruleId": "a5Q6g0000005vSPEAZ",
"transitionName": "Draft > Review",
"objId": "02i3h0000009OqCAAU"
}]
},
"productRules": {
"allFalse": false,
"trueRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is not blank",
"conditions": "Asset.Name != ''",
"requirement name": "Name is not blank"
}
}]
},
"falseRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is blank",
"conditions": "Asset.Name == ''",
"requirement name": "Name is blank"
}
}]
}
}
}Resultatbeskrivelse
resultat
ruleDetails
Denne JSON-koden inkluderer følgende nøkkel/verdi-par.
Nøkkel |
Verdi |
|---|---|
resultat |
Resultat av evaluering av regelbetingelse mot målobjekt |
betingelser |
Regelbetingelse |
name |
Navn på regel |
ruleId |
Regel-ID |
transitionName |
Navn på overgang knyttet til regel |
objId |
Objekt-ID som regler ble utført mot |
