Loading
Seguro
InsQuoteService:invokeRules

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.

Nota
Nota

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.

Clase: InsQuoteService

Método: invokeRules

Funcionamiento

  1. Este servicio recupera el objeto especificado por la opción quoteId.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Opción

Descripción

quoteID

Obligatorio.

El QuoteId o el QuoteId cifrado si la solicitud es para un cliente o usuario invitado.

toState

Obligatorio

Estado al que mover el presupuesto objetivo basándose en criterios de transición de estado

lastDefaultState

Opcional

Nombre del último estado predeterminado del presupuesto de destino

invokeStateTransitionRules

Opcional

true Utilice 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 Utilice para invocar reglas de productos. Este es el valor predeterminado.

falso Uso 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

ninguno 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.

falso Uso si no desea registrar resultados.

fromNoneState

Opcional

true Object 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.

{ 
    "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

 
Cargando
Salesforce Help | Article