Skip to Content
Menú
This question has been flagged
1 Respondre
1552 Vistes

Hello,

I want to prevent the sale of a product if it reaches a specific quantity odoo 17

Avatar
Descartar
Best Answer

Hello,


To prevent the sale of a product if it reaches a specific quantity in Odoo 17, you can achieve this by creating a custom module or by using server actions and automated actions to enforce this restriction. Here’s a step-by-step guide on how you can implement this using a custom module approach:


1. Create a new model file for the product extension:


  from odoo import models, fields


  class ProductTemplate(models.Model):

      _inherit = 'product.template'


      min_qty = fields.Float(string='Minimum Quantity', default=0.0, help='Minimum quantity for the product to trigger the restriction.')


2. Define the sale order model:


  from odoo import models, fields, api, _

  from odoo.exceptions import UserError


  class SaleOrderLine(models.Model):

      _inherit = 'sale.order.line'


      @api.constrains('product_uom_qty')

      def _check_product_quantity(self):

          for line in self:

              if line.product_id.qty_available

                  raise UserError(_(

                      'You cannot sell this product because it has reached the minimum quantity limit: %s' % line.product_id.name))


This will prevent the sale of a product if it reaches a specific quantity by checking the available quantity against a defined minimum quantity for the product. If the available quantity is less than or equal to the minimum quantity, an error will be raised, preventing the sale.


Hope it helps.

Avatar
Descartar
Related Posts Respostes Vistes Activitat
1
d’ag. 25
222
0
de juny 24
1633
4
de juny 24
3621
0
de març 24
1705
2
de gen. 24
2106