From 433d84b2ff0e49ac543b2906081d5738dd9abc52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gast=C3=B3n=20Bertolani?= <gaston.bertolani@gmail.com>
Date: Thu, 29 Nov 2018 14:51:16 -0300
Subject: [PATCH 1/2] [FIX]Available Quantity

---
 i18n/es_AR.po              |  8 ++++++++
 models/barcode_scanning.py | 10 ++++++++++
 2 files changed, 18 insertions(+)

diff --git a/i18n/es_AR.po b/i18n/es_AR.po
index 9fe875b..33701b9 100644
--- a/i18n/es_AR.po
+++ b/i18n/es_AR.po
@@ -108,6 +108,14 @@ msgstr "Template"
 msgid "The configuration must be unique per company!"
 msgstr "La configuración debe ser unica por empresa!"
 
+#. module: scanning_picking_split
+#: code:addons/scanning_picking_split/models/barcode_scanning.py:105
+#, python-format
+msgid "There are not stock for product [%s]%s. \n"
+"Available Quantity: %s"
+msgstr "No hay stock para el producto [%s]%s. \n"
+"Cantidad Disponible: %s"
+
 #. module: scanning_picking_split
 #: model:ir.model,name:scanning_picking_split.model_scan_picking_split_config
 msgid "scan.picking.split.config"
diff --git a/models/barcode_scanning.py b/models/barcode_scanning.py
index 27fa4d7..c293f7a 100644
--- a/models/barcode_scanning.py
+++ b/models/barcode_scanning.py
@@ -96,6 +96,16 @@ class StockPickingBarcodeScan(models.Model):
             picking_vals = self._prepare_picking()
             picking = picking_obj.create(picking_vals)
             for barcode_line in groups:
+                if not self.operation_scan_id:
+                    product = barcode_line.product_id
+                    barcode = barcode_line.barcode
+                    available_quantity = quant_obj._get_available_quantity(
+                            product, location)
+                    if barcode_line.product_qty > available_quantity:
+                        msg = _("There are not stock for product [%s]%s. \n"\
+                                "Available Quantity: %s")%(barcode, product.name, available_quantity)
+                        raise Warning(msg)
+
                 move_ids = []
                 move_lst = self._prepare_stock_move(barcode_line, picking)
                 for move_vals in move_lst:
-- 
GitLab


From 2d1c53350e0fffbc42fa000445f35810eaea8d3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gast=C3=B3n=20Bertolani?= <gaston.bertolani@gmail.com>
Date: Thu, 29 Nov 2018 15:07:11 -0300
Subject: [PATCH 2/2] [FIX]quant obj

---
 models/barcode_scanning.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/models/barcode_scanning.py b/models/barcode_scanning.py
index c293f7a..25ca100 100644
--- a/models/barcode_scanning.py
+++ b/models/barcode_scanning.py
@@ -69,6 +69,7 @@ class StockPickingBarcodeScan(models.Model):
         picking_obj = self.env['stock.picking']
         move_obj = self.env['stock.move']
         picking_split_conf_obj = self.env['scan.picking.split.config']
+        quant_obj = self.env['stock.quant']
         operation_type = self.picking_type_code
 
         #Solamente para outs
-- 
GitLab