第 52 章 创建指导规则
借助指导规则,您可以根据与规则关联的数据对象,以结构化格式定义业务规则。您可以单独为项目创建并定义指导规则。
流程
-
在 Business Central 中,前往 Menu
Design Projects 并点项目名称。 -
点 Add Asset
Guided Rule。 输入信息 引导规则 名称并选择相应的 软件包。您指定的软件包必须是分配或将被分配所需数据对象的同一软件包。
如果项目中已定义了任何域特定语言( DSL)资产,您也可以选择 Show 声明 DSL 句子。这些 DSL 资产将变成可用于您在指导规则设计人员中定义的条件和操作对象。
点 Ok 创建规则资产。
新的指导规则现在列在 Project Explorer 的引导 规则 面板中,如果您选择了 Show 声明 DSL 句子选项,则在引导规则(带有 DSL ) 面板中列出。
- 点 Data Objects 选项卡,并确认列出了您的规则所需的所有数据对象。如果没有,请单击 New item 以从其他软件包导入数据对象,或者在您的软件包 中创建数据对象。
在所有数据对象都就位后,根据可用的数据对象,返回到指导规则设计器的 Model 选项卡,并使用窗口右侧的按钮来添加和定义 WHEN (action)部分。
图 52.1. 指导规则设计器
规则的 WHEN 部分包含执行某个操作必须满足的条件。例如,如果银行需要 loan applicants 已有 21 余年,那么
Underage规则的 WHEN 条件比 | 21 少。规则的ExpansionN 部分包含满足规则条件部分时要执行的操作。例如,当 loan applicant 低于 21 年时,cu N 操作将
批准设置为false,因为申请者处于年龄之内。您还可以为更复杂的规则指定例外,例如,如果银行在涉及保守者时可以批准出不便的申请者。在这种情况下,您可以创建或导入 guarantor 数据对象,然后将该字段添加到指导规则中。
- 在定义了规则的所有组件后,在指导规则设计器的右上角点击 Validate 来验证指导的规则。如果规则验证失败,解决错误消息中描述的任何问题,查看规则中的所有组件,然后重试验证规则直到规则通过为止。
- 在指导规则设计器中点击 Save 保存您的更改。
52.1. 在指导规则中添加 WHEN 条件 复制链接链接已复制到粘贴板!
规则的 WHEN 部分包含执行某个操作必须满足的条件。例如,如果银行需要 loan applicants 已有 21 余年,那么 Underage 规则的 WHEN 条件 比 | 21 少。您可以设置简单或复杂的条件,以确定您的规则是如何应用的。
先决条件
- 您的规则所需的所有数据对象已创建或导入,并列在指导规则设计器 的数据对象 选项卡中。
流程
在指导规则设计程序中,点击
WHEN部分右侧的加号图标
。
将打开可用条件元素 的规则窗口中的 Add a condition。
图 52.2. 为规则添加一个条件
列表中包含指导规则设计器的 Data Objects 选项卡中的数据对象、为软件包定义的 DSL 对象(如果您在创建本指南规则时选择了 Show 声明 DSL 句 ),以及以下标准选项:
- 以下内容不存在: 使用它指定必须不存在的事实和约束。
- 存在: 使用它来指定必须存在的事实和限制。这个选项仅在第一个匹配项中触发,而不是后续匹配项。
- 以下任意一个为 true: 使用此列出必须满足的任何事实或约束。
-
from: 使用它来为规则定义
From条件元素。 -
选修日期: 使用此命令
定义规则的仲裁条件元素。 -
from Collect: 使用这个定义规则的
Collect条件元素。 -
From Entry Point: 使用这个项来定义模式的
Entry Point。 - 自由形式 DRL: 使用这个项插入自由格式的 DRL 字段,您可以在其中自由定义条件元素,而无需指导规则设计人员。
- 选择一个 condition 元素(如 LoanApplication) 并单击确定。
单击指导规则设计器中的 condition 元素,并使用 LoanApplication 窗口中的 Modify 约束 来添加字段、应用多个字段限制、添加新的公式风格表达式、应用表达式编辑器或设置变量名称。
图 52.3. 修改条件
注意变量名称可让您识别指导规则中的其他结构中的事实或字段。例如,您可以将
LoanApplication的变量设置为a,然后引用一个单独的Bankruptcy约束,指定银行所基于的应用程序。a : LoanApplication() Bankruptcy( application == a ).
a : LoanApplication() Bankruptcy( application == a ).Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选择约束后,窗口会自动关闭。
-
从添加的限值旁边的下拉菜单中选择限制(例如,
大于)的 operator。 -
点编辑图标(
)定义字段值。字段值可以是字面值、一个公式或完整的 MVEL 表达式。
要应用多个字段约束,点 LoanApplication 窗口的 Modify 约束,从多个字段 约束下拉菜单中选择 All of(And) 或 any (Or )。
图 52.4. 添加多个字段限制
- 单击指导规则设计人员中的约束,进一步定义字段值。
- 在定义了规则的所有条件组件后,在指导规则设计器的右上角点击 Validate 来验证指导的规则条件。如果规则验证失败,解决错误消息中描述的任何问题,查看规则中的所有组件,然后重试验证规则直到规则通过为止。
- 在指导规则设计器中点击 Save 保存您的更改。