您在此处:
InsScheduledAutomatedTransitionService:scheduleAutomatedTransition
使用此服务,通过使用每小时、每天或每周的模式,计划对象状态转换,从原始状态转换到目标状态(Vlocity 状态),从而自动化状态转换。
类:InsScheduledAutomatedTransitionService
方法:scheduleAutomatedTransition
工作原理
此转换适用于 Vlocity 状态模型工作流。不支持复杂的计划模式(每两天、每月的第一个周一等)。
-
通过 objectName 和 fieldName(以及可选 typeName 和 typeValue)输入,确定代表工作流的特定 Vlocity 状态模型版本。
-
通过 fromState 和 toState 输入,确定该工作流中(即上一步的 Vlocity 状态模型版本中)的特定 Vlocity 状态转换。计划输入提供了有关运行 Salesforce 计划作业的频率和时间的信息,该作业将执行从“fromState”到“toState”的自动状态转换。每次计划作业运行时,它会执行以下操作:
-
检索最多 5 个由“objectName”代表的类型实例,其中“fieldName”代表的字段值 = “fromState”代表的值。这将确保仅选择当前处于“fromState”代表状态的对象实例来执行迁移。
-
对于指定的 Vlocity 状态转换,将执行所有配置的 Vlocity 状态转换规则(由上述步骤 2 确定)。
-
如果规则执行的总体结果(由 Vlocity 状态转换上设置的转换完成标准控制)为真,例如通过的规则执行,则对象实例的状态将更新为状态,并由“toState”表示。
-
如果规则执行的总体结果为假,即规则执行失败,则对象实例的状态将更新为在 Vlocity 状态转换中配置的备用状态(如果存在)。
-
如果对象实例的状态被更新到新状态(“toState”或指定迁移的备用状态),则执行为该状态配置的相应 Vlocity 操作(即 Vlocity 操作中的“To State”字段)。
-
状态更新为“toState”的对象实例的数量在“noOfUpdatedRecords”中返回。“noOfUpdatedRecordsToAlternateStates”中返回状态更新为“备用”状态的对象实例的数量。
-
如果未执行转换,对象实例仍保留在“fromState”中。
-
输入
输入 |
描述 |
|---|---|
|
必需。 对象 API 名称 |
|
必需。 托管州值的字段 API 名称。 |
|
必需。 状态转换的自州(来源)字段值。 |
|
必需。 状态转换的州(目标)字段值。 |
|
可选。
|
|
可选。
备注
例如,对于 typeName = 'Type__c' 和 typeValue = 'Individual Provider',将使用为 Application__c 对象配置的特定 Vlocity 状态模型。 |
|
包含 |
|
必需。 字符串值
|
|
格式:HH:MM,军事时间。 如果 |
|
字符串值。 可接受的值: 天数也可以用数字表示,从 1 到 7,其中,周日 = 如果 |
输入 JSON
以下是输入 JSON 的示例,其计划模式是每周一 13:30:
{
"objectName":"prefix__Application__c",
"fieldName":"prefix__Status__c",
"fromState":"New",
"toState":"Submitted",
"schedule":{
"pattern":"WEEKLY",
"startTime":"13:30",
"dayOfTheWeek":"MON"
}
}输出 JSON
输出 JSON 显示更新的记录数量(最多 5 个),并列出任何异常。
{
"noOfRecordsForProcessing": <Number of records for processing from a search, max=5>,
"noOfUpdatedRecords": <Number of records that have successful 'from state' to 'to state' transition>,
"noOfUpdatedRecordsToAlternateStates": <Number of records that have successful 'from state' to 'alternate state' transition>,
"errors":<Consolidated error mapping between record ID and error detail. This is null when there's no error.>
}