如何从 ODOO 10 中的销售订单创建交货订单?

How the Delivery orders are created from Sale Order in ODOO 10?

在销售应用程序中,确认报价时从销售订单创建的库存交货订单在哪里?在 ODOO10 的这个工作流程中调用了哪些函数?

这是我无法跟踪回溯时使用的一个有用的技巧。

你说你想知道交货单是在哪里创建的,是吗?所以,由于出货单是出库选货,所以可以在代码中写成如下几行:

class StockPicking(models.Model):
    _inherit = 'stock.picking'

    @api.model
    def create(self, vals):
        return 1 / 0

现在创建一个销售订单并确认,这次你显然会报错。此错误将向您显示整个回溯,因此您可以阅读正在调用的方法,最后,您试图在我的数据库中使用我的配置查找的方法,有罪的是 assign_picking,在stock.move.py stock 模块的文件。

File "/my_odoo_path/addons/stock/models/stock_move.py", line 429, in assign_picking picking = Picking.create(move._get_new_picking_values())

试试吧,你会找到你要找的方法。

终于找到创建的地方了,

首先在确认 销售订单 时,它会创建一个 采购订单 ,然后根据采购创建 库存移动,并根据库存移动创建整个stock.picking 交货单。

您可以在以下位置找到创建交货单的代码:

库存-->采购-->_get_stock_move_values.

这里所有初始需求的值和stock.picking的主要字段都被传递和创建