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

InsQuoteService:invokeRules

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

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

Примечание
Примечание

Перед выполнением этой службы система выполняет проверку пользователя-гостя.

Данная служба может использоваться пользователями-гостями. Пользователь-гость, выполняющий задачу OmniScript, процедуры интеграции или пользовательского интерфейса, сможет продолжить работу; эта служба будет запущена. Однако, в этих случаях quoteId и opportunityId зашифрованы, поэтому пользователи-гости не могут видеть эти коды.

Класс: InsQuoteService

Метод: invokeRules

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

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

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

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

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

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

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

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

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

Параметр

Описание

quoteID

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

QuoteId или зашифрованный QuoteId, если запрос предназначен для клиента или пользователя-гостя.

toState

Обязательно

Область для перемещения целевой сметы на основе критериев перехода состояния

lastDefaultState

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

Имя последнего стандартного состояния целевой сметы

invokeStateTransitionRules

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

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

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

invokeProductRules

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

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

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

invokeActionType

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

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

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

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

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

actionScope

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

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

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

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

logResults

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

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

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

fromNoneState

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

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

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

JSON ввода

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

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

Вывод JSON

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

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

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

Результат Общий результат выполненных правил. Если значение true, целевой объект переходит в состояние. Если значение false, то целевое состояние остается неизменным или переходит в альтернативное состояние, заданное при переходе в состояние.

ruleDetails Список выполненных правил и их результаты

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

Клавиша

Значение

conditions

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

name

Имя правила

objId

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

результат

Результат оценки условия правила относительно целевой сметы

ruleId

Код правила

transitionName

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

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