odoo 字段状态改变自动增加明细行

具体需求:
改变客户字段,将符合该字段的销售信息带出写入明细行。
主要涉及的函数为:

 @api.onchange('user_id')
    def _search_order_ids_info(self):
        for wizard_item in self:
            wizard_item.order_ids = False
            order_lines = []
            res = {}
            if wizard_item.user_id:
                 sale_order_sql = "SELECT * FROM sale_order where user_id = %s" % wizard_item.user_id.id
                self.env.cr.execute(sale_order_sql)
                sale_order_dic = self.env.cr.dictfetchall()
                if sale_order_dic:
                	for order_item in sale_order_dic:
                    	line_item = [(0, 0, {
                        	'name': order_item['id'],
                        	'partner_id':  order_item['partner_id'],
                        	'arrival_date':  order_item['arrival_date'],
                    })]
                    order_lines += line_item
            	res['order_ids'] = order_lines
            	return {'value': res}

即创建监听客户字段的函数, 这里值所以设置wizard_item.order_ids = False,是为了每次改变user_id时都是重新添加,而不是在原来的基础上添加数据。
效果展示:
未选择时的效果
选择某个客户后:
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值