工作流的条件判断去向,该判断条件应该怎么设置呢?
-
我的工作流:
[img http://i.imgur.com/IngqTao.png /img]
在trans里该怎么设置呢,把条件放在condition,是对的吗?然后price_unit和list_price前面需要加什么吗?例如:product_id.list_price之类的。
[img http://i.imgur.com/zhTrZdL.png /img]
price_unit
[img http://i.imgur.com/soFNLHm.png /img]
list_price
[img http://i.imgur.com/qLCnVXQ.png /img] -
@judi1000 基本思路是对的, 也看得出来你是在销售订单上设置工作流。
但是你的判断条件是针对销售订单明细的,销售订单和明细是一对多的关系。需要对其作遍历,所以一般情况下,这个判断条件应该要写成一个函数。 -
@digitalsatori 那该函数该怎么写呢?希望能指点下我。谢谢
-
def product_discount(self, cr, uid, ids, context=None):<br /> context = context or {}<br /> for so in self.browse(cr, uid, ids, context=context):<br /> return any(sol.price_uinit < sol.product_id.list_price for sol in so.order_line)<br /> <br />
需要继承sale.order 对象,定义上述方法。并在workflow的condition中将price_unit<list_price改为[tt]product_dicount()[/tt], 将price_unit>list_price改为:[tt]not product_discount()[/tt]
代码没有经过测试,仅供参考。 -
[quote author=digitalsatori link=topic=16355.msg27921#msg27921 date=1398306437]
def product_discount(self, cr, uid, ids, context=None):<br /> context = context or {}<br /> for so in self.browse(cr, uid, ids, context=context):<br /> return any(sol.price_uinit < sol.product_id.list_price for sol in so.order_line)<br /> <br />
需要继承sale.order 对象,定义上述方法。并在workflow的condition中将price_unit<list_price改为[tt]product_dicount()[/tt], 将price_unit>list_price改为:[tt]not product_discount()[/tt]
代码没有经过测试,仅供参考。
[/quote]
@digitalsatori 你提供的代码经过测试是可行的,谢谢啦。