我创建了两个字段,一个在 sale.order.line 中,一个在 stock.move 中。确认sales.order get后,它将在stock.move中创建带有产品信息的stock.picking。我想将我的自定义字段值从sale.order.line发送到stock.move。该怎么做?
要将价值从sale.order传递到库存。我使用了''' action_confirm '''函数。我可以获取''' picking_ids '''并在其中创建股票。但这不会有效。
在odoo中是否存在诸如''' _prepare_stock_moves()'''之类的现有功能来创建销售订单转移?
答案 0 :(得分:0)
该功能在odoo v12中仍然存在,但以不同的方式。
在“ sale.order.line”模型中,将其写为-
@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
在创建stock.picking或stock.move时会产生影响 采购/库存规则。因此,您将必须在中添加值 股票规则。为此,继承了stock.rule模型。像这样-
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。