使用流程取代傳統 Common Data Service 工作流程

本主題會將 Power Automate 功能與傳統工作流程做比較。

Power Automate 對於傳統背景工作流程模型有顯著優勢;您應該考慮使用 Power Automate 來自動化您的程序,而不是使用傳統工作流程。

建立流程,而不是傳統 Common Data Service 工作流程,以建置新的自動化程序。 此外,您應該檢閱現有的傳統背景工作流程處理,並考慮以流程來取代。

功能比較

下表摘要說明 Power Automate 和傳統工作流程功能之間的比較。

我們會持續在 Power Automate 中加入新功能。當 Power Automate 增加功能時,我們會更新此表格中的資訊,請經常回來檢查!有關即將推出的有助於用流程取代傳統背景工作流程的功能,如需詳細資訊,請參閱 Power Automate 的新功能和新計劃

功能 Power Automate 傳統工作流程
建立模型 條件分支
迴圈 No
欄位上的等候條件 .是
平行分支 .是
外部系統的現成連接器 (在外部服務中觸發和執行動作) No
組合 動態內容
事件資料前置影像的存取權 No
執行子工作流程 .是 .是
執行 Common Data Service 動作 (包括自訂) .是 .是
執行自訂背景工作流程活動 .是
建立步驟群組以在交易中執行 是 (變更集) No
核准工作流程 No
執行 欄位變更時觸發
依欄位值的條件式觸發 (例如,日期欄位中的特定日期) No No
在發生多個 Common Data Service 實體事件時觸發
視需要執行
執行身分範圍
(例如,組織、業務單位、使用者)
依排程執行 No
同步執行 (即時) No
歷程記錄 稽核
執行分析 No
撰寫與可攜性 解決方案支援
新式設計工具
AI 輔助撰寫 .是

範例案例:使用雲端流程取代背景工作流程

假設有一個銷售案例,您已經整理出客戶的報價,現在必須在傳送報價給客戶之前,向您的管理團隊請求核准。 若使用傳統工作流程,這不是容易執行的作業,而且大部分的解決方案都需要開發人員撰寫自訂背景工作流程活動來取得報價明細。

若使用流程,可以更輕鬆地進行組建此案例,如稍後逐步解說所示,解說中將包括一些 Power Automate 的功能。 這些功能包括:

  • 建立視需要執行的雲端流程。
  • 取得與 Dataverse 實體相關的記錄清單。
  • 對記錄清單執行迴圈。
  • 傳送核准要求。

允許銷售人員視需要觸發核准要求:

  1. 登入 Power Automate在解決方案中建立雲端流程

  2. 從觸發程序清單中,選取 Common Data Service (目前的環境) – 選取記錄時,然後選取 報價 做為實體。

    此觸發程序可讓雲端流程視需要在一個記錄或一組記錄上執行。

  3. 設定觸發程序之後,新增要在流程中執行的動作。 這會為核准者提供識別報價項目及值所需的摘要詳細資料。 從新增 Common Data Service (目前環境) – 清單記錄 動作開始。 目標是要從報價取得個別項目,因此請將 實體名稱 設定為 報價明細。 為了確保清單僅包含屬於觸發流程之報價的報價明細,我們指定 OData 樣式篩選準則。 在 篩選查詢 欄位中,輸入 _quoteid_value eq,然後從出現的動態值清單中選取 報價

    如何新增動作的螢幕截圖。

  4. 因為我們想摘要報價的明細項目,用來取得核准,所以新增 初始化變數 動作。 將 名稱 欄位設定為 報價明細項目摘要類型字串 (下拉式清單內),並將 欄位保留空白。

  5. 新增 附加至字串變數 動作,然後選取我們稍早建立的 報價明細摘要 變數。 在欄位 ,從動態值清單中選取 數量名稱每單位價格應收金額手動折扣。 Power Automate 設計工具會識別出這些值是來自報價明細清單的,並將此動作新增至 套用到每個 迴圈中,以確保每個明細的資訊都會新增至此摘要中。

    選取值的螢幕截圖。

  6. 若要要求核准我們已建立的報價摘要,請新增 核准 - 開始並等待核准 動作。 選取 核准類型 (例如,核准/拒絕 – 初步回應),提供核准要求的 標題 (例如,目前要求核准的報價名稱,可從動態值清單選取),以及把必須檢閱核准報價的人員的電子郵件,輸入到 指派給 欄位中。 在 詳細資料 欄位中,新增 報價明細摘要 變數,以及其他可能與動態值選擇器相關的資訊 (例如,總金額)。

  7. 若要判斷接受或拒絕核准之後會發生什麼事,請新增 條件 動作。 從條件中的第一個欄位,選取動態值清單內的 結果,在第二個欄位中,從下拉式清單中選取 包含,然後在條件的第三個欄位中輸入 核准。 最後,新增以核准結果為基礎的動作 (例如,傳送通知電子郵件)。

    條件動作的螢幕擷取畫面。

我們現在已經建立核准結構,因此核准者會有在後續步驟中作決定所需的所有資訊。 以下是完整範例:

核准流程結構的螢幕擷取畫面

當您對您的報價執行此流程時,它會摘要顯示該報價的報價明細,並傳送核准者可以從 Power Automate 回應的要求,或傳送他們可採取動作的電子郵件。 以下是這個展示的範例:

動作中流程的螢幕擷取畫面。

  • 使用複雜 else-if 條件式邏輯的工作流程

    我們建議改為使用 切換動作 ,而不是使用條件。

  • 從外掛程式/程式碼執行的工作流程

    我們建議您重新設計流程,以觸發程序開始:

    • 使用 Common Data Service 觸發程序,來執行以其中事件為基礎的流程。

    • 若要執行以外部服務中事件為基礎的流程,有超過 260 個的現成連接器可利用。

    • 若在某些案例中,您需要的連接器沒有現成的,您可以輕鬆地建立自訂連接器。 詳細資訊:從頭開始建立自訂連接器

    • 最後,如果一些案案例中您無法使用 Common Data Service 連接器、任一現成連接器、或建立自訂連接器來觸發您的流程,請利用收到 HTTP 要求時的觸發程序 叫用流程。

  • 以遞迴方式執行的工作流程

    在流程中,請改為使用 do-until套用到每個進行迴圈。

  • 需要資料列清單的工作流程

    使用 清單記錄 動作。 使用此動作時,請使用 OData 語法來定義資料列篩選準則,藉由將您要擷取的資料列數目減至最少來將動作最佳化。

  • 睡眠並依排程執行的工作流程

    使用 週期 觸發程序,依週期性間隔執行商務邏輯。

  • 執行受管理的工作流程,以確保活動是以在單一交易中執行

    使用變更集動作來確保其中的動作都是以單次且不可部分完成的方式執行,這種方式不是全部成功,就會以群組方式失敗。 如果變更集中的任何一個動作失敗,則系統會回復已完成作業所做的變更。

  • 監視背景工作流程執行是否發生失敗

    在 Power Automate 中,在動作上使用 事後執行設定,將其設定成在上一個動作失敗時執行。 例如,當 更新記錄 動作失敗或逾時時,傳送 Power Automate 行動通知。

常見問題集

  • 我有 Dynamics 365 授權。可以使用 Power Automate 嗎?

    每個 Dynamics 365 使用者都有權使用 Power Automate。 檢閱我們的授權資訊。

  • 我的流程可以多頻繁地觸發?

    Dynamics 365 (或 Common Data Service) 流程會在觸發後,以近即時執行,因為它們使用 Webhook (不需要輪詢)。

    • 和直接 API 存取一樣,系統中有節流/限制。 中更多資訊:Power Automate 的限制與設定
    • 尤其,每個流量每 5 分鐘限制最多 100,000 個動作。 雲端流程中的單一迴圈一次無法處理超過 100,000 個項目。
    • 每 5 分鐘有 6GB 的輸送量上限。
  • 單一流程可以執行多久?

    單一流程的執行會在 30 天後逾時。

  • 如何在環境之間移動我的流程?

    就像傳統工作流程,您可以在解決方案中建立流程,以支援程序的完整應用程式生命週期。

  • 系統是否會在 Common Data Service 中追蹤 Power Automate 相依性?

    與解決方案中其他元件類似,在 Common Data Service 中,系統會追蹤解決方案中流程的所有相依性。

  • 那麼同步工作流程呢?

    已知的意見反應指出,同步工作流程是造成終端使用者效能問題的主要原因。 建議評估是否可以使用一個雲端流程來組建您的目標或部分背景工作流程。 如果您可將動作分割為非同步,使用者就可以在 Power Automate 完成動作時繼續其活動。

  • 若使用 Power Automate,我的資料是否會留在區域內 (也就是與我的 Dynamics 365 或 Common Data Service 環境相同的區域)?

    是的,Power Automate 一律使用與 Common Data Service 相同的區域。

  • 我是否需要進行 Proxy/防火牆變更?

    請參閱 IP 位址設定參考,以判斷是否需要進行任何 Proxy/防火牆變更。