Sie befinden sich hier:
InsQuoteService:invokeRules
Verwenden Sie diesen Service, um Regeln für die Zustandsumstellung aufzurufen, die einer Zielzustandsumstellung in einem Zielangebot 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 Zielangebot in den neuen Zustand.
Bevor dieser Service ausgeführt wird, führt das System eine Gastbenutzerüberprüfung aus.
Dieser Service kann von Gastbenutzern verwendet werden. Gastbenutzer, die ein OmniScript, ein Integrationsverfahren oder eine Benutzeroberflächenaufgabe ausführen, können diesen Service fortsetzen. In diesen Fällen werden die quoteId und opportunityId jedoch verschlüsselt, sodass Gastbenutzer diese IDs nicht sehen können.
Funktionsweise
-
Dieser Service ruft das durch die Option quoteId angegebene Objekt ab.
-
Basierend auf dem Objekttyp, dem aktuellen Status des Objekts und der Option toState wird der Zielzustandsübergang bestimmt.
-
Bei der Statusumstellung, bei den Statusumstellungsregeln und bei den Aktionen für die Statusumstellungsregel werden Produktregeln abgerufen und ausgeführt.
-
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
Input JSON
Im folgenden Beispiel wird die Beispiel-Eingabe-JSON gezeigt.
{
"quoteId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeStateTransitionRules": true,
"invokeProductRules": true,
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}Ausgabe-JSON
Das folgende Beispiel zeigt die JSON-Beispielausgabe.
{
"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"
}
}]
}
}
}Ergebnisbeschreibung
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 |
|---|---|
Bedingungen |
Regelbedingung |
Name |
Name der Regel |
objId |
Objekt-ID, für die Regeln ausgeführt wurden |
Ergebnis |
Ergebnis der Regelbedingungsauswertung im Vergleich zum Zielangebot |
ruleId |
Regel-ID |
transitionName |
Name der der Regel zugeordneten Umstellung |

