Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
1670 Tampilan

Hello,

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

Avatar
Buang
Jawaban Terbai

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
Buang
Post Terkait Replies Tampilan Aktivitas
1
Agu 25
446
0
Jun 24
1794
4
Jun 24
4046
0
Mar 24
1912
2
Jan 24
2240