Вы находитесь здесь:
InsContractService:invokeProductRules
Используйте эту службу в потоках контрактов для вызова правил андеррайтинга, добавленных в продукт.
Например, если вы добавили правила, отправляющие определенные контракты андеррайтеру на утверждение, эта служба вызывает эти правила.
Принцип работы
-
Находит объект контракта на основе
objectIDи извлекает продукты для этого объекта на основе этогоobjectID. Служба запрашивает элементы строки объекта контракта. -
Ищет указанную
transitionName. -
Выполняет правила, связанные с продуктом и применимые к
transitionName. -
Если любое из правил оценивается как истинное, служба выполняет действие Vlocity, указанное в этих правилах.
Например, если действие указывает на необходимость создания задачи, служба создает задачу.
-
Ищет значение параметра
includeStateTransition. Если значение =true, служба ищет модель состояния для этого объекта, находит значениеfieldAPINameи изменяет это значение на основе перехода.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Если значение true, служба изменяет поле состояния, указанное в Если значение false, то служба не выполняет переход в другое состояние. |
|
Запрашиваемый код объекта контракта. |
|
Имя перехода в состояние, связанное с выполняемыми правилами. Служба будет выполнять только правила, связанные с указанным Чтобы найти имя перехода, перейдите к модели состояния для этого объекта. |
|
Дополнительно. Состояние, в которое служба переходит объект контракта, когда все правила, выполняемые службой, оцениваются как ложные. Служба переводит объект в это состояние, только если |
Вывод JSON
Служба возвращает несколько пар ключ/значение, массив правил, оцененных как false, и массив правил, оцененных как true.
{
"stateTransit": " updated Status from Submit to Underwriting",
"canTransitState": true,
"allFalse": false,
"falseRules": [...]
"trueRules": [...]
"error": "OK"
}Этот JSON содержит следующие пары ключ/значение:
Клавиша |
Значение |
|---|---|
|
Описывает изменения в обслуживании в поле «Статус» объекта контракта. |
|
Данный параметр определяет необходимость перевода объекта контракта в новое состояние. |
|
Если все правила, выполняемые службой, оцениваются как false, Если любое из правил, выполняемых службой, оценивается как true, |
|
Массив из одного или нескольких Содержит все правила, выполняемые службой, которые оцениваются как ложные. |
|
Массив одного или нескольких actionResults и Содержит все правила, выполняемые службой, которые оцениваются как истинные. Отображается, только если |
|
Любые ошибки, возникающие в службе. Если значение нормально, сообщения об ошибках не отображаются в пользовательском интерфейсе. |
Массивы 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"
}
},
}
],