我需要从 odoo 库存中获取可用数量的产品。
我有几个模型stock_quant、stock_move、stock_location。
我想要实现的是两件事:
任何人都可以指导我吗?
请您参考如下方法:
库存相关字段在产品(功能字段)中定义,您可以直接从产品中获取所有仓库/位置或单个位置/仓库的库存。
示例:
所有仓库/地点
product = self.env['product.product'].browse(PRODUCT_ID)
available_qty = product.qty_available
个别地点/仓库 (WAREHOUSE_ID/LOCATION_ID 应替换为实际 ID)
product = self.env['product.product'].browse(PRODUCT_ID)
available_qty = product.with_context({'warehouse' : WAREHOUSE_ID}).qty_available
available_qty = product.with_context({'location' : LOCATION_ID}).qty_available
其他领域也有。
Forecasted Stock => virtual_available
Incoming Stock => incoming
Outgoing Stock => outgoing
您可以以类似的方式访问所有这些字段。如果您不会在上下文中传递任何仓库/位置,那么它将一起返回所有仓库的库存。
For more details you may refer product.py in stock module.
解决方案:
@api.onchange('product_id','source_location')
def product_qty_location_check(self):
if self.product_id and self.source_location:
product = self.product_id
available_qty = product.with_context({'location' : self.source_location.id}).qty_available
print available_qty


