Вы находитесь здесь:
InsQuoteService:invokeProductRules
Используйте эту службу в потоках сметы для вызова правил андеррайтинга, добавленных в продукт.
Например, если вы добавили правила, отправляющие определенные сметы андеррайтеру на утверждение, эта служба вызывает эти правила.
Перед выполнением этой службы система выполняет проверку пользователя-гостя.
Данная служба может использоваться пользователями-гостями. Пользователь-гость, выполняющий задачу OmniScript, процедуры интеграции или пользовательского интерфейса, сможет продолжить работу; эта служба будет запущена. Однако, в этих случаях quoteId и opportunityId зашифрованы, поэтому пользователи-гости не могут видеть эти коды.
Принцип работы
-
Служба находит объект сметы на основе
objectIDи извлекает продукты для этого объекта на основе этогоobjectID. Служба запрашивает элементы строки объекта сметы. -
Ищет указанную
transitionName. -
Выполняет правила, связанные с продуктом и применимые к
transitionName. -
Если любое из правил оценивается как истинное, служба выполняет действие Vlocity, указанное в этих правилах.
Например, если действие указывает, что задача создана, служба создает задачу.
-
Ищет значение параметра
includeStateTransition. Если значение = true, служба ищет модель состояния для этого объекта, находит значениеfieldAPINameи изменяет это значение на основе перехода.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Если значение true, служба изменяет поле состояния, указанное в Если значение false, то служба не выполняет переход в другое состояние. |
|
Код объекта сметы. |
|
Имя перехода в состояние, связанное с выполняемыми правилами. Служба будет выполнять только правила, связанные с указанным transitionName. Чтобы найти имя перехода, перейдите к модели состояния для этого объекта. |
|
Дополнительно. Состояние, в которое служба переходит объект сметы, когда все правила, выполняемые службой, оцениваются как ложные. Служба переводит объект в это состояние, только если |
| logResults (дополнительно) |
|
Вывод JSON
Служба возвращает несколько пар ключ/значение, массив правил, оцененных как false, и массив правил, оцененных как true.
{
"stateTransit": " updated Status from Submit to Underwriting",
"canTransitState": true,
"allFalse": false,
"falseRules": [...]
"trueRules": [...]
"error": "OK"
}Этот JSON содержит следующие пары ключ/значение:
Клавиша |
Значение |
|---|---|
|
Если все правила, выполняемые службой, оцениваются как false, allFalse = true. Если любое из правил, выполняемых службой, оценивается как true, allFalse = false. |
|
true или false Данный параметр определяет необходимость перехода объекта в новое состояние. |
|
Любые ошибки, возникающие в службе. Если значение нормально, сообщения об ошибках не отображаются в пользовательском интерфейсе. |
|
Массив как минимум одного ruleDetails. Содержит все правила, выполняемые службой, которые оцениваются как ложные. |
|
Описывает изменение обслуживания в поле «Статус» в смете, политике (активе), контракте или объекте претензии. |
|
Массив одного или нескольких actionResults и ruleDetails. Содержит все правила, выполняемые службой, которые оцениваются как истинные. Отображается, только если allFalse = false. То есть одно или несколько правил, выполняемых службой, оцениваются как true. |
Массивы falseRules и trueRules содержат пары ключ/значение ruleDetails.
"ruleDetails": {
"requirement name": "Operator Points >4",
"conditions": "wcOperator.opPoints > 4",
"message": "The applicant's prior citations require underwriting review prior to issuance.",
"action method": "ReferToUnderwriting",
"action class": "DROpenImplementationClass",
"productId": "01tf4000001lKNQAA2",
"transitionName": "Submit>Underwrite",
"objectId": "0Q0f4000000ADatCAG"
}Массив trueRules содержит как минимум одну actionResults, дополнительные пары ключ/значение и rulesDetails.
actionResults являются выводом класса действия Vlocity и метода действия, вызываемого службой.
"trueRules": [
{
"actionResults": {
"Task_1": [
{
"UpsertSuccess": true,
"Id": "00Tf400000LNkx9EAD",
"ActivityDate": "2018-05-21",
"WhatId": "0Q0f4000000ADatCAG",
"Description": "The value of this vessel requires underwriting review.",
"Subject": "Total Value"
}
],
"error": "OK",
"responseType": "SObject"
},
"ruleDetails": {
"requirement name": "Total Value",
"conditions": "WC.wcValue > 250000",
"message": "The value of this vessel requires underwriting review.",
"action method": "ReferToUnderwriting",
"action class": "DROpenImplementationClass",
"productId": "01tf4000001lKNQAA2",
"transitionName": "Submit>Underwrite",
"objectId": "0Q0f4000000ADatCAG"
}
},
}
],