Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
2636 Zobrazení

hello, i am trying to restrict sales order confirmation by checking if the specified quantity within the order lines is available in the inventory.

for example if someone using the sales module wants to create a quotation and selects a product and sets quantity to 1,000 but there are only 900 units in the inventory i want it to reject this sales order or maybe even trigger an error.

thanks 

p.s. im using odoo 15

Avatar
Zrušit
Nejlepší odpověď

Hi,

Try to refer the following code.

from odoo import models, api, exceptions

class SaleOrder(models.Model):

    _inherit = 'sale.order'

    def action_confirm(self):

        for line in self.order_line:

            product_qty_available = line.product_id.qty_available

            if product_qty_available < line.product_uom_qty:

                raise exceptions.Warning('Not enough stock available for product %s. Available quantity: %s' % (line.product_id.name, product_qty_available))

        return super(SaleOrder, self).action_confirm()


Hope it helps


Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
3
úno 25
1995
1
pro 24
2115
2
bře 24
2454
2
bře 24
2985
0
zář 23
1536