我在servicenow业务规则中遇到了一个问题。我有2个业务规则,必须在
时触发在创建事件时,我设置了一些默认值,例如州 - 已关闭,紧急度 - 低。我希望它只能触发创建事件业务规则,但它会触发更新事件业务规则以及设置紧急度和状态值。
答案 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() 不仅会停止业务规则,还会阻止工作流程 引擎在记录上运行。