breadcrumbDescription
InsPolicyService:invokeRules
Brug denne tjeneste til at kalde statsovergangsregler, der er tilknyttet en måltilstandstransaktion på en målpolitik. Hvis reglerne opfylder overgangskriterierne, udfører denne tjeneste handlinger, der er tilknyttet overgangen, logfører eventuelt resultaterne af regelkørsler og overfører målpolitikken til den nye tilstand.
Sådan fungerer det
-
Denne tjeneste henter det objekt, der er angivet af indstillingen policyId.
-
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
Indstilling |
Beskrivelse |
|---|---|
policyID |
Påkrævet. Id for målpolitik, som regler skal anvendes mod |
toState |
Påkrævet Stat, der skal flyttes målobjekt til, baseret på overgangskriterier for tilstand |
lastDefaultState |
Valgfrit Navn på den sidste standardtilstand for målobjektet |
invokeStateTransitionRules |
Valgfrit true Bruges til at få statsovergangsregler kaldt. Dette er standarden. false Bruges, hvis du ikke ønsker at kalde tilstandsovergangsregler. |
invokeProductRules |
Valgfrit true Bruges til at få produktregler kaldt. Dette er standarden. false Bruges, hvis du ikke ønsker at kalde produktregler. |
invokeActionType |
Valgfrit Hvis det er angivet, angiver den type handlinger, der skal kaldes, hvis kriterierne er opfyldt. Standardindstillingen er standard. standard Kun udføre standardhandlinger, der er tilknyttet tilstandsovergangen Udfør alle handlinger, der er knyttet til tilstandsovergangen ingen Ingen handlinger, der er forbundet med statsovergangen |
actionScope |
Valgfrit Hvis det er angivet, angiver det, om kaldte handlinger skal defineres på den aktuelle tilstandsmodelversion eller på enhver tilstandsmodelversion. Standardindstillingen er version. version Kun udføre handlinger, der er tilknyttet den aktuelle tilstandsmodelversion Enhver udførelseshandling, der er tilknyttet en statsmodelversion |
logResultater |
Valgfrit true Bruges til at få resultaterne registreret. Dette er standarden. false Bruges, hvis du ikke ønsker at logføre resultater. |
fromNoneState |
Valgfrit sandt objekt skifter tilstand fra Ingen. falsk objekt skifter ikke fra tilstanden Ingen. Dette er standarden. |
Input JSON
Følgende eksempel viser eksempel på input-JSON.
{
"objectId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"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": "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
regeldetaljer
Denne JSON indeholder følgende nøgle-/værdipar.
Nøgle |
Værdi |
|---|---|
resultat |
Resultat af evaluering af regelbetingelse op mod målobjekt |
conditions |
Regelbetingelse |
name |
Navn på regel |
ruleId |
Regel-id |
transitionName |
Navn på overgang, der er knyttet til regel |
objId |
Objekt-id, som regler blev afviklet mod |
