觸發校驗
簡介
當「智慧助手 Pro」的設定不符合預設要求時,將觸發相關校驗。
循環校驗
校驗邏輯:「智慧助手 Pro」支援成環配置(包括:自循環、鏈循環),但為避免無限循環,會在執行一次「智慧助手 Pro」後自動中斷,不會進入下一次循環,且不作為執行失敗的情況進行通知。
自循環
在單個「智慧助手 Pro」的配置中,若執行動作中包含了與觸發動作相同的動作,會形成自循環。
1. 範例說明
在下圖所示的「智慧助手 Pro」配置中,觸發動作為「新增 A 表資料」,而執行動作中也包含了「新增 A 表資料」,導致了自循環的發生。即:
- 新增 A 表資料後,觸發「智慧助手 Pro」;
- 執行新增 A 表資料動作,再次觸發「智慧助手 Pro」;
- 執行新增 A 表資料動作,再次觸發「智慧助手 Pro」;
- 無限循環……
2. 預期效果
為了避免無限循環的發生,當前「智慧助手 Pro」觸發後,會在完整執行一次循環(即,觸發後執行查詢單筆資料和新增 A 表資料動作)後自動中斷,不再進行下一次觸發。
鏈循環
在多個「智慧助手 Pro」的配置中,當「前一個智慧助手 Pro 的執行動作」中包含了與「後一個智慧助手 Pro 的觸發動作」相同的動作時,會形成觸發鏈路,觸發可以在鏈路中進行傳遞。
則,在觸發鏈路中,當「最後一個智慧助手 Pro 的執行動作」中包含了與「第一個智慧助手 Pro 的觸發動作」相一致的動作時,會形成鏈循環。
1. 範例說明
如下「智慧助手 Pro」配置中,形成了「Pro1 > Pro2 > Pro3」的觸發鏈路:
- 智慧助手Pro 1:「A 表新增資料」時觸發,執行動作中包含了「 新增 B 表資料」;
- 智慧助手Pro 2:「B 表新增資料」時觸發,執行動作中包含了「 新增 C 表資料」;
- 智慧助手Pro 3:「C 表新增資料」時觸發,執行動作中包含了「 新增 A 表資料」。
且「智慧助手Pro3」的執行動作中包含了與「智慧助手 Pro 1」觸發動作一致的動作,導致了鏈循環的發生。即:
- Pro 1 觸發 Pro 2,Pro 2 觸發 Pro 3;
- Pro 3 再次觸發 Pro1,則 Pro1 觸發 Pro 2,Pro 2 觸發 Pro 3;
- Pro 3 再次觸發 Pro1,則 Pro1 觸發 Pro 2,Pro 2 觸發 Pro 3;
- 無限循環……
2. 預期效果
為了避免無限循環的發生,當第一個「智慧助手 Pro」觸發後,會在完整執行一次鏈路(即,Pro 1 觸發 Pro 2,Pro 2 觸發 Pro 3 )後自動中斷,不再進行下一次觸發。
層級嵌套
校驗邏輯:「智慧助手Pro」不限制配置時的嵌套層級,但最多支援執行十層。執行時會進行層級校驗,當超過十層時,會立即中斷執行。
範例說明
在如下「智慧助手 Pro」配置中,形成了「Pro 1 > Pro 2 > Pro 3」的觸發鏈路。其中,Pro 1 觸發 Pro 2,Pro 2 觸發 Pro 3,形成兩層嵌套。
- 智慧助手 Pro 1:「A 表新增資料」時觸發,執行動作中包含了「 新增 B 表資料」;
- 智慧助手 Pro 2:「B 表新增資料」時觸發,執行動作中包含了「 新增 C 表資料」;
- 智慧助手 Pro 3:「C 表新增資料」時觸發,執行動作中包含了「 新增 D 表資料」。
預期效果
同理,在觸發鏈路「Pro 1 > Pro 2 > Pro 3 > Pro 4 > Pro 5 > Pro 6 > Pro 7 > Pro 8 > Pro 9 > Pro 10 > Pro 11 > Pro 12」中,形成了 11 層嵌套。則執行時,會在觸發完 Pro 11(第十層)後自動中斷,並報錯。
注意事項
1. 「智慧助手 Pro」與「智慧助手」間不會互相觸發。如,「智慧助手Pro」執行了「新增 A 表資料」操作後,不會聯動觸發「觸發動作為新增 A 表資料」的「智慧助手」;反之,同理。
2. 以觸發鏈路「Pro1 > Pro2 」為例,說明如下特殊情況:
- 當 Pro 1 觸發 Pro 2 的執行動作是新增資料,則新增一或多筆資料均可觸發 Pro 2;
- 當 Pro 1 觸發 Pro 2 的執行動作是修改資料,只有修改一筆資料時,纔會觸發 Pro 2,修改多筆資料是不會觸發 Pro2 的。