Openerp 在领料-odoo中设置销售订单字段引用

Openerp 在领料-odoo中设置销售订单字段引用,openerp,odoo-8,picking,Openerp,Odoo 8,Picking,我想在创建销售订单确认和拣选时直接在拣选中设置销售团队参考 但我没有得到足够的提示,我如何才能做到这一点。因为在销售订单确认时调用的方法如下 定义操作按钮确认自身、cr、uid、ID、上下文=无: 如果不是上下文: 上下文={} 断言lenids==1,“此选项一次只能用于单个id。” self.signal\u workflowcr、uid、id,“订单\u确认” 如果上下文。获取“发送电子邮件”: self.force\u quote\u sendcr,uid,id,context=cont

我想在创建销售订单确认和拣选时直接在拣选中设置销售团队参考

但我没有得到足够的提示,我如何才能做到这一点。因为在销售订单确认时调用的方法如下

定义操作按钮确认自身、cr、uid、ID、上下文=无: 如果不是上下文: 上下文={} 断言lenids==1,“此选项一次只能用于单个id。” self.signal\u workflowcr、uid、id,“订单\u确认” 如果上下文。获取“发送电子邮件”: self.force\u quote\u sendcr,uid,id,context=context 返回真值 这里没有任何提示我如何将其传递给picking

目的:

我的目标是在提货/发货时设置销售团队参考


没那么容易。Odoo使用procurement.orders创建stock.move,并为其创建stock.picking。问题:可能一个拣选有多个销售订单作为来源。因此,可以引用多个销售团队

但请尝试使用计算字段:

section_id=fields.manyOne comodel_name=crm.case.section,string=Sales Team, compute=\u compute\u section\u id @api.multi def_compute_section_idself: 用于自行挑选: 截面=设置 对于移入领料。移入线: 如果move.sale\u line\u id.order\u id.section\u id 节\u id.addmove.sale\u line\u id.order\u id.section\u id.id 如果lensection_id==1: picking.section\u id=section\u id.pop 您也可以使用相关字段,但这可能会产生非常糟糕的副作用。因为奥多将采取第一步

section_id=fields.manyOne comodel_name=crm.case.section,string=Sales Team, 相关=移动\行.销售\行\ id.订单\ id.部分\ id
我从它创建拾取的地方得到了这个方法。所以我刚刚继承了它并添加了我的代码。在从销售订单创建装运时,始终会调用操作\u ship\u create

@api.cr\u uid\u id\u上下文 def action_ship_createself,cr,uid,ids,context={}: 结果=supersale\u顺序,self.action\u ship\u createcr,uid,ids,context=context 对于self.browsecr、uid、id、context=context中的顺序: order.picking_id.write{'section_id':order.section_id.id} 返回结果
谢谢你的及时回复。您确定我们将始终获得move.sale\u line\u id吗?新API不再抛出这些browse\u null\u记录错误,因为它们被踢了;-因此,它应该始终有效。在版本8中,拣货/搬家与销售订单和销售订单行没有直接关系。顺便说一下,我喜欢你的解决方案,非常好。