如何在 Odoo 11 中以编程方式取消 sale.order
How to programmatically cancel sale.order in Odoo 11
我想删除 Odoo 11 中的所有销售 Order/Quotations。
对于引用,我使用 Odoo GUI 来批量删除它们。但是对于销售订单,我必须先取消它们才能删除。这通过 GUI 方式非常耗时(因为我们无法批量取消销售订单)。
所以我认为以编程方式执行此操作会更好(就时间而言)。但是,当前代码
orders = self.env['sale.order'].search([('external_id', '!=', '')])
for order in orders:
order.unlink()
引发异常
You can not delete a sent quotation or a sales order! Try to cancel it before.
如何在 unlink()
之前取消 order
?
已解决。在深入研究 odoo 源代码之后。我想这就是我要找的:
orders = self.env['sale.order'].search([('external_id', '!=', '')])
for order in orders:
order.action_cancel()
order.unlink()
我想删除 Odoo 11 中的所有销售 Order/Quotations。
对于引用,我使用 Odoo GUI 来批量删除它们。但是对于销售订单,我必须先取消它们才能删除。这通过 GUI 方式非常耗时(因为我们无法批量取消销售订单)。
所以我认为以编程方式执行此操作会更好(就时间而言)。但是,当前代码
orders = self.env['sale.order'].search([('external_id', '!=', '')])
for order in orders:
order.unlink()
引发异常
You can not delete a sent quotation or a sales order! Try to cancel it before.
如何在 unlink()
之前取消 order
?
已解决。在深入研究 odoo 源代码之后。我想这就是我要找的:
orders = self.env['sale.order'].search([('external_id', '!=', '')])
for order in orders:
order.action_cancel()
order.unlink()