第 33 章 指导决策表的实时验证和验证


Business Central 为指导决策表提供了一个实时验证和验证功能,以确保您的表已完成并可用错误。指导决策表在每次单元更改后都会验证。如果检测到逻辑出现问题,则会出现错误通知并描述问题。

33.1. 指导决策表中的问题类型

验证和验证功能检测到以下类型的问题:

冗余
当决策表中的两行对同一组事实执行同样的结果时,会发生冗余。例如,检查客户端的生日行,并提供一个周五的发票可能会导致双引号。
Subsumption

Subsumption 与冗余类似,当两个规则执行同样的结果时,会发生,但对另一个事实的一部分执行。例如,考虑这两个规则:

  • 当 Person age > 10 时,增加计数器
  • 当 Person age > 20 时,增加计数器

在这种情况下,如果人是 15 年,则只会触发一条规则,如果人为 20 年,则这两个规则都会触发。这种情况会在运行时出现类似的问题,因为冗余。

Conflicts

当两个类似条件具有不同的结果时,会发生冲突的情况。在决策表中的两行(rules)或两个单元之间可能会发生冲突。

以下示例演示了决策表中的两行之间冲突:

  • when Deposit > 20000 then Approve Loan
  • when Deposit > 20000 then Refuse Loan

在这种情况下,无法知道是否批准 loan。

以下示例演示了决策表中的两个单元之间冲突:

  • when Age > 25
  • 当 Age < 25

不执行冲突单元的行。

有问题 的唯一 Hit 策略

当将 唯一 Hit 策略应用到一个路由表时,一次只能执行一行,每行必须是唯一的,且不满足条件重叠。如果执行多个行,则验证报告标识了有问题的点击策略。例如,在表中考虑以下条件决定了价格领导的资格:

  • when Is\":\" = true
  • when Is Military = true

如果客户同时是 192.168.1.0/24 和在站中,则应用这两个条件并破坏 唯一 Hit 策略。因此,这种表中的行必须以不允许一次触发多个规则的方式创建。有关点击策略的详情,请参考 第 26 章 按指导决策表的策略

deficiency

deficiency 与冲突类似,并在决策表中发生规则的逻辑不完整。例如,请考虑以下两个适当的规则:

  • 当 Age > 20 then Approve Loan
  • 当 Deposit < 20000 then Refuse Loan 时

这两个规则可能会对超过 20 年的人造成混淆,并且被认为少于 20000。您可以添加更多限制以避免冲突。

缺少 Columns
当删除的列会导致逻辑不完整或不正确的逻辑时,规则无法正确触发。这会检测到它,以便您可以处理缺少的列,或者调整逻辑使其不依赖于意外删除的条件或操作。
不完整的范围
如果表包含可能字段值的限制,但没有定义所有可能的值,则字段值的范围不完整。验证报告标识了提供的任何不完整的范围。例如,如果您的表是否有应用程序被批准的检查,验证报告将提醒您处理未批准应用程序的情况。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部