您位於此處:
InsScheduledAutomatedTransitionService:scheduleAutomatedTransition
使用此服務可透過使用每小時、每日或每週模式,排程物件狀態轉換,從來源狀態到目標狀態 (Vlocity 狀態),以自動化狀態轉換。
類別:InsScheduledAutomatedTransitionService
方法:scheduleAutomatedTransition
運作方式
此轉換適用於「Vlocity 狀態模型」工作流程。不支援複雜的排程模式 (每隔兩天、每個月的第一個星期一等)。
-
透過 objectName 和 fieldName (以及選用的 typeName 和 typeValue) 輸入,會決定代表工作流程的特定 Vlocity 狀態模型版本。
-
透過 fromState 和 toState 輸入,會決定該工作流程內的特定「Vlocity 狀態轉換」,亦即先前步驟的「Vlocity 狀態模型版本」內。排程輸入提供關於從「州/省」到「州/省」執行自動狀態轉換的 Salesforce 排程工作執行頻率和時間的資訊。每次排程工作執行時,都會執行下列動作:
-
「objectName」所代表類型,其中「fieldName」所代表欄位的值 = 由 'fromState' 所代表的值。這可確保只會挑選目前處於「fromState」所代表狀態的物件例項來執行轉換。
-
系統會為指定的「Vlocity 狀態轉換」(如以上的步驟 2 所決定) 執行所有設定的「Vlocity 狀態轉換」規則。
-
如果規則執行的整體結果 (由「Vlocity 狀態轉換」上設定的「轉換完成條件」所管理) 為 true,例如經過的規則執行,則物件例項的狀態會更新為狀態,並由 'toState' 表示。
-
如果規則執行的整體結果為 false,也就是規則執行失敗,則物件例項的狀態會更新為在「Vlocity 狀態轉換」中設定的「替代」狀態 (若存在)。
-
如果物件例項的狀態更新為新狀態 (「toState」或指定轉換的「替代」狀態),則會執行針對該狀態設定的對應「Vlocity 動作」(亦即「Vlocity 動作」中的「為州/省」欄位)。
-
狀態已更新為「toState」的物件例項數目會在「noOfUpdatedRecords」中傳回。狀態已更新為「替代」狀態的物件例項數目會在 'noOfUpdatedRecordsToAlternateStates' 中傳回。
-
如果未執行轉換,則物件例項會保留在「fromState」中。
-
輸入
輸入 |
描述 |
|---|---|
|
必要。 物件 API 名稱 |
|
必要。 主控狀態值的欄位 API 名稱。 |
|
必要。 從狀態 (來源) 轉換的欄位值。 |
|
必要。 狀態轉換的「狀態 (目標)」欄位值。 |
|
選擇性。
|
|
選擇性。
備註
例如,使用 typeName = 'Type__c' 和 typeValue = '個人提供者」時,會使用針對 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 會顯示更新的記錄數目 (最多五個),並列出任何例外狀況。
{
"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.>
}