第 58 章 创建指导规则模板


您可以使用指导规则模板来定义与数据表中定义的实际值对应的占位符值(模板键)的规则结构。指导规则模板是一种有效替代方法,可单独定义许多使用相同结构的指南规则集。

流程

  1. 在 Business Central 中,前往 Menu Design Projects 并点项目名称。
  2. Add Asset Guided Rule Template
  3. 输入 参考规则模板名称 并选择相应的 软件包。您指定的软件包必须是分配或将被分配所需数据对象的同一软件包。
  4. 单击 Ok 以创建规则模板。

    新的指导规则模板现在列在 Project Explorer《规则模板 "面板中。

  5. Data Objects 选项卡,并确认列出了您的规则所需的所有数据对象。如果没有,请单击 New item 以从其他软件包导入数据对象,或者在您的软件包 中创建数据对象
  6. 在所有数据对象都就位后,返回 Model 选项卡,并使用窗口右侧的按钮来添加和定义规则模板的 WHEN (条件)和(action)部分,具体取决于可用数据对象。对于不同的字段值,以规则设计器格式使用 $key 格式的模板键,或者以自由形式为 DRL(如果使用)格式使用 @{key}

    图 58.1. 指导规则模板示例

    模板键的备注

    模板键是指导规则模板中的基本模板。模板键是模板中的启用字段值与您在对应数据表中定义的实际值进行更改,以便从同一模板生成不同的规则。对于基于该模板的所有规则结构的一部分的值结构,您可以使用其他值(如 LiteralFormula )。但是,如果规则中的任何不同值,请使用带有指定键的 Template 键 字段类型。在指导规则模板中没有模板键,相应的数据表不会在模板设计器中生成,模板基本上作为单独的指导规则。

    规则模板的 WHEN 部分是必须满足以下条件才能执行操作的条件。例如,如果通信公司根据自己订阅的服务(互联网、电话和电视)为客户收费,那么 WHEN 条件之一是 internetService | 等于 | $haInternetService。模板键 $hasInternetService 使用模板 data 表中定义的实际布尔值值(truefalse)进行交集。

    该规则模板的一部分是满足规则条件部分时要执行的操作。例如,如果客户只为互联网服务订阅,则模板键 $amountRecurringPayment 的 RecurringPayment 的操作会将实际每月数量设置为数据表中为互联网服务收费定义的整数值。

  7. 在定义了规则的所有组件后,在指导规则模板设计器中点击 Save 以保存您的工作。

58.1. 在指导规则模板中添加 WHEN 条件

规则的 WHEN 部分包含执行某个操作必须满足的条件。例如,如果通信公司根据自己订阅的服务(互联网、电话和电视)为客户收费,那么 WHEN 条件之一是 internetService | 等于 | $haInternetService。模板键 $hasInternetService 使用模板 data 表中定义的实际布尔值值(truefalse)进行交集。

先决条件

  • 您的规则所需的所有数据对象已创建或导入,并列在指导规则模板设计器 的数据对象 选项卡中。

流程

  1. 在指导规则模板设计器中,点击 WHEN 部分右侧的加号图标 5686

    将打开可用条件元素 的规则窗口中的 Add a condition

    图 58.2. 为规则添加一个条件

    列表中包含指导规则模板设计器的 Data Objects 选项卡中的数据对象、为软件包定义的任何 DSL 对象,以及以下标准选项:

    • 以下内容不存在: 使用它指定必须不存在的事实和约束。
    • 存在: 使用它来指定必须存在的事实和限制。这个选项仅在第一个匹配项中触发,而不是后续匹配项。
    • 以下任意一个为 true: 使用此列出必须满足的任何事实或约束。
    • from: 使用它来为规则定义 From 条件元素。
    • 选修日期: 使用此命令 定义规则的 仲裁条件元素。
    • from Collect: 使用这个定义规则的 Collect 条件元素。
    • From Entry Point: 使用这个项来定义模式的 Entry Point
    • 自由形式 DRL: 使用这个项插入自由格式的 DRL 字段,您可以在其中自由定义条件元素,而无需指导规则设计人员。对于自由形式 DRL 的模板键,请使用 @{key} 格式。
  2. 选择一个 condition 元素(例如,客户),然后单击确定
  3. 单击提示规则模板设计器中的 condition 元素,并使用 Customer 窗口中的 Modify 约束 添加字段、应用多个字段约束、添加新的公式风格表达式、应用表达式编辑器或设置变量名称。

    图 58.3. 修改条件

    注意

    变量名称可让您识别指导规则中的其他结构中的事实或字段。例如,您可以将客户的变量设置为 c,然后在单独的 Applicant 约束下引用 c,指定 客户Applicant

    c : Customer()
    Applicant( this == c )
    Copy to Clipboard Toggle word wrap

    选择约束后,窗口会自动关闭。

  4. 从添加限制旁边的下拉菜单中选择限制(例如,等于)的 operator。
  5. 点编辑图标( 6191 )定义字段值。
  6. 如果此值因基于此模板的规则的不同而不同,请选择 Template 键,并以 $key 格式添加模板键。这允许字段值使用您在对应数据表中定义的实际值来从同一模板生成不同的规则。对于与规则不同且不是规则模板一部分的字段值,您可以使用任何其他值类型。
  7. 要应用多个字段约束,点 客户窗口的修改限制,从 多字段约束 下拉菜单中选择 All of(And) 或任意 (Or)。

    图 58.4. 添加多个字段限制

  8. 单击指导规则模板设计器中的约束,进一步定义字段值。
  9. 在定义所有条件元素后,在指导规则模板设计器中点击 Save 以保存您的工作。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat