您可以建立商業規則和建議來套用邏輯和驗證,而無需編寫程式碼或建立外掛程式。商業規則提供簡單的介面來實作和維護快速變更且常用的規則。
這很重要
如果在應用程式中使用資料表,則為資料表定義的商務規則會同時套用至 畫布應用程式 和 模型導向應用程式 。 目前並非所有的商務規則動作都可在畫布應用程式上使用。 其他資訊:畫布與模型導向應用程式之間的差異
在模型導向應用程式中,並非所有商務規則動作都可用於可編輯的格線。 對於表格檢視頁面,無法建立建議。 可編輯的子格線不支援商務規則。 商務規則不適用於其他類型的資料集控制項。
若要定義套用至模式導向應用程式中表單的商務規則,請參閱建立商務規則以在模型導向應用程式表單中套用邏輯。
藉由結合條件和動作,您可以透過商務規則執行下列任何操作:
- 設定欄位值
- 清除資料行值
- 設定預設值
- 驗證資料並顯示錯誤訊息
畫布與模型導向應用程式之間的差異
模型導向應用程式中的表單可以使用商務規則提供的所有動作,但是目前並非所有的商務規則動作都適用於畫布應用程式。 下列動作無法在畫布應用程式上使用:
- 顯示或隱藏欄
- 啟用或停用欄
- 根據商業智慧建立商業推薦
商務規則支援的資料行類型
商務規則適用於大多數資料行類型,包括文字、數字、選項、日期、查詢、負責人和影像。 但是,商務規則不適用於以下的資料行類型:
- 選項 (多重選取)
- 檔案
- 語言
建立商務規則
在左瀏覽窗格中登入 Power Apps,然後選取資料表。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
打開你想建立商業規則的資料表(例如開啟 帳戶 資料表),然後選擇 商業規則。
選取新增商務規則。
商務規則設計工具視窗會隨即開啟,當中已為您建立單一條件。 每項規則都是從條件開始。 商務規則會根據該條件執行一個或多個動作。
提示
如果您要修改現有的商務規則,您必須停用它,才能修改它。
如果您想要,也可以在視窗左上角的 [描述] 方塊中新增描述。
根據下列條件設定範圍:
如果您選取此項目... 範圍設定為... 實體 模型導向應用程式表單和伺服器 所有表單 模型導向應用程式表單 特定表單 (例如客戶表單) 就是那個模型導向應用程式表單 提示
如果您要建置畫布應用程式,則必須使用資料表做為範圍。
新增條件。 若要新增更多條件至您的商務規則:
將條件元件從元件索引標籤拖曳到設計師中的加號。
若要設定條件的屬性,請在設計工具視窗中選取 [條件] 元件,然後在畫面右側的 [屬性] 索引標籤中設定屬性。 設定屬性時,Microsoft Dataverse 會在屬性索引標籤的底部建立運算式。
若要將其他子句 (AND 或 OR) 新增至條件,請在 [屬性] 索引標籤中選取 [新增] 以建立新規則,然後設定該規則的屬性。 在 「規則邏輯 」欄中,您可以指定要將新規則新增為 AND 還是 OR。
當您完成設定條件的屬性時,選取套用。
新增動作。 若要新增動作:
從元件索引標籤中拖曳其中一個動作元件至條件元件旁的加號。 如果您希望商務規則在符合條件時採取該動作,請將動作拖曳到核取記號旁邊的加號,或者如果您希望商務規則在不符合條件時採取該動作,請將動作拖曳到 x 旁邊的加號。
若要設定動作的屬性,選取設計師視窗中的動作元件,然後在屬性索引標籤中設定屬性。
完成設定屬性時,選取套用。
新增商務建議 (僅限模型導向應用程式)。 若要新增商務建議:
從元件索引標籤中將建議元件拖曳至條件元件旁的加號。 如果您希望商務規則在符合條件時採取該動作,請將 [建議] 元件拖曳至核取記號旁邊的加號,或如果您希望商務規則在不符合條件時採取該動作,請將 [建議] 元件拖曳至 x 旁邊的加號。
若要設定建議的屬性,請在設計工具視窗中選取 [建議] 元件,然後在 [屬性] 索引標籤中設定屬性。
若要新增更多動作至建議,從元件索引標籤拖曳它們,然後在屬性索引標籤中設定每一個動作的屬性。
備註
建立建議時,Dataverse 預設會新增單一動作。 若要查看建議中的所有動作,選取建議元件上的詳細資料。
完成設定屬性時,選取套用。
若要驗證商務規則,選取動作列上的驗證。
若要儲存商務規則,選取動作列上的儲存。
若要啟用商務規則,請在 [方案總管] 視窗中選取它,然後選取啟用。 您無法從設計師視窗啟用商務規則。
提示
以下是要記住的幾個秘訣,當您在設計師視窗中處理商務規則時:
- 若要拍攝「商務規則」視窗中所有內容的快照,請選取動作列上的「快照」。 這非常有用,例如,您可以分享商務規則給團隊成員並獲得註解。
- 使用迷你地圖快速瀏覽至程序的不同部分。 當您的程序複雜到要捲動到畫面範圍外的內容時,這會非常有用。
- 當您新增條件、動作和商務建議至商務規則時,Dataverse 會建立商務規則的程式碼,在設計師視窗的底部。 此程式碼為唯讀。
範例:為超過 30 天工作建立商務規則
當任務已存在超過 30 天時,此商務規則範例會建立一個條件,以在任務描述欄位中觸發訊息。
- 登入 Power Apps,在左瀏覽窗格中選取資料表。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 開啟工作資料表,然後選取商務規則區域。
- 選取新增商務規則。
- 在商務程式流程畫布上選取新增條件,然後輸入或選取下列屬性:
- Display name:任務已超過 30 天
- 實體:工作
-
規則 1
- 來源:實體
- 欄位:建立時間
- 運算子:+
- 類型:值
- 天數:30
- 條件運算式 (自動建立):(建立時間大於 [建立時間 + 30])
- 選取套用。
- 選取新增>新增顯示錯誤訊息。
- 在顯示錯誤訊息屬性索引標籤中,輸入下列屬性:
- 顯示名稱:任務已超過 30 天未完成
- 實體:工作
-
錯誤訊息:
- 欄位:描述
- 訊息:此工作超過 30 天!
- 選取套用。
- 選取 [儲存]。
當地語系化用於商務規則的錯誤訊息
如果您提供組織一個以上的語言,您會想要當地語系化您設定的任何錯誤訊息。 每當您設定訊息時,系統會產生標籤。 如果匯出組織中的翻譯,您可以加入訊息當地語系化版本,然後將這些標籤匯入回到 Dataverse,因此,使用基礎語言之外語言的人員可以檢視已翻譯的訊息。
常見問題
本節說明使用商業規則時可能發生的常見問題。
複合屬性不支援與整合介面應用程式搭配使用
以整合介面為基礎的應用程式不支援使用複合屬性的動作或條件。 或者,您也可以對構成複合屬性的屬性使用動作或條件。 例如,您可以不使用全名 (fullname) 屬性,而改用名字 (firstname) 與 姓氏 (lastname) 屬性。
單一表格上的大量商務規則會影響效能
表格上新的或現有的商務規則在啟動規則時可能會導致效能下降。 Power Platform 現在對於單一表格最多支援 150 條商務規則。 若超過 150 條商務規則,可能會導致效能下降。 此限制同時包括用戶端 (JavaScript) 和伺服器端 (作為同步外掛程式產生的 XAML) 的商務規則。 為了避免使用 Dataverse 的效能問題,我們建議您不要在單一表格上建立超過 150 條商務規則。
您的商務規則是否未針對表單觸發?
商業規則可能不執行,因為商業規則中參照的欄位不包含在表單中。
打開solution explorer。 展開您想要的實體,然後選取表單。
開啟您想要表單,然後選取表單設計師功能區上的商務規則。
在表單設計師中,開啟業務規則。
在商務規則設計師中,選取每個條件和動作,以驗證每個條件和動作中所參照的所有欄位。
確認商務規則中參照的每個欄位也包含在表單上。 如果沒有,請將缺少的欄位新增至表單。
DateOnly 資料行的 UTC 時區
當您使用 DateOnly 資料行設定商務規則時,預設情況下,日期會採用 UTC 時區,無論使用者設定的時區為何。 如果您希望 DateOnly 值與本地時間設定保持一致,這可能會導致意外結果。
建議處理方式:時區獨立設定 - 要讓 DateOnly 欄位獨立於時區,並顯示與商業規則(例如 UTC)設定的日期一致,你可以啟用時區獨立設定。 如需有關設定日期處理設定的詳細資訊,請前往指定日期和時間資料行的行為。
常見問題 (FAQ)
商務規則可以解除鎖定唯讀表單上的欄位嗎?
- 是的,商務規則可以在唯讀表單上解除鎖定欄位並編輯動作。
如何對無法正常運作的商務規則進行疑難排解?
- 請參閱本文中您的商務規則是否不影響表單?
商務規則是否會對 onLoad 指令碼進行的變更做出回應?
- 否,它們會在 onload 指令碼執行之前執行。
當我更新商務規則時,其是否會針對所有現有記錄執行?
- 編號 業務規則會在用戶端上執行。 例如,商務規則會在使用者開啟表單時,以及在該開啟表單中的欄位值變更時執行。 它們不會在 Dataverse 中執行。