Как предоставить номер лота / серийный номер для продукта через 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 -поле.

Другие вопросы по тегам