如今,人們建立的流程需要數十甚至數百個步驟。 然而,如果你試圖將所有這些動作集中在 一個 流程中,可能會很難導航並維持這個流程。
利用子流程輕鬆管理流程,避免有數百步的流程。 這種方法特別適合在雲端流程的多個位置重複使用任務,甚至跨多個流程重複使用。
這裡有一個範例,你有一個子流程,想根據聯絡人的名稱在 Dataverse 中建立或更新該聯絡人。
你需要一個有兩個流程的解。
- 子流程:此流程嵌套在 父 流程中,包含你想執行的較小任務。 你可以在父流程中放置多個子流程。
- 父流程:此流程可有任意類型的觸發條件,並呼叫子流程。
Important
子流程不會繼承父流程的 流程群組的授權容量。 若要使用相同的共享容量,明確將父流與子流都加入同一個流組。 每筆流量分別計入25流量限制。
在解決方案中建立子流程
在導覽面板中,選擇 解決方案,然後選擇現有解決方案。
或者,如果你不想使用現有的解決方案,也可以自行建立解決方案。
選取新增>自動化>雲端流程>即時。
「 建造即時雲流 」畫面出現。
輸入你的流程名稱,方便日後辨識。
選擇 手動觸發流程 觸發器。
選取 ,創建。
選取新增輸入。
你定義的輸入會從父流程傳給子流程。
在這個範例中,子流程建立了一個聯絡人,因此需要聯絡 人名稱 和 聯絡人電子郵件的輸入欄位。 手動觸發流程卡時,新增一個 ContactName 和一個 ContactEmail 輸入。
建立你想讓子流程運行的邏輯。 這個邏輯可以包含你需要的多個步驟。
步驟結束後,你需要將資料回傳給父流程。 在這種情況下,你可以使用以下其中一個動作。
- 回應 Power App 或流程(在 Power Apps 連接器下)。
- 回應 (在高級 HTTP 請求/回應連接器上)。
就像觸發器一樣,你可以定義任意多的輸出,讓子流程回傳到父流程。 在以下截圖中,子流程會回應聯絡人的 ID。
接著你需要測試你的子流程。 你可以手動觸發即時流程,這樣就能直接在設計師裡測試。 試試看幾個不同的輸入,確認輸出是否符合你的預期。
最後,如果你的流程使用了非內建動作或 Microsoft Dataverse 連接器,你需要更新流程以使用流程中嵌入的連結。 要做到這點,請前往子流程的屬性頁面,然後在「只執行使用者」圖塊中選擇編輯。
在出現的面板中,對於流程中使用的每個連線,選擇 「使用此連線(<連線名稱>) 」而非 「由執行使用者提供」。
選取 [儲存]。
Note
目前,你無法將父流程的連線傳遞到子流程。 如果你不這麼做,會收到錯誤訊息,說該名稱不能用作子工作流程,因為子工作流程只支援嵌入式連線。
在解決方案中建立父流程
在你建立子流程的同一個解決方案中建立父流程。
或者,你也可以將現有的流程引入該解決方案。 父流可以有任何類型的觸發條件。
找出你想從父 流 中呼喚子流的位置。 接著,新增「執行子流程」動作,該動作位於內建分頁的 Flows 連接器下方。
選擇你之前建立的子流程。
Note
你只看到你能存取且位於解中的流程。 子流程也必須手動 觸發流程 觸發器。
選擇子流程後,你會看到子流程中定義的 輸入 。 在子流程動作之後,你可以使用該子流程的任何 輸出 。
當父流程運行時,會等待子流程完成,等待該流程的整個生命週期(使用內建連接與 Dataverse 的流程為一年,其他流程為 30 天)。
儲存並測試這個流程。
當你匯出包含這兩個流程的解決方案並匯入其他環境時,新的父流程和子流程會自動連結。 不需要更新網址。
已知問題
你應該在同一個解法中直接建立父流程和所有子流程。 如果你將流程匯入解決方案,可能會得到意想不到的結果。