跳至主要内容

節點 - 子流程


範例

  • 對於同一個資料表,相同的業務邏輯會以不同的方式觸發。 例如報銷審核流程,新增記錄時觸發審核流程,也可以先儲存為草稿,稍後點選按鈕觸發審核流程。雖然觸發方式不同,但是審核流程(由誰審核)是一樣的,所以你可以把啟動的審核流程看成是一個子流程,一個通用流程,無論是添加記錄觸發還是點擊按鈕觸發,你可以直接調用子流程並啟動審核流程。
  • 當批次處理的資料超過100條時,選擇子流程。 當需要批次處理的資料過多(超過100條)時,可以選擇子流程,最多可以批次處理10000行資料。
  • 批次處理資料時,需要根據資料的內容走不同的分支。 從外部獲取到50筆資料,有的資料沒有存在工作表,需要新增,有的資料已經存在,只需要更新。此時不能直接使用更新節點批次更新,而是將多筆資料傳給子流程,在子流程中先查找是否存在,然後進行新增或更新的處理。

傳遞到子流程的資料可以是單筆資料、多筆資料或多行資料(Wehook、程式碼區塊陣列、手動節點的操作細節)。

一、範例

1. 範例1:可重複使用流程如何作為子流程被複用

新增資料時觸發審核流程,點擊按鈕時也觸發審核流程,如何設定子流程。

  1. 新增資料觸發工作流時,只需設定觸發節點,然後新增子流程節點即可。

    A:選擇將哪個節點物件記錄的資料傳遞給子流程。

    B:點選【儲存】按鈕後,會自動產生子流程。

    C:如果勾選,則子流程執行完畢後才會執行後續節點(發送站內通知);如果不勾選,子流程和後續節點會同時執行,子流程的執行結果不會對目前流程產生任何影響。

  2. 進入子流程

  3. 設定子流程

    在子流程中設定審核流程,最後發佈流程。

  4. 自定義動作的流程,如何引用已經建好的流程。

    點選按鈕觸發流程後,新增子流程節點,並選擇現有的子流程。

注意事項 

  • 選擇子流程時,  只能選擇  【子流程】類型,  不能選擇  工作表時間觸發、按日期欄位觸發、定時觸發、Webhook觸發和自定義按鈕觸發的流程。
  • 子流程不能獨立創建,只能在主流程中創建和使用。
  • 工作流消耗:依照範例流程設定,主流程執行一次,子流程執行一次,總共消耗兩次。

2. 範例2:批次處理資料

當專案狀態更新為「已完成」時,與該專案關聯的任務將自動標記為「已完成」。

當取得的任務少於100個時,可以直接在目前流程中處理(新增【更新記錄】節點)。

但如果取得的任務大於100且小於10000,則需要新增子流程批次更新任務狀態。設定如下:

A:選擇將哪個節點的資料傳遞給子流程:這裡選擇【取得多筆資料】節點。

B:由於是批次處理資料,可能需要設定執行順序。 

執行方法

  • 並行: 如果這些資料是各自處理各自的內容,則並行即可,當前示例就可以選擇並行。
  • 逐條執行,中止時不再觸發後續子流程: 多筆資料物件將依次執行流程。每條子流程需要等前一條子流程通過後再開始觸發;如果某條子流程運行中止,則後續的子流程都不再觸發,直接執行子流程節點的後續節點。
  • 逐條執行,中止時繼續下一條: 如果某條子流程運行中止,則跳過該條繼續執行下一條子流程

子流程設定如下:

子流程處理邏輯:

例如主流程傳遞500筆資料,每筆資料觸發一個子流程。如果為每筆資料更新「任務狀態」欄位,則子流程執行 500 次,總共 501 次(1 個主流程和 500 個子流程)。


文檔問題反饋

文檔中是否有錯字、內容過期、難以理解等問題? 點此給我們反饋吧