创建事件时同时调用的2个业务规则

时间:2017-06-08 10:46:31

标签: servicenow servicenow-rest-api

我在servicenow业务规则中遇到了一个问题。我有2个业务规则,必须在

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

在创建事件时,我设置了一些默认值,例如州 - 已关闭紧急度 - 低。我希望它只能触发创建事件业务规则,但它会触发更新事件业务规则以及设置紧急度和状态值。

1 个答案:

答案 0 :(得分:1)

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

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

通常没有必要在{strong>之前业务规则中调用current.update(),因为这些操作在实际的插入发生之前运行。

如果您有时间https://hi.service-now.com/kb_view.do?sysparm_article=KB0540192

,请查看业务规则的最佳做法

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

  

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

     

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

     

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