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 ejecuta 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 toState, 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 producto se recuperan y 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 transfiere al 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 pasa 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 (correcto o fallido).
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.
ruleDetails Lista de las reglas ejecutadas y sus resultados
Este JSON incluye estos pares clave/valor:
Clave |
Valor |
|---|---|
conditions |
Condición de regla |
name |
Nombre de regla |
objId |
Id. de objeto en 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 transición asociada con regla |
