在 Odoo 的多步骤交付流程中将自定义字段值从销售订单行传递到库存移动

问题描述 投票:0回答:1

我创建了两个自定义字段,一个在 sale.order.line 中,另一个在 stock.move 中。当确认 sales.order 时,它会在 stock.move 中创建带有产品详细信息的 stock.picking。我想将自定义字段值从 sale.order.line 传递到 stock.move。

我可以使用 _prepare_procurement_values 在一步交付设置中实现这一目标。但是,在两步和三步交付设置中,自定义字段值不会延续到后续移动,并且在第二次和第三次移动中最终为“无”。

如何确保我的自定义字段值正确传递到多步(两步和三步)交付设置中的所有动作?

def _get_stock_move_values(self, product_id, product_qty, product_uom, location_dest_id, name, origin, company_id,
                           values):
    res = super()._get_stock_move_values(product_id, product_qty, product_uom, location_dest_id, name, origin,
                                         company_id, values)

    type_id = values.get('type_id')
    res.update({
        'type_id': type_id,
    })
    print('res..................',res)
    return res
python odoo
1个回答
0
投票

我不完全确定,但您还必须覆盖

stock.move._prepare_procurement_values()
才能在其中添加您的值。

采购创建第一个动作后,将自动确认。确认后,如果设置了多步骤路线,Odoo 将创建另一个采购。新的以及其他后续采购(用于库存移动!)的值都是在上述方法中设置的。

def _prepare_procurement_values(self):
    """Overwritten to add type_id to procurement values"""
    result_dict = super()._prepare_procurement_values()
    result_dict["type_id"] = self.type_id.id
    return result_dict
© www.soinside.com 2019 - 2024. All rights reserved.