2015-04-22 66 views
0

当我尝试使用条件可以将工作流程活动用作业务规则中的条件吗?

current.wf_activity.name.toString() == "xxxx"它不触发业务规则。

当我尝试使用gs.addInfoMessage(current.wf_activity.name.toString());显示它时,它显示'xxxx'。

还观察到,对于特定类型的工作流程,BusinessRule会触发,而对于其他情况则不会。我已经尝试没有toString()方法,这也是行不通的。

使用getDisplayValue()也犯规工程

可有人现场一个很好的例子,在业务规则条件下使用工作流活动?

+0

当我试图改变状况'current.wf_activity.name.indexOf(“XX” )> = 0)'它的工作。但仍然不知道为什么'=='din't工作,虽然。 – Prasanna

回答

1

您的wf_activity可能在业务规则运行时未被设置。您可以尝试将业务规则的顺序增加到1000以上(所以它在引擎之后运行)或将其从“之前”更改为“之后”规则。

如果还是不行,请从BR的条件和日志的当前值和比较结果:

gs.log("MYDEBUG: current.wf_activity.name=[" + current.wf_activity.name + "]); 
gs.log("MYDEBUG: comparison?=" + (current.wf_activity.name.toString() == "xxxx")); 
+0

如果 'wf_activity'未设置,如何在infomessage中显示该值? – Prasanna

+1

针对特定记录发出插入/更新时,它会通过一系列对记录执行逻辑的引擎运行。业务规则就是这样一个引擎,工作流是另一个引擎。订单少于1000的业务规则在*工作流引擎之前运行*,因此可能在工作流引擎*中设置了wf_activity *,在*您的业务规则之后,但在添加您的信息消息之前。所以,如果您的infoMessage被添加*在*问题的业务规则,它在诊断上等同于我的建议。 – Joey

相关问题