跳至主要内容

工作流節點--子流程節點


使用子流程的場景

  • 同一數據錶,通過不同方式觸發相同業務邏輯

    例如,一個報銷審批流程,新增記錄時觸發審批流,也可以先保存為草稿,後麵再點擊按鈕觸發審批流程。雖然觸發方式不同,但是審批流程(都誰審批)相同的,因此可以將開始審批的流程作為子流程,當作通用流程,無論是新增記錄還是點擊按鈕觸發,都可以直接調用子流程,開始審批。

  • 批量處理數據超過100條時,使用子流程

    當流程中需要處理的批量數據太多(超過100條),則可以通過子流程處理,子流程可批量處理的數據量為100萬行以內。

  • 批量處理數據時,需要根據數據內容走不同的分支邏輯

    從外部獲取到50條數據,有的數據工作錶裏沒有需要新增,有的數據已經存在隻需要更新。此時不能直接使用更新節點批量更新,而是將多條數據傳給子流程,在子流程中先查找是否存在,然後進行新增或更新的處理。

傳給子流程的數據可以是單條記錄,也可以多條錶記錄或多行數據(Wehook、代碼塊的數組,人工節點的操作詳情)

場景舉例

示例一:可重復使用的流程如何作為子流程被復用  

新增記錄時觸發審批流程,點擊按鈕時也觸發審批流程,如何配置子流程。

  • 1、新增記錄時,隻需配置觸發器節點,第二個節點即可直接添加一個子流程 

    A: 選擇 將哪個節點對象記錄的數據 傳給 子流程

    B:點擊下方的 保存按鈕後,會自動生成一個 子流程。

    C:如果勾選, 那麼會等待子流程執行完畢後,纔會執行後麵的節點(發送站內通知);如果不勾選, 那麼子流程和後續的節點同時進行,子流程的執行結果對當前流程沒有任何影響瞭。

  • 2、進入子流程

  • 3、配置子流程 

    將審批的全流程配置在子流程中, 最後發布流程。

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

    在按鈕點擊觸發後,直接添加子流程節點,選擇 已有的子流程 即可。

Tips 

  • 選擇子流程時,  隻能選擇  【子流程】類型,  不能選擇  工作錶時間觸發、按日期字段觸發、定時觸發、Webhook觸發和自定義按鈕觸發的流程。

  • 子流程不能獨立創建,而在主流程中纔能創建並使用

  • 工作流消耗次數: 根據示例的流程配置,主流程執行1次,子流程執行1次 ,共消耗2次。

示例二 、批量數據處理  

每天定時清理某個中間錶數據,獲取錶中數據後進行刪除。但是如果獲取到的記錄大於1000時,無法通過"查詢並批量刪除”節點刪除(最大支持1000行)。 此場景需通過子流程逐條刪除。如下圖:在獲取批量數據後,傳遞給子流程執行。

選擇數據對象 

選擇將哪個節點的數據傳給子流程,這裏我們選擇的是獲取多條數據節點。

最大數據上限

當多條數據元是工作錶數據時,會有此配置。

勾選"獲取工作錶所有記錄"後,最大支持獲取100萬行數據。也可以自定義獲取記錄的上限,默認5萬。

如果數據源不是工作錶,如來說代碼塊、PBP、發送API請求節點的數組數據,最大接收處理1萬行。

多條數據執行執行方式

  • 並行:  如果這些記錄是各自處理各自的內容,則並行即可,當前示例就可以選擇並行。

  • 逐條執行,中止時不再觸發後續子流程: 多個數據對象將依次執行流程。每條子流程需要等前一條子流程通過後再開始觸發;如果某條子流程運行中止,則後續的子流程都不再觸發,直接執行子流程節點的後續節點。

  • 逐條執行,中止時繼續下一條: 如果某條子流程運行中止,則跳過該條繼續執行下一條子流程

子流程的配置如下:

子流程處理邏輯:

例如,主流程傳過來瞭500條記錄, 每條記錄都會執行一遍子流程, 即每條記錄更新瞭自己的任務狀態字段,子流程也就執行瞭500次,消耗500條。 一共消耗501次流程(1條主流程+500子流程)


文檔問題反饋

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