如何以编程方式创建销售订单行 (Odoo 13)
How to programmatically create a sale order line (Odoo 13)
我有销售记录
models.execute_kw(db, uid, password, 'sale.order', 'create', [{
'partner_id': 10,
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
我需要能够根据变量中的数字以编程方式创建 'order_line'。例如if variable = 3
models.execute_kw(db, uid, password, 'sale.order', 'create', [{
'partner_id': 10,
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
我按照这里的确切步骤操作,https://www.odoo.com/forum/help-1/question/programmatically-create-a-sale-order-line-99981。但我不断收到错误,因为自 2016 年以来,Odoo 似乎发生了很大变化。解决这个问题的最佳方法是什么?
在你的第二个例子中,你在提供订单行的值时忘记了右括号,当你写了三次order_line
时,相当于只提供了最后一个值。
如果需要创建三行,则需要使用 special commands.
在列表中传递三个元组
以下示例将创建一个包含三个相同行的销售订单:
models.execute_kw(DB, uid, PASSWORD, 'sale.order', 'create', [{
'partner_id': 10,
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
(0, 0, {'product_id':1,'product_uom_qty':2}),
(0, 0, {'product_id':1,'product_uom_qty':2})
]
}])
我有销售记录
models.execute_kw(db, uid, password, 'sale.order', 'create', [{
'partner_id': 10,
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
我需要能够根据变量中的数字以编程方式创建 'order_line'。例如if variable = 3
models.execute_kw(db, uid, password, 'sale.order', 'create', [{
'partner_id': 10,
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
我按照这里的确切步骤操作,https://www.odoo.com/forum/help-1/question/programmatically-create-a-sale-order-line-99981。但我不断收到错误,因为自 2016 年以来,Odoo 似乎发生了很大变化。解决这个问题的最佳方法是什么?
在你的第二个例子中,你在提供订单行的值时忘记了右括号,当你写了三次order_line
时,相当于只提供了最后一个值。
如果需要创建三行,则需要使用 special commands.
在列表中传递三个元组以下示例将创建一个包含三个相同行的销售订单:
models.execute_kw(DB, uid, PASSWORD, 'sale.order', 'create', [{
'partner_id': 10,
'order_line': [(0, 0, {'product_id':1,'product_uom_qty':2}),
(0, 0, {'product_id':1,'product_uom_qty':2}),
(0, 0, {'product_id':1,'product_uom_qty':2})
]
}])