Loading
Страхование
InsPolicyService:invokeRules

InsPolicyService:invokeRules

Используйте эту службу для вызова правил перехода состояния, связанных с транзакцией целевого состояния в целевой политике. Если правила соответствуют критериям перехода, эта служба выполняет действия, связанные с переходом, по желанию регистрирует результаты выполнения правил и переводит целевую политику в новое состояние.

Класс: InsPolicyService

Метод: invokeRules

Принцип работы

  1. Эта служба извлекает объект, указанный параметром policyId.

  2. На основе типа объекта, текущего состояния объекта и параметра toState определяется переход в целевое состояние.

  3. Извлекаются и выполняются правила продукта из перехода в состояние, правил перехода в состояние и действий правил перехода в состояние.

  4. Если правила перехода состояния соответствуют критериям завершения перехода, указанным в переходе состояния, объект переходит в состояние.

    Если переход состояния связан с действием, это действие выполняется.

    Если критерии завершения перехода не соблюдены, объект переходит в состояние «Альтернатива», указанное в переходе состояния, при его наличии. Если переход состояния не содержит альтернативного состояния, объект сохраняет текущее состояние.

  5. Если указан параметр logResults, результаты из каждого правила и результат транзакции объекта (успех или сбой) регистрируются.

Удаленные параметры

Параметр

Описание

policyID

Обязательно.

Код целевой политики для применения правил против

toState

Обязательно

Состояние для перемещения целевого объекта на основе критериев перехода состояния

lastDefaultState

Дополнительно

Имя последнего стандартного состояния целевого объекта

invokeStateTransitionRules

Дополнительно

true Использовать для вызова правил перехода к состоянию. По умолчанию.

false Use, если вы не хотите вызывать правила перехода к состоянию.

invokeProductRules

Дополнительно

true Use для вызова правил продукта. По умолчанию.

false Use, если вы не хотите вызывать правила продукта.

invokeActionType

Дополнительно

Если указано, обозначает тип действий для вызова при выполнении критериев. Параметр по умолчанию.

по умолчанию Выполнение только стандартных действий, связанных с переходом в состояние

Все Выполнить все действия, связанные с переходом в состояние

Нет Не вызывать действий, связанных с переходом в состояние

actionScope

Дополнительно

Если указано, определяет необходимость определения вызываемых действий в текущей версии модели состояния или в любой версии модели состояния. Параметр по умолчанию - версия.

версия Выполнение только действий, связанных с текущей версией модели состояния

любые действия выполнения, связанные с любой версией модели состояния

logResults

Дополнительно

true Использовать для регистрации результатов. По умолчанию.

false Use, если вы не хотите регистрировать результаты.

fromNoneState

Дополнительно

true Object переходит из состояния «Нет».

False Object не переходит из состояния «Нет». По умолчанию.

JSON ввода

Следующий пример отображает образец ввода JSON.

{ 
	"objectId": "02i3h0000009OqCAAU",
	"toState": "Review",
	"lastDefaultState": "Draft",
	"invokeActionType": "draft",
	"actionScope": "version",
	"logResults": true,
	"fromNoneState": false
}

Вывод JSON

Следующий пример отображает образец вывода JSON.

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

Описание результата

результат

ruleDetails

Этот JSON содержит следующие пары ключ/значение.

Клавиша

Значение

результат

Результат оценки условия правила относительно целевого объекта

conditions

Условие правила

name

Имя правила

ruleId

Код правила

transitionName

Имя перехода, связанного с правилом

objId

Код объекта, по которому выполнялись правила

 
Загрузка
Salesforce Help | Article