创建业务规则以在模型驱动的应用程序窗体中应用逻辑

通常,需要添加业务逻辑以确保模型驱动应用中的列显示、隐藏或设置了正确的值。

本文向您介绍无需编写 JavaScript 代码或创建插件,如何创建业务规则和建议以在模型驱动的应用程序中应用窗体逻辑。业务规则可以提供一个简单的界面来实施和维护快速更改和常用的规则。 它们可以应用于主窗体和快速创建窗体。 业务规则适用于模型驱动应用、旧版 Web 应用、适用于平板电脑的 Dynamics 365 和 Dynamics 365 for Outlook(在线或离线模式)。

通过组合条件和操作,可以使用业务规则执行以下操作:

  • 设置列值

  • 清除列值

  • 设置列要求级别

  • 显示或隐藏列

  • 启用或禁用列

  • 验证数据并显示错误消息

  • 根据业务智能创建业务建议。

备注

若要为表定义业务规则,以使其适用于所有窗体,请参阅为表创建业务规则

业务规则对多选选择项不起作用。

在 Power Apps 中查看、编辑或创建业务规则

  1. 登录到 Power Apps

  2. 在左侧导航窗格上选择,打开所需的表,然后在自定义区域下,选择业务规则。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。

备注

对表的自定义应该在解决方案中进行。 要更新解决方案中的表,打开解决方案,然后打开表。 然后,在自定义区域下,选择业务规则

  1. 在命令栏上,选择新建业务规则

在窗体设计器中查看、编辑或创建业务规则

  1. 在窗体设计器左侧导航窗格中,选择业务规则

  2. 从以下选项中选择:

    • 默认情况下,仅显示窗体的可用业务规则。 清除仅显示可用的业务规则查看窗体的已停用业务规则。
    • 要创建业务规则,选择新建业务规则
    • 选择业务规则查看属性并编辑业务规则。 业务规则属性。

设置业务规则属性

当为新规则打开业务规则设计器窗口时,已经创建了一个条件。 每个规则都从条件开始。 业务规则根据该条件执行一个或多个操作。

示例模型驱动应用程序

从业务规则命令栏输入或选择以下属性。

  1. 业务规则名称:默认情况下,规则名为新业务规则。 我们建议您为业务规则输入一个有意义的名称。

  2. 说明:(可选)添加说明。

  3. 范围:业务规则的范围确定将应用业务规则的窗体。 您根据以下信息设置范围:

    如果选择此项...

    范围将设置为...

    实体

    表和表的所有窗体

    所有窗体

    表的所有窗体

    指定窗体(例如,客户主窗体

    仅该窗体

备注

要修改现有业务规则,必须先将其停用,然后才能修改。

建立业务规则

  1. 添加条件。 若要向业务规则添加更多条件:

    1. 条件组件从组件选项卡拖到设计器中的加号。

      在业务规则中添加条件。

    2. 若要设置条件的属性,请选择设计器窗口中的条件组件,然后在屏幕右侧的属性选项卡中设置属性。 设置属性时,在属性选项卡底部创建一个表达式。

    3. 若要向条件添加更多子句(如 AND 或 OR),请选择属性选项卡中的新建创建新规则,然后为该规则设置属性。 在规则逻辑列中,可以指定将新规则添加为 AND 还是 OR。

      为条件添加新规则。

    4. 为条件设置完属性之后,选择应用

  2. 添加操作。 若要添加操作:

    1. 将一个操作组件从组件选项卡拖到条件组件旁边的加号。 如果希望满足添加时业务规则采取操作,请将该操作拖到复选标记旁边的加号,如果希望不满足条件时业务规则采取操作,请拖到 x 旁边的加号。

      将操作拖放到业务规则。

    2. 若要设置操作的属性,请选择设计器窗口中的操作组件,然后在属性选项卡中设置属性。

    3. 完成属性设置后,选择应用

  3. 添加业务建议。 若要添加业务建议:

    1. 建议组件从组件选项卡拖到条件组件旁边的加号。 如果希望满足添加时业务规则采取操作,请将建议组件拖到复选标记旁边的加号,如果希望不满足条件时业务规则采取操作,请拖到 x 旁边的加号。

    2. 若要设置建议的属性,请选择设计器窗口中的建议组件,然后在属性选项卡中设置属性。

    3. 若要向建议添加更多操作,请从组件选项卡拖动,然后在属性选项卡中为每个操作设置属性。

      备注

      创建建议时,默认添加单个操作。 若要查看某个建议中的所有操作,请选择建议组件中的详细信息

    4. 完成属性设置后,选择应用

  4. 若要验证业务规则,请选择操作栏中的验证

  5. 若要保存业务规则,请选择操作栏中的保存

  6. 若要激活业务规则,请在“解决方案资源管理器”窗口中将其选中,然后选择激活。 不能从设计器窗口激活业务规则。

提示

在设计器窗口中处理业务规则时,请记住下面的一些技巧:

  • 若要抓取“业务规则窗口”中所有内容的屏幕截图,请选择操作栏中的屏幕截图。 例如,当从团队成员处获得反馈时,这很有用。
  • 使用迷你地图快速导航到流程的其他部分。 在处理超出屏幕的复杂流程时,这非常有用。
  • 向业务规则添加条件、操作和业务建议时,为业务规则构建代码并显示在设计器窗口底部。 此代码是只读的。

本地化业务规则中使用的错误消息

如果为环境提供了不止一种语言,则值得对已设置的任何错误消息进行本地化。 每次设置消息时,系统会生成一个标签。 如果在您的环境中设置了翻译,可以添加消息的本地化版本,然后将其导入回系统。 这样,使用您的基本语言以外语言的人能够查看翻译后的消息。

常见问题

本部分介绍了在使用业务规则时可能出现的常见问题。

统一接口应用不支持“全名”列和“地址”列

基于统一接口的应用中不支持使用复合列(例如全名 (fullname) 列或地址列)的操作或条件。 或者,您可以对组成列使用操作或条件。 例如,对于全名列,可以在 (firstname) 和 (lastname) 列中使用操作或条件。

业务规则不对某些用户执行

确保用户具有至少包括流程表的用户范围读取特权的安全角色。 默认情况下,基本用户安全角色具有此特权。

业务规则没有在仪表板上的可编辑网格中触发

当在仪表板页面上配置了可编辑网格时,实体范围的业务规则不会在可编辑网格中触发。

窗体的业务规则是否未触发?

由于窗体中不包含业务规则内引用的列,所以可能不执行业务规则。

  1. 打开解决方案资源管理器。 展开所需表,然后选择窗体

  2. 打开窗体,然后在窗体设计器功能区上选择业务规则

  3. 在窗体设计器中,打开业务规则。

  4. 在业务规则设计器中,选择每个条件和操作以验证每个条件和操作中引用的所有列。

    表中存在业务规则内引用的字段。

  5. 验证窗体中是否也包含业务规则内引用的每个列。 如果不包含,则将缺少的列添加到窗体。

    窗体中的客户名称列。

业务规则也可能由于业务规则中引用的列是复合列而不执行。 可以使用复合列的关系人列。

常见问题 (FAQ)

业务规则能否解锁只读窗体上的列?

  • 可以,业务规则可以解锁只读窗体上的列,并可以编辑只读窗体上的操作。

如何排查不工作的业务规则的问题?

建议在窗体中是什么样的?

建议在列标签旁边显示一个灯泡。

  • 业务规则已折叠。

选择该灯泡以展开视图并显示建议。

  • 业务规则已展开。

另请参阅

通过流程创建自定义业务逻辑

创建业务流程

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。