【问题标题】:how to send custom value from sale.order.line to stock.move in odoo如何在odoo中将自定义值从sales.order.line发送到stock.move
【发布时间】:2019-04-05 05:13:23
【问题描述】:

我创建了两个字段,一个在 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()''' 来创建从销售订单的移动?

【问题讨论】:

标签: python odoo


【解决方案1】:

该功能在 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 也是。为此继承 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。

【讨论】:

  • 嗨@Tanzil Khan,在确认销售后,将字段从销售订单移动到选股的格式是否相同?
  • 嗨@Eric,你找到了你需要的解决方案吗?
  • 是的@Gabin,格式和这个一样。有任何问题或澄清?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 2017-06-29
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
相关资源
最近更新 更多