如何在odoo中通过xmlrpc为产品提供批号/序列号

时间:2019-01-09 21:06:25

标签: python odoo xml-rpc xmlrpclib

我在xmlrpc的代码中有一个函数来验证拣配,但是它要求我放置产品的批号。我如何验证那批货物?

pick_assign = models.execute_kw(db, uid, password, 'stock.picking', 'force_assign',[pick_id[0]])

pick_transfer_create = models.execute_kw(db, uid, password, 'stock.immediate.transfer', 'create',[{'pick_id': pick_id[0]}])

pick_done = models.execute_kw(db, uid, password, 'stock.immediate.transfer', 'process', [pick_transfer_create],{})

这是输出中的错误:

Fault: <Fault 2: 'You need to provide a Lot/Serial Number for product xxxxxxxxx (WH/PICK/06113)'>

1 个答案:

答案 0 :(得分:0)

正在回复旧线程,但是如果其他人正在寻找解决同一问题的方法。

您有stock.move个与您的stock.picking相关的对象。如果按序列号跟踪stock.move中的产品,则每个stock.move与其相关的stock.move.line对象应与数量相同。您将序列号写入stock.move.line

您的stock.pickingstock.picking.type相关。编写序列的方案取决于stock.picking.type参数use_create_lots

如果使用use_create_lots == True,您只需将序列号写入字段lot_name,Odoo就会为您创建stock_production_lot -objects(序列号对象)。

如果user_create_lots == False个Odoo除外,stock_production_lot个对象已存在于系统中,并且拒绝创建新的序列号。在这种情况下,您必须搜索stock.production.lot对象并将其ID写入stock_move_line -field,将它们链接到stock.move.line.lot_id对象。