Ti trovi qui:
InsQuoteService:invokeRules
Utilizzare questo servizio per invocare le regole di transizione tra stati associate a una transizione tra stati di destinazione in un preventivo di destinazione.
Se le regole soddisfano i criteri di transizione, questo servizio esegue le azioni associate alla transizione, se si desidera registra i risultati delle esecuzioni delle regole e trasferisce il preventivo di destinazione al nuovo stato.
Prima dell'esecuzione di questo servizio, il sistema esegue un controllo utente guest.
Questo servizio può essere utilizzato dagli utenti guest. Un utente guest che esegue un'operazione OmniScript, Procedura di integrazione o interfaccia utente potrà continuare; questo servizio verrà eseguito. Tuttavia, i quoteId e i opportunityId sono crittografati in questi casi, quindi gli utenti guest non possono visualizzare questi ID.
Funzionamento
-
Questo servizio recupera l'oggetto specificato dall'opzione quoteId.
-
In base al tipo di oggetto, allo stato corrente dell'oggetto e all'opzione toState, viene determinata la transizione dello stato di destinazione.
-
Dalle azioni transizione stato, regole transizione stato e regole transizione stato, le regole prodotto vengono recuperate ed eseguite.
-
Se le regole di transizione tra stati soddisfano i criteri di completamento della transizione specificati nella transizione tra stati, l'oggetto viene trasferito a toState.
Se alla transizione di stato è associata un'azione, tale azione viene eseguita.
Se i criteri di completamento della transizione non sono soddisfatti, l'oggetto viene trasferito allo stato alternativo specificato nella transizione di stato, se esistente. Se la transizione di stato non ha uno stato alternativo, l'oggetto mantiene lo stato corrente.
-
Se è specificata l'opzione logResults, vengono registrati i risultati di ogni regola e il risultato della transazione dell'oggetto (esito positivo o negativo).
Opzioni remote
Input JSON
L'esempio seguente mostra il JSON di input di esempio.
{
"quoteId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeStateTransitionRules": true,
"invokeProductRules": true,
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}JSON di output
L'esempio seguente mostra il JSON di output di esempio.
{
"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"
}
}]
}
}
}Descrizione risultato
risultato Risultato generale delle regole eseguite. Se true, l'oggetto di destinazione viene trasferito a toState. Se false, lo stato di destinazione rimane lo stesso o passa allo stato alternativo definito nella transizione di stato.
ruleDetails Elenco delle regole eseguite e dei relativi risultati
Questo JSON include queste coppie chiave/valore:
Chiave |
Valore |
|---|---|
conditions |
Condizione regola |
name |
Nome della regola |
objId |
ID oggetto per cui sono state eseguite le regole |
Risultato |
Risultato della valutazione della condizione regola rispetto al preventivo target |
ruleId |
ID regola |
transitionName |
Nome della transizione associata alla regola |
