1

我在 servicenow 业务规则中遇到问题。我有 2 个必须触发的业务规则

  • 当事件创建时
  • 当事件的特定字段更新时

在创建事件时,我设置了一些默认值,例如State-closedUrgency-Low。我期望它应该只触发创建事件业务规则,但它也会触发更新事件业务规则以设置紧急度和状态值。

4

1 回答 1

1

您是否current.update()插入运行的业务规则中使用?如果是这样,那可能会触发第二个业务规则运行。

此外,请确保您的业务规则设置为之前的业务规则而不是之后的,以尽可能帮助流程。

通常不需要调用current.update()before业务规则,因为这些规则在实际插入发生之前运行。

有空的时候看看业务规则的最佳实践https://hi.service-now.com/kb_view.do?sysparm_article=KB0540192

特别是这个可以描述你所看到的行为。

最佳实践#2:避免在业务规则之前或之后使用 current.update()。避免使用 current.update() 来防止影响系统性能的递归。current.update() 触发业务规则在同一张表上运行以进行插入和更新操作。在之前或之后的业务规则中,这可能导致规则一遍又一遍地调用自身。

没有必要在之前的业务规则中使用 current.update(),因为这些会在数据库更新时自动保存。After 业务规则不打算更新当前对象,所以这也不是必需的。

除非有特殊情况,否则请避免使用 current.update(),因为它不仅会停止业务规则,还会阻止工作流引擎在记录上运行。

于 2017-06-08T14:53:11.760 回答