Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

仓库模块,点击出货的那一步是怎么触发销售订单已送货的字段为True?



  • 各位大神们:
        在仓库模块,点击出货的那一步是怎么触发销售订单已送货的字段为True?谢谢!!

    追加代码:
        def test_state(self, cr, uid, ids, mode, *args):
            assert mode in ('finished', 'canceled'), _("invalid mode for test_state")
            finished = True
            canceled = False
            write_done_ids = []
            write_cancel_ids = []
            for order in self.browse(cr, uid, ids, context={}):
                for line in order.order_line:
                    if (not line.procurement_id) or (line.procurement_id.state=='done'):
                        if line.state != 'done':
                            write_done_ids.append(line.id)
                    else:
                        finished = False
                    if line.procurement_id:
                        if (line.procurement_id.state == 'cancel'):
                            canceled = True
                            if line.state != 'exception':
                                write_cancel_ids.append(line.id)
            if write_done_ids:
                self.pool.get('sale.order.line').write(cr, uid, write_done_ids, {'state': 'done'})
            if write_cancel_ids:
                self.pool.get('sale.order.line').write(cr, uid, write_cancel_ids, {'state': 'exception'})
            print mode,'mode'
            if mode == 'finished':
                return finished
            elif mode == 'canceled':
                return canceled
    它是通过以下的函数执行为True的,但是查不到从哪里调用了sale.wkf_sale的工作流???请指教!!!



  • 各位大神们:
        在仓库模块,点击出货的那一步是怎么触发销售订单已送货的字段为True?谢谢!!

    追加代码:
        def test_state(self, cr, uid, ids, mode, *args):
            assert mode in ('finished', 'canceled'), _("invalid mode for test_state")
            finished = True
            canceled = False
            write_done_ids = []
            write_cancel_ids = []
            for order in self.browse(cr, uid, ids, context={}):
                for line in order.order_line:
                    if (not line.procurement_id) or (line.procurement_id.state=='done'):
                        if line.state != 'done':
                            write_done_ids.append(line.id)
                    else:
                        finished = False
                    if line.procurement_id:
                        if (line.procurement_id.state == 'cancel'):
                            canceled = True
                            if line.state != 'exception':
                                write_cancel_ids.append(line.id)
            if write_done_ids:
                self.pool.get('sale.order.line').write(cr, uid, write_done_ids, {'state': 'done'})
            if write_cancel_ids:
                self.pool.get('sale.order.line').write(cr, uid, write_cancel_ids, {'state': 'exception'})
            print mode,'mode'
            if mode == 'finished':
                return finished
            elif mode == 'canceled':
                return canceled
    它是通过以下的函数执行为True的,但是查不到从哪里调用了sale.wkf_sale的工作流???请指教!!!


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待