
Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn
由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解
本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!
开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号
如果您登录系统碰到问题,请在微信公众号留言:
请教数据纪录实时保存的问题
-
我在修改sales order模块,遇到了一个问题,这个模板下,每此新建订单,会自动生成一个订单号码,此号码是流水号,依次递增,如SO001,SO002等
我现在在确认订单函数中增加了一段代码,如下:<br />if body_text1[0]['amount_total']==0.0:<br /> raise osv.except_osv(_('错误 !'),<br /> _('订单总金额为零,请确认已选择产品或已计算订单总金额'))<br /> return False<br />
这段代码的意思是,如果订单总金额为零,则不能继续执行,用这段代码控制用户忘记选择产品或者忘记计算总金额。
现在遇到的问题是,如果用户是忘记选择产品,而直接点击了“订单确认”,那么弹出错误提示后,在重新选择产品时,会提示“订单号已存在”,也就是说刚才的订单已经保存,此时手动修改订单号,可以继续。
请问这个问题应如何解决呢?
非常感谢! -
兄弟你贴出的代码与 “订单号已存在” 错误没有什么关联,问题应该在你的订单号定制部分的代码。
-
订单确认执行的是工作流 转换
你这个需求应该在sale_order 的create 中进行
判断vals的order_line是否是[] 无明细或对其中的记录进行判断来确定 -
@jjx 终于又看到你的身影了,真是久违了
要寻找大牛的弟兄们,大牛现身了,别再让他跑了 -
我一般取消 销售单号的 Default . 让销售单号只读. 然后 在create 方法里去给添加订单流水号...
-
[quote author=digitalsatori link=topic=2800.msg9443#msg9443 date=1331214475]
@jjx 终于又看到你的身影了,真是久违了
要寻找大牛的弟兄们,大牛现身了,别再让他跑了
[/quote]
绝不敢当啊,比在座各位对openerp的理解差远了,现在正在每天看贴子学习呢 -
谢谢大家,不过还是有问题需要请教。
我在create中做判断,在新建订单明细的时候就提示错误了,导致无法添加订单明细,代码如下:<br />def create(self, cr, uid, vals, context={}):<br /> if not 'order_line' in vals or not vals['order_line']: <br /> raise osv.except_osv(_('错误 !'),<br /> _('订单总金额为零,请确认已选择产品'))<br /> return False<br /> return super(sales_order,self).create(cr, uid, vals, context)<br />
我想这个问题应该是在新建订单明细的时候,就执行了create动作,但是我是希望我点“确认订单”的时候再判断order_line的情况,请问这时我应该如何修改create函数呢?
暂时有另外一个解决办法,在确认订单时:<br />if get_order_line==[]:<br /> raise osv.except_osv(_('错误 !'),<br /> _('订单总金额为零,请确认已选择产品'))<br /> return False<br />
我之前是判断amount_total,改成判断order_line就没有问题了。