在特定 res.partner 位置查找产品数量 - Odoo v8
Look for product quantities on a specific res.partner location - Odoo v8
我正在尝试在指定的合作伙伴位置寻找 qty_available
产品,我有三个 Many2one
字段到 res.partner
、
printer_book_block = fields.Many2one('res.partner', string="Printer Book Block")
printer_binding = fields.Many2one('res.partner', string="Printer Binding")
printer_edging = fields.Many2one('res.partner', string="Printer Edging")
所以,根据这个模型,我应该根据选择的 res.partner Many2one
寻找这些数量:
order_lines = fields.One2many('bsi.print.order.lines', 'print_order', string="Order lines")
@api.multi
@api.constrains('order_lines', 'order_lines.isbn')
def check_quantity(self):
location = self.printer_book_block.property_stock_supplier.id
for rec in self:
if rec.order_lines:
for line in rec.order_lines:
if line.qty > line.isbn.qty_available in location:
rec.write({'state': 'awaitingraw'})
else:
rec.write({'state': 'work_in_progress',},)
此方法应该在 printer_book_block.property_stock_supplier
上查找 qty_available
,但它似乎并没有真正查找该特定位置。
字段 property_stock_supplier
是 res.partner
模型的一部分,它指定每个合作伙伴作为供应商在系统中的位置。
此外,如何指定是否已选择一个 res.partner
来专门查找它?
有什么想法吗?
PS = isbn
是 Many2one
到 product.product
.
您可以告诉 odoo 计算您可以在上下文中指定位置或仓库:
if line.qty > line.isbn.with_context({
'location' : location, # here id must be an integer not object
# 'warehouse': warehouse_id, # integer value
}).qty_available >= 0:
我正在尝试在指定的合作伙伴位置寻找 qty_available
产品,我有三个 Many2one
字段到 res.partner
、
printer_book_block = fields.Many2one('res.partner', string="Printer Book Block")
printer_binding = fields.Many2one('res.partner', string="Printer Binding")
printer_edging = fields.Many2one('res.partner', string="Printer Edging")
所以,根据这个模型,我应该根据选择的 res.partner Many2one
寻找这些数量:
order_lines = fields.One2many('bsi.print.order.lines', 'print_order', string="Order lines")
@api.multi
@api.constrains('order_lines', 'order_lines.isbn')
def check_quantity(self):
location = self.printer_book_block.property_stock_supplier.id
for rec in self:
if rec.order_lines:
for line in rec.order_lines:
if line.qty > line.isbn.qty_available in location:
rec.write({'state': 'awaitingraw'})
else:
rec.write({'state': 'work_in_progress',},)
此方法应该在 printer_book_block.property_stock_supplier
上查找 qty_available
,但它似乎并没有真正查找该特定位置。
字段 property_stock_supplier
是 res.partner
模型的一部分,它指定每个合作伙伴作为供应商在系统中的位置。
此外,如何指定是否已选择一个 res.partner
来专门查找它?
有什么想法吗?
PS = isbn
是 Many2one
到 product.product
.
您可以告诉 odoo 计算您可以在上下文中指定位置或仓库:
if line.qty > line.isbn.with_context({
'location' : location, # here id must be an integer not object
# 'warehouse': warehouse_id, # integer value
}).qty_available >= 0: