Как предоставить номер лота / серийный номер для продукта через xmlrpc в odoo
В моем коде через 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)'>
0 ответов
Отвечаю на старую тему, но если кто-то другой ищет решение той же проблемы.
У тебя есть stock.move
(Строки заказа) объекты, связанные с вашим stock.picking
. Если продукт вstock.move
отслеживается по серийному номеру каждый stock.move
должно быть столько stock.move.line
объекты, связанные с ним, поскольку у него есть количество. Вы пишете серийные номера наstock.move.line
.
Ваш stock.picking
относится к stock.picking.type
. Сценарий написания сериалов зависит отstock.picking.type
параметр use_create_lots
.
Если use_create_lots == True
вы можете просто написать свой серийный номер в поле lot_name
поле и Odoo создает stock_production_lot
-объекты (объект серийного номера) для вас.
Если user_create_lots == False
Odoo за исключением этого stock_production_lot
объекты уже существуют в системе и отказываются создавать новые серийные номера. В этом случае вам нужно искатьstock.production.lot
объекты и связать их с stock_move_line
объект, записав его идентификатор в stock.move.line.lot_id
-поле.