gpt4 book ai didi

python - 如何在odoo中将自定义值从sale.order.line发送到stock.move

转载 作者:行者123 更新时间:2023-12-01 08:06:00 26 4
gpt4 key购买 nike

我创建了两个字段,一个在 sale.order.line 中,一个在 stock.move 中。当 sale.order 得到确认时,它会在 stock.move 中创建带有产品信息的 stock.picking。我想将自定义字段值从 sale.order.line 发送到 stock.move。如何做到这一点?

为了将值从 sale.order 发送到 stock.picking,我使用了 '''action_confirm''' 函数。我可以获取 '''picking_ids''' 并在其中创建 stock.move。但这不会有效率。

odoo 中是否有任何现有函数(如“''_prepare_stock_moves()'''”)可以从销售订单创建移动?

最佳答案

该功能在 odoo v12 中仍然存在,但方式不同。

In 'sale.order.line' model write this -

@api.multi
def _prepare_procurement_values(self, group_id=False):
res = super(YourModelName, self)._prepare_procurement_values(group_id)
# I am assuming field name in both sale.order.line and in stock.move are same and called 'YourField'
res.update({'YourField': self.YourField})
return res

While creating stock.picking or stock.move it impacts procurement/stock.rule. So, you will have to add the values in stock.rule too. For that inherit the stock.rule model. Like this -

class StockRuleInherit(models.Model):
_inherit = 'stock.rule'

def _get_stock_move_values(self, product_id, product_qty, product_uom, location_id, name, origin, values, group_id):
res = super(StockRuleInherit, self)._get_stock_move_values(product_id, product_qty, product_uom, location_id,
name, origin, values, group_id)
res['YourField'] = values.get('YourField', False)
return res

现在,当您确认销售订单时,订单行中的备注值也将与其他值一起传送到 stock.move。

关于python - 如何在odoo中将自定义值从sale.order.line发送到stock.move,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55528616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com