Usted está aquí:
InsPolicyService:invokeRules
Utilice este servicio para invocar reglas de transición de estado asociadas con una transacción de estado de destino en una política 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 de la política de destino al nuevo estado.
Funcionamiento
-
Este servicio recupera el objeto especificado por la opción policyId.
-
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
Opción |
Descripción |
|---|---|
policyID |
Obligatorio. Id. de política de destino para la que aplicar reglas |
toState |
Obligatorio Estado al que mover el objeto de destino basándose en criterios de transición de estado |
lastDefaultState |
Opcional Nombre del último estado predeterminado del objeto de destino |
invokeStateTransitionRules |
Opcional true Utilizar para invocar reglas de transición de estado. Este es el valor predeterminado. false Use si no desea invocar reglas de transición de estado. |
invokeProductRules |
Opcional true Utilizar para invocar reglas de productos. Este es el valor predeterminado. false Use si no desea invocar reglas de productos. |
invokeActionType |
Opcional Si se especifica, indica el tipo de acciones a invocar si se cumplen los criterios. La configuración predeterminada es predeterminada. predeterminado Solo ejecutar acciones predeterminadas asociadas con la transición de estado todo Ejecutar todas las acciones asociadas con la transición de estado ninguna No invocar ninguna acción asociada con la transición de estado |
actionScope |
Opcional Si se especifica, indica si las acciones invocadas deben definirse en la versión del modelo de estado actual o en cualquier versión del modelo de estado. La configuración predeterminada es versión. versión Solo ejecutar acciones asociadas con la versión del modelo de estado actual cualquier acción Ejecutar asociada con cualquier versión de modelo de estado |
logResults |
Opcional true Utilice para tener resultados registrados. Este es el valor predeterminado. false Use si no desea registrar resultados. |
fromNoneState |
Opcional Objeto verdadero está realizando la transición del estado Ninguno. false Object no está realizando la transición del estado Ninguno. Este es el valor predeterminado. |
JSON de entrada
El siguiente ejemplo muestra el JSON de entrada de muestra.
{
"objectId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"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": "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"
}]
},
"productRules": {
"allFalse": false,
"trueRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is not blank",
"conditions": "Asset.Name != ''",
"requirement name": "Name is not blank"
}
}]
},
"falseRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is blank",
"conditions": "Asset.Name == ''",
"requirement name": "Name is blank"
}
}]
}
}
}Descripción de resultado
Resultado
ruleDetails
Este JSON incluye los siguientes pares de clave/valor.
Clave |
Valor |
|---|---|
Resultado |
Resultado de la evaluación de condición de regla frente al objeto de destino |
conditions |
Condición de regla |
nombre |
Nombre de regla |
ruleId |
Id. de regla |
transitionName |
Nombre de la transición asociada con la regla |
objId |
Id. de objeto con el que se ejecutaron las reglas |
