節點 - 子流程
範例
- 對於同一個資料表,相同的業務邏輯會以不同的方式觸發。 例如報銷審核流程,新增記錄時觸發審核流程,也可以先儲存為草稿,稍後點選按鈕觸發審核流程。雖然觸發方式不同,但是審核流程(由誰審核)是一樣的,所以你可以把啟動的審核流程看成是一個子流程,一個通用流程,無論是添加記錄觸發還是點擊按鈕觸發,你可以直接調用子流程並啟動審核流程。
- 當批次處理的資料超過100條時,選擇子流程。 當需要批次處理的資料過多(超過100條)時,可以選擇子流程,最多可以批次處理10000行資料。
- 批次處理資料時,需要根據資料的內容走不同的分支。 從外部獲取到50筆資料,有的資料沒有存在工作表,需要新增,有的資料已經存在,只需要更新。此時不能直接使用更新節點批次更新,而是將多筆資料傳給子流程,在子流程中先查找是否存在,然後進行新增或更新的處理。
傳遞到子流程的資料可以是單筆資料、多筆資料或多行資料(Wehook、程式碼區塊陣列、手動節點的操作細節)。
一、範例
1. 範例1:可重複使用流程如何作為子流程被複用
新增資料時觸發審核流程,點擊按鈕時也觸發審核流程,如何設定子流程。
新增資料觸發工作流時,只需設定觸發節點,然後新增子流程節點即可。
A:選擇將哪個節點物件記錄的資料傳遞給子流程。
B:點選【儲存】按鈕後,會自動產生子流程。
C:如果勾選,則子流程執行完畢後才會執行後續節點(發送站內通知);如果不勾選,子流程和後續節點會同時執行,子流程的執行結果不會對目前流程產生任何影響。
進入子流程
設定子流程
在子流程中設定審核流程,最後發佈流程。
自定義動作的流程,如何引用已經建好的流程。
點選按鈕觸發流程後,新增子流程節點,並選擇現有的子流程。
注意事項
- 選擇子流程時, 只能選擇 【子流程】類型, 不能選擇 工作表時間觸發、按日期欄位觸發、定時觸發、Webhook觸發和自定義按鈕觸發的流程。
- 子流程不能獨立創建,只能在主流程中創建和使用。
- 工作流消耗:依照範例流程設定,主流程執行一次,子流程執行一次,總共消耗兩次。
2. 範例2:批次處理資料
當專案狀態更新為「已完成」時,與該專案關聯的任務將自動標記為「已完成」。
當取得的任務少於100個時,可以直接在目前流程中處理(新增【更新記錄】節點)。
但如果取得的任務大於100且小於10000,則需要新增子流程批次更新任務狀態。設定如下:
A:選擇將哪個節點的資料傳遞給子流程:這裡選擇【取得多筆資料】節點。
B:由於是批次處理資料,可能需要設定執行順序。
執行方法
- 並行: 如果這些資料是各自處理各自的內容,則並行即可,當前示例就可以選擇並行。
- 逐條執行,中止時不再觸發後續子流程: 多筆資料物件將依次執行流程。每條子流程需要等前一條子流程通過後再開始觸發;如果某條子流程運行中止,則後續的子流程都不再觸發,直接執行子流程節點的後續節點。
- 逐條執行,中止時繼續下一條: 如果某條子流程運行中止,則跳過該條繼續執行下一條子流程
子流程設定如下:
子流程處理邏輯:
例如主流程傳遞500筆資料,每筆資料觸發一個子流程。如果為每筆資料更新「任務狀態」欄位,則子流程執行 500 次,總共 501 次(1 個主流程和 500 個子流程)。
文檔問題反饋
文檔中是否有錯字、內容過期、難以理解等問題? 點此給我們反饋吧