Sie befinden sich hier:
StateRuleService:invokeRules
Verwenden Sie diesen Service, um Regeln für die Zustandsumstellung aufzurufen, die einer Zielzustandsumstellung für ein Zielobjekt zugeordnet sind. Wenn die Regeln die Umstellungskriterien erfüllen, führt dieser Service Aktionen aus, die mit der Umstellung verknüpft sind, protokolliert optional die Ergebnisse der Regelausführungen und versetzt das Zielobjekt in den neuen Zustand.
Funktionsweise
-
Dieser Service ruft das durch die Option objectId angegebene Objekt ab.
-
Basierend auf dem Objekttyp, dem aktuellen Status des Objekts und der Option toState wird der Zielzustandsübergang bestimmt.
-
Bei der Zustandsumstellung werden Regeln und Regelaktionen für die Zustandsumstellung abgerufen und ausgeführt.
Wenn eine Zustandsumstellung über mehrere Regeln verfügt, bestimmt die Einstellung "Abschlusskriterien für die Zustandsumstellung", wie die Regeln ausgewertet werden:
-
"Beliebig wahr" gibt an, dass mindestens eine Regel wahr sein muss, damit der Übergang erfolgt. Dies ist die Standardeinstellung.
-
"All True" gibt an, dass alle Regeln wahr sein müssen, damit die Umstellung erfolgt.
-
-
Wenn die Regeln für die Zustandsumstellung die Kriterien für den Abschluss der Umstellung erfüllen, die bei der Zustandsumstellung angegeben sind, wird das Objekt in den Status übergeführt.
Wenn dem Zustandsübergang eine Aktion zugeordnet ist, wird diese Aktion ausgeführt.
Wenn die Kriterien für den Abschluss der Umstellung nicht erfüllt sind, wird das Objekt in den Status Alternate (alternativ) versetzt, der in der Statusumstellung angegeben ist, sofern vorhanden. Wenn der Zustandsübergang keinen alternativen Status aufweist, behält das Objekt seinen aktuellen Status bei.
-
Wenn die Option logResults angegeben ist, werden die Ergebnisse aus jeder Regel und das Ergebnis der Objekttransaktion (Erfolg oder Fehler) protokolliert.
Remote-Optionen
Option |
Beschreibung |
|---|---|
objectID |
Pflichtangabe. ID des Zielobjekts |
toState |
Erforderlich Bundesstaat, in den das Zielobjekt anhand von Kriterien für die Bundesstaatsumstellung verschoben werden soll |
lastDefaultState |
Optional Name des letzten Standardstatus des Zielobjekts |
invokeActionType |
Optional Wenn angegeben, wird der Typ der Aktionen angegeben, die aufgerufen werden sollen, wenn die Kriterien erfüllt sind. Die Standardeinstellung lautet Standardeinstellung. Standard: Nur Standardaktionen ausführen, die der Statusumstellung zugeordnet sind alle Alle Aktionen ausführen, die mit der Statusumstellung verknüpft sind keine Aufrufen von Aktionen im Zusammenhang mit der Zustandsumstellung |
actionScope |
Optional Wenn angegeben, wird angegeben, ob aufgerufene Aktionen in der aktuellen Statusmodellversion oder in beliebigen Statusmodellversionen definiert werden müssen. Die Standardeinstellung lautet Version. Version Nur Aktionen ausführen, die der aktuellen Statusmodellversion zugeordnet sind alle Aktionen ausführen, die einer beliebigen Statusmodellversion zugeordnet sind |
logResults |
Optional true Verwenden Sie diese Option, um Ergebnisse protokollieren zu lassen. Dies ist die Standardeinstellung. false Verwenden, wenn Sie keine Ergebnisse protokollieren möchten. |
fromNoneState |
Optional Das Objekt true wechselt vom Status Keine. "false Object" geht nicht vom Status "Keine" über. Dies ist die Standardeinstellung. |
Input JSON
Das folgende Beispiel zeigt die JSON-Eingabe für Bundesstaatsregeln.
{
"objectId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}Ausgabe-JSON
Der Service gibt mehrere Schlüssel-Wert-Paare, ein Array von Regeln, die als false ausgewertet wurden, und ein Array von Regeln, die als true ausgewertet wurden, zurück.
{
"transition": true,
"transitedState": "Review",
"result": {
"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"
}]
}
}Ergebnis
Ergebnis Gesamtergebnis der ausgeführten Regeln. Bei true wird das Zielobjekt in toState umgewandelt. Bei false bleibt der Zielzustand gleich oder wechselt in den für den Zustandsübergang definierten Zustand Alternate.
ruleDetails Liste der ausgeführten Regeln und ihrer Ergebnisse
Diese JSON enthält die folgenden Schlüssel-Wert-Paare.
Schlüssel |
Wert |
|---|---|
Ergebnis |
Ergebnis der Regelbedingungsauswertung für das Zielobjekt |
Bedingungen |
Regelbedingung |
Name |
Name der Regel |
ruleId |
Regel-ID |
transitionName |
Name der der Regel zugeordneten Umstellung |
objId |
Objekt-ID, für die Regeln ausgeführt wurden |

