跳至主要内容

工作流節點--獲取多條數據


節點功能: 通過此節點可以獲取多行數據(錶中的多行記錄/或數組中的多行數據),然後可以對這些記錄進行批量修改,或者將這些多行數據批量新增到其他錶中,也可以傳遞給子流程依次處理,支持獲取前XXX行數據。

獲取多條數據的7種方式

  • 1、查詢並批量更新

    從工作錶查詢多條記錄,查詢到數據後進行批量更新,最多支持更新1000行。若查詢結果超過1000行,按排序隻更新前1000行。

    更新後,這些數據還可以被後麵的節點使用,後麵節點使用的內容是查詢時的記錄以及這些記錄更新後的數據。 如果被後麵節點使用,這個節點最多支持100行。

  • 2、查詢並批量刪除

    從工作錶查詢多條記錄,查詢到數據後批量刪除,最多支持刪除1000行。若查詢結果超過1000行,按排序隻刪除前1000行。

    刪除記錄時,支持直接徹底刪除,不進入迴收站。(無法恢復)

  • 3、查詢工作錶

    從工作錶中獲取多條記錄,獲取後,可以被後麵的節點使用。

    • 如果被新增節點、更新節點、刪除節點、代碼塊節點使用,最多處理100行數據,超過100行將中止流程。

    • 如果傳遞給子流程,則可處理10000行。

  • 4、獲取關聯記錄

    從一條記錄中獲取他所關聯的多條記錄,此方式最多獲取1000條關聯記錄,如果需要獲取超過1000條的關聯記錄,請使用“查詢工作錶”的方式。

  • 5、獲取批量新增結果

    • 新增記錄節點支持批量新增,因此可以再次從批量新增的多條記錄中再獲取一次多行數據。
  • 6、獲取操作明細

    • 可以獲取某個審批/填寫節點的操作數據。 操作人員、時間、意見、簽名等。這個方式獲取的不是錶記錄,而是JSON數組,類似的多行數據。
  • 7、獲取數組對象

    • 代碼塊、發送API請求和封裝業務流程等節點可以輸齣一個對象數組,通過此節點可以接收轉化為內部多行數據結構。

    • 封裝業務流程的輸入參數也可能是對象數組,在PBP中通過此節點可以接收轉化為內部多行數據結構。

限製獲取的數量

根據排序規則和查詢條件,支持僅獲取前XX行的記錄。

  • 被“新增節點”、“更新節點”、“刪除節點” 批量操作使用時,最多處理100條(建議設置最多獲取100條);超過100條時,請使用子流程處理。

  • 傳給“子流程”處理時,最多處理1萬條(建議設置最多獲取1萬條)

當超過100或1萬條時,流程將中止,並提示“批數據源數量超過節點處理上限”, 如下圖:

獲取結果是否保存

在使用此節點的獲取結果時,有兩種類型:

  • 類型1、直接獲取

    流程到達此節點時,直接計算,保留計算結果,供後續節點使用。後續所有節點使用的獲取結果時一樣的。

  • 類型2、每次使用時動態獲取

    流程到達獲取節點時先不執行獲取操作,等到執行到後續使用獲取結果的節點時重新計算, 不同節點使用的獲取結果可能不同。

舉例: 如下圖的流程配置

  • 如果采用的是類型1,那麼流程是正常的,刪除後,還可以繼續將備份錶寫入數據。因為獲取作廢任務數據已經保存瞭。

  • 如果采用的是類型2,那麼刪除後,新增節點又重新獲取瞭作廢記錄,但是已經被刪除瞭,就沒有獲取到,導緻最終不會寫入到備份錶。

場景舉例

《項目》和《任務》是有關聯關係的兩張錶,一個項目可以關聯多個任務。當完成項目並將狀態標記為“已完成”,批量獲取到關聯的任務,然後將這些任務也修改為“已完成”。

1、創建工作錶事件觸發的工作流

  • 工作錶選擇《項目》錶

  • 觸發方式選擇 “僅更新記錄”時觸發,指定項目狀態為觸發字段

  • 篩選條件設置項目狀態 =已結束。

    • 這樣篩選的效果是,僅僅更新項目狀態時,且更新的狀態為 已結束,纔會觸發流程,避免浪費資源。

2、添加“獲取多條數據”節點

並選擇第二個方式:從記錄獲取關聯記錄

3、配置“獲取多條數據”節點

  • A:選擇節點對象

    • 即從哪條記錄中獲得它關聯的記錄,這裏我們選擇的是觸發流程的那條記錄。
  • B:選擇關聯類型的字段

    • 選擇一個關聯錶字段,這個關聯必須是多條類型的。因為一個錶可能關聯多個他錶字段,所以要選擇一個關聯字段,我們選擇 “任務”這個關聯字段
  • C:篩選條件

    • 對所關聯的記錄進行篩選,隻獲取需要的記錄。例如,項目中關聯瞭3條,但是呢,有的記錄已經完成瞭,那就不需要再獲取到瞭,直接排除即可。
  • D:排序規則

    • 設定一個排序規則,按此規則排序後返迴記錄列錶。
  • E:限製數量

    • 可以設定最多獲取N行數據,N可以是手動寫入的固定值,也可以選擇一個數值字段。例如查詢時,滿足條件的記錄有200條,但是我們隻需刪除60條,就可以設定最多獲取60條。如果不設定數量,獲取批量數據節點最多隻能獲取到100行,如果傳給子流程用,最多獲取1萬行。

    • 如果被新增記錄、更新記錄、刪除記錄、代碼塊等4個節點使用時,建議設定最多獲取100條,避免報錯。

    • 如果需要傳給子流程,建議設置最多1萬條,避免報錯。

    • 多條傳給封裝業務流程

      具體限製點此查看

保存節點設置

4、批量更新數據

更新的對象: 選擇第2個節點獲得的多條記錄

更新字段: 選擇狀態=已完成。

4、發布流程。

5、測試。


文檔問題反饋

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