Usted está aquí:
InsQuoteService:invokeRules
Utilice este servicio para invocar reglas de transición de estado asociadas con una transición de estado de destino en un presupuesto de destino.
Si las reglas cumplen los criterios de transición, este servicio ejecuta acciones asociadas con la transición, opcionalmente registra los resultados de las ejecuciones de reglas y realiza la transición del presupuesto de destino al nuevo estado.
Antes de que se ejecute este servicio, el sistema ejecuta una comprobación de usuario invitado.
Este servicio puede ser utilizado por usuarios invitados. Un usuario invitado que esté ejecutando una tarea de OmniScript, Procedimiento de integración o interfaz de usuario podrá continuar; este servicio se ejecutará. Sin embargo, el quoteId y el opportunityId están cifrados en estos casos, de modo que los usuarios invitados no pueden ver estos Id.
Funcionamiento
-
Este servicio recupera el objeto especificado por la opción quoteId.
-
Basándose en el tipo de objeto, el estado actual del objeto y la opción aState, se determina la transición de estado de destino.
-
Desde la transición de estado, las reglas de transición de estado y las acciones de reglas de transición de estado, las reglas de productos se recuperan y se ejecutan.
-
Si las reglas de transición de estado satisfacen los criterios de finalización de la transición especificados en la transición de estado, el objeto se realiza la transición a toState.
Si la transición de estado tiene una acción asociada, se ejecuta esa acción.
Si no se cumplen los criterios de finalización de la transición, el objeto se realiza la transición al estado Alternativo especificado en la transición de estado si existe. Si la transición de estado no tiene estado Alternativo, el objeto mantiene su estado actual.
-
Si se especifica la opción logResults, se registran los resultados de cada regla y el resultado de la transacción del objeto (correcta o fallida).
Opciones remotas
JSON de entrada
El siguiente ejemplo muestra el JSON de entrada de muestra.
{
"quoteId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeStateTransitionRules": true,
"invokeProductRules": true,
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}JSON de salida
El siguiente ejemplo muestra el JSON de salida de muestra.
{
"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"
}
}]
}
}
}Descripción de resultado
resultado Resultado general de reglas ejecutadas. Si es verdadero, el objeto de destino se transfiere a toState. Si es falso, el estado de destino permanece igual o realiza la transición al estado Alternativo definido en la transición de estado.
Lista de detalles de las reglas ejecutadas y sus resultados
Este JSON incluye estos pares de clave/valor:
Clave |
Valor |
|---|---|
conditions |
Condición de regla |
nombre |
Nombre de regla |
objId |
Id. de objeto con el que se ejecutaron las reglas |
Resultado |
Resultado de la evaluación de condición de regla frente al presupuesto objetivo |
ruleId |
Id. de regla |
transitionName |
Nombre de la transición asociada con la regla |
