İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
3214 Görünümler

Hello.

Is there any way to automatically cancel deliveries when a sales order is generated without having to uninstall any module? Is it possible from some server action?

Whenever I create a sales order automatically, the deliveries are created, but I want them to be canceled when the sales order is generated.

Thank you! Odoo 16 community

Avatar
Vazgeç
En İyi Yanıt

Hi,

You can try with an automated action, go to setting -> technical -> automated actions.

create an action and try it like this,


deliveries = env['stock.picking'].search([('origin', '=', self.name)])

for delivery in deliveries:

​delivery.action_cancel()


Note: Install the base_automation module if you couldn't find the automated actions menu inside settings.

Thanks

Avatar
Vazgeç
Üretici

I get this error when confirming the quote:
<class 'NameError'>: "name 'self' is not defined" while evaluating
"deliveries = self.env['stock.picking'].search([('sale_id', '=', self.id)])\nfor delivery in deliveries:\n delivery.action_cancel()"

I have updated the answer, remove the self and try.

Üretici

Thanks for taking the time to help me, it didn't work either, now it shows me an error in self.id, I'll keep looking for more options..
Thank you!

please try this,
self.env['stock.picking'].search([('origin', '=', self.name)])

Üretici

thanks!

İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Mar 15
3590
2
May 24
15537
1
May 25
1112
1
Nis 24
3558
1
Ara 22
1109