diff --git a/product_catch_weight/models/account_invoice.py b/product_catch_weight/models/account_invoice.py
index ee8c9f92..c6b3db66 100644
--- a/product_catch_weight/models/account_invoice.py
+++ b/product_catch_weight/models/account_invoice.py
@@ -27,8 +27,12 @@ class AccountInvoiceLine(models.Model):
move_lines = self.purchase_line_id.mapped('move_ids.move_line_ids')
for move_line in move_lines:
qty_done = move_line.qty_done
+ current_qty_done = qty_done + qty_done_total
r = move_line.lot_id.catch_weight_ratio
- ratio = ((ratio * qty_done_total) + (qty_done * r)) / (qty_done + qty_done_total)
+ if current_qty_done == 0:
+ ratio = 0
+ else:
+ ratio = ((ratio * qty_done_total) + (qty_done * r)) / current_qty_done
qty_done_total += qty_done
catch_weight += move_line.lot_id.catch_weight
price = price * ratio
diff --git a/product_catch_weight/models/stock.py b/product_catch_weight/models/stock.py
index 1ad5d3b6..c5cc9363 100644
--- a/product_catch_weight/models/stock.py
+++ b/product_catch_weight/models/stock.py
@@ -8,7 +8,6 @@ class StockProductionLot(models.Model):
catch_weight = fields.Float(string='Catch Weight', digits=(10, 4))
catch_weight_uom_id = fields.Many2one('product.uom', related='product_id.catch_weight_uom_id')
-
@api.depends('catch_weight')
def _compute_catch_weight_ratio(self):
for lot in self:
@@ -44,3 +43,14 @@ class StockMoveLine(models.Model):
catch_weight_uom_id = fields.Many2one('product.uom', string='Catch Weight UOM')
lot_catch_weight = fields.Float(related='lot_id.catch_weight')
lot_catch_weight_uom_id = fields.Many2one('product.uom', related='product_id.catch_weight_uom_id')
+
+
+class StockPicking(models.Model):
+ _inherit = 'stock.picking'
+
+ has_catch_weight = fields.Boolean(string="Has Catch Weight", compute='_compute_has_catch_weight', store=True)
+
+ @api.depends('move_lines.product_catch_weight_uom_id')
+ def _compute_has_catch_weight(self):
+ for picking in self:
+ picking.has_catch_weight = any(picking.mapped('move_lines.product_catch_weight_uom_id'))
diff --git a/product_catch_weight/views/stock_views.xml b/product_catch_weight/views/stock_views.xml
index 40e2d9dd..3ce9015d 100644
--- a/product_catch_weight/views/stock_views.xml
+++ b/product_catch_weight/views/stock_views.xml
@@ -13,16 +13,6 @@
-
-
-
-
-
-
-
-
-
-
stock.move.operations.form.inherit
stock.move
@@ -36,6 +26,7 @@
+
stock.move.line.operations.tree.inherit
stock.move.line
@@ -49,6 +40,7 @@
+
product.template.common.form.inherit
product.template
@@ -59,4 +51,18 @@
+
+
+ stock.view.picking.internal.search.inherit
+ stock.picking
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file