Odoo 销售订单行中移动行的分配数量

Odoo 销售订单行中移动行的分配数量,odoo,odoo-8,odoo-9,Odoo,Odoo 8,Odoo 9,我想在sale.order.line中显示分配的每个产品数量。当我有一个销售订单行时,它可以工作,但如果我有更多,则所有产品的数量相同。但是我的代码不好,因为有不止一个移动,所以我如何才能正确地执行它 reserved\u qty=fields.Float(string='reserved qty',compute=''u get\u qtys') @api.depends('order\u id.picking\u id.move\u line.state')) 定义获取(自身): 对于lin

我想在sale.order.line中显示分配的每个产品数量。当我有一个销售订单行时,它可以工作,但如果我有更多,则所有产品的数量相同。但是我的代码不好,因为有不止一个移动,所以我如何才能正确地执行它

reserved\u qty=fields.Float(string='reserved qty',compute=''u get\u qtys')
@api.depends('order\u id.picking\u id.move\u line.state'))
定义获取(自身):
对于line in self:
域=[('id','=',line.order\u id.picking\u id.move\u lines.id),
('product_id','=',line.product_id.id)
]
movez=self.env['stock.move'].search(域)
行未完成数量=行产品数量-行交付数量
如果line.order\u id.picking\u id:
对于按行领料。订单号。领料号:
对于移入领料。移入线:
如果move.state==“已分配”:
行.预留数量=移动Z.产品数量
更新:

如果找到一个解决方案,它可以正常工作,但仍然有一个问题:是否可以有多个采购ID?在某些场景中是否会出现单例错误

@api.depends('order\u id.picking\u id.move\u lines.state'))
定义获取(自身):
对于line in self:
行未完成数量=行产品数量-行交付数量
如果line.order\u id.picking\u id:
对于移入线。采购\标识。移入标识:
如果move.state==“已分配”:
行保留数量=移动产品数量

即使有更多的采购,也只需更改代码即可处理此类情况:

用于移入行。采购标识映射(“移入标识”):
如果move.state==“已分配”: