共用方式為


建立表格的商務規則

您可以建立商務規則和建議,以套用邏輯和驗證,而不撰寫程式碼或建立外掛程式。商務規則提供一個簡單的介面,讓您實作與維護快速變更且常用的規則。

重要

如果在應用程式中使用資料表,則針對該資料表所定義的商務規則會同時套用至 畫布應用程式模型導向應用程式。 目前並非所有的商務規則動作都可在畫布應用程式上使用。 其他資訊:畫布與模型導向應用程式之間的差異

在模型導向應用程式中,並非所有商務規則動作都可用於可編輯的格線。 對於基於檢視頁面的表格,無法建立建議。 可編輯的子格線不支援商務規則。 商務規則不適用於其他類型的資料集控制項。

若要定義套用至模式導向應用程式中表單的商務規則,請參閱建立商務規則以在模型導向應用程式表單中套用邏輯

藉由結合條件和動作,您可以透過商務規則執行下列任何操作:

  • 設定資料行值
  • 清除資料行值
  • 設定資料行需求等級
  • 顯示或隱藏資料行
  • 啟用或停用資料行
  • 驗證資料並顯示錯誤訊息
  • 根據商務智慧建立商務建議。

畫布與模型導向應用程式之間的差異

模型導向應用程式中的表單可以使用商務規則提供的所有動作,但是目前並非所有的商務規則動作都適用於畫布應用程式。 下列動作無法在畫布應用程式上使用:

  • 顯示或隱藏資料行
  • 啟用或停用資料行
  • 根據商務智慧建立商務建議。

商務規則支援的資料行類型

商務規則適用於大多數資料行類型,包括文字、數字、選項、日期、查詢、負責人和影像。 但是,商務規則不適用於以下的資料行類型:

  • 選項 (多重選取)
  • 檔案
  • 語言

建立商務規則

  1. 在左瀏覽窗格中登入 Power Apps,然後選取資料表。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。

  2. 開啟您想要建立其商務規則的資料表 (例如,開啟客戶資料表),然後選取商務規則索引標籤。

  3. 選取新增商務規則

    商務規則設計工具視窗會隨即開啟,當中已為您建立單一條件。 每項規則都是從條件開始。 商務規則會根據該條件執行一個或多個動作。

    提示

    如果您要修改現有的商務規則,您必須停用它,才能修改它。

  4. 如果您想要,也可以在視窗左上角的 [描述] 方塊中新增描述。

  5. 根據下列條件設定範圍:

    如果您選取此項目... 範圍設定為...
    實體 模型導向應用程式表單和伺服器
    所有表單 模型導向應用程式表單
    特定表單 (例如客戶表單) 只要該模型導向應用程式表單

    提示

    如果您正在組建畫布應用程式,則必須使用資料表當做範圍。

  6. 新增條件。 若要新增更多條件至您的商務規則:

    1. 條件元件從元件索引標籤拖曳到設計師中的加號。

      在商務規則中新增條件。

    2. 若要設定條件的屬性,選取設計師視窗中的條件元件,然後在畫面右邊的屬性索引標籤中設定屬性。 設定屬性時,Microsoft Dataverse 會在屬性索引標籤的底部建立運算式。

    3. 若要新增其他子句 (AND 或 OR) 至條件,選取屬性索引標籤中的新增建立新規則,然後設定該規則的屬性。 在規則邏輯資料行中,您可以指定要將新規則新增為 AND 或 OR。

      將新規則新增至條件。

    4. 當您完成設定條件的屬性時,選取套用

  7. 新增動作。 若要新增動作:

    1. 元件索引標籤中拖曳其中一個動作元件至條件元件旁的加號。 如果您想要商務規則在條件符合時執行該動作,請將動作拖曳到勾號旁的加號,若拖曳到 x 旁的加號,則商務規則會在不符合條件時執行該動作。

      拖曳動作到商務規則。

    2. 若要設定動作的屬性,選取設計師視窗中的動作元件,然後在屬性索引標籤中設定屬性。

    3. 完成設定屬性時,選取套用

  8. 新增商務建議 (僅限模型導向應用程式)。 若要新增商務建議:

    1. 元件索引標籤中將建議元件拖曳至條件元件旁的加號。 如果您想要商務規則在條件符合時執行該動作,請將建議元件拖曳到勾號旁的加號,若拖曳到 x 旁的加號,則商務規則會在不符合條件時執行該動作。

    2. 若要設定建議的屬性,選取設計師視窗中的建議元件,然後在屬性索引標籤中設定屬性。

    3. 若要新增更多動作至建議,從元件索引標籤拖曳它們,然後在屬性索引標籤中設定每一個動作的屬性。

      注意

      建立建議時,Dataverse 預設會新增單一動作。 若要查看建議中的所有動作,選取建議元件上的詳細資料

    4. 完成設定屬性時,選取套用

  9. 若要驗證商務規則,選取動作列上的驗證

  10. 若要儲存商務規則,選取動作列上的儲存

  11. 若要啟用商務規則,請在 [方案總管] 視窗中選取它,然後選取啟用。 您無法從設計師視窗啟用商務規則。

    提示

    以下是要記住的幾個秘訣,當您在設計師視窗中處理商務規則時:

    • 若要拍攝商務規則視窗中所有內容的快照,選取動作列上的快照集。 這非常有用,例如,如果您想要從團隊成員共用並取得商務規則上的註解。
    • 使用迷你地圖快速瀏覽至程序的不同部分。 當您有複雜的程序且會捲動到畫面外時,這會非常有用。
    • 當您新增條件、動作和商務建議至商務規則時,Dataverse 會建立商務規則的程式碼,在設計師視窗的底部。 此程式碼為唯讀。

範例:為超過 30 天工作建立商務規則

此商務規則範例建立一個條件,當工作超過 30 天時觸發工作描述欄位中的消息。

  1. 登入 Power Apps,在左瀏覽窗格中選取資料表。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
  2. 開啟工作資料表,然後選取商務規則區域。
  3. 選取新增商務規則
  4. 在商務程式流程畫布上選取新增條件,然後輸入或選取下列屬性:
    • Display name工作超過 30 天
    • 實體工作
    • 規則 1
      • 來源實體
      • 欄位建立時間
      • 運算子+
      • 類型
      • 天數30
    • 條件運算式 (自動建立):(建立時間大於 [建立時間 + 30])
  5. 選取套用
  6. 選取新增>新增顯示錯誤訊息
  7. 顯示錯誤訊息屬性索引標籤中,輸入下列屬性:
    • 顯示名稱工作超過 30 天
    • 實體工作
    • 錯誤訊息
      • 欄位描述
      • 訊息此工作超過 30 天!
  8. 選取套用
  9. 選取儲存

當地語系化用於商務規則的錯誤訊息

如果您提供組織一個以上的語言,您會想要當地語系化您設定的任何錯誤訊息。 每當您設定訊息時,系統會產生標籤。 如果匯出組織中的翻譯,您可以加入訊息當地語系化版本,然後將這些標籤匯入回到 Dataverse,因此,使用基礎語言之外語言的人員可以檢視已翻譯的訊息。

一般問題

本節說明可能會在您使用商務規則時發生的常見問題。

複合屬性不支援與整合介面應用程式搭配使用

以整合介面為基礎的應用程式不支援使用複合屬性的動作或條件。 或者,您也可以對構成複合屬性的屬性使用動作或條件。 例如,您可以不使用全名 (fullname) 屬性,而改用名字 (firstname) 與 姓氏 (lastname) 屬性。

單一表格上的大量商務規則會影響效能

表格上新的或現有的商務規則在啟動規則時可能會導致效能下降。 Power Platform 現在對於單一表格最多支援 150 條商務規則。 若超過 150 條商務規則,可能會導致效能下降。 此限制同時包括用戶端 (JavaScript) 和伺服器端 (作為同步外掛程式產生的 XAML) 的商務規則。 為了避免使用 Dataverse 的效能問題,我們建議您不要在單一表格上建立超過 150 條商務規則。

您的商務規則是否未針對表單觸發?

商業規則可能不執行,因為商業規則中參照的欄位不包含在表單中。

  1. 開啟方案總管。 展開您想要的實體,然後選取表單

  2. 開啟您想要表單,然後選取表單設計師功能區上的商務規則

  3. 在表單設計師中,開啟商務規則。

  4. 在商務規則設計師中,選取每個條件和動作,以確認所有的欄位都已在每個條件和動作中參照到。

    商務規則參照的欄位存在於實體中。

  5. 確認商務規則中參照的每個欄位也包含在表單上。 如果沒有,請將缺少的欄位新增至表單。

    表單上的客戶名稱欄位。

DateOnly 資料行的 UTC 時區

當您使用 DateOnly 資料行設定商務規則時,預設情況下,日期會採用 UTC 時區,無論使用者設定的時區為何。 如果您希望 DateOnly 值與本地時間設定保持一致,這可能會導致意外結果。

建議處理: 時區獨立設定 - 若要使 DateOnly 資料行獨立於時區並顯示與商務規則中設定的日期一致的日期 (例如 UTC),您可以啟用時區獨立設定。 有關配置日期處理設定的詳細資訊,請前往指定日期和時間資料行的行為

常見問題集 (FAQ)

商務規則可以解除鎖定唯讀表單上的欄位嗎?

  • 是的,商務規則可以在唯讀表單上解除鎖定欄位並編輯動作。

如何對無法正常運作的商務規則進行疑難排解?

商務規則是否會對 onLoad 指令碼進行的變更做出回應?

  • 否,它們會在 onload 指令碼執行之前執行。

當我更新商務規則時,其是否會針對所有現有記錄執行?

  • 否。 商務規則會在用戶端上執行。 例如,在使用者開啟表單,以及該開啟表單上的欄位值變更時,就會執行商務規則。 它們不會在 Dataverse 中執行。

另請參閱

在 Microsoft Dataverse 中套用商務規則