From 5818ae1e049726330fc50e5a8ab6409d0eca7d78 Mon Sep 17 00:00:00 2001 From: Javier Vega Date: Thu, 6 Nov 2025 15:40:03 -0600 Subject: [PATCH] [IMP] pos_sale: read_converted now uses method to get lines UoM - Addded method `get_product_uom` to the `sale.order.line` model. - Method `read_converted` now uses `get_product_uom`. This improves the quality of the method `read_converted`, being able to specify a UoM instead of always depending of same product field. --- addons/pos_sale/models/sale_order.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/pos_sale/models/sale_order.py b/addons/pos_sale/models/sale_order.py index a8df0c838a45a6..d97b33873aebbc 100644 --- a/addons/pos_sale/models/sale_order.py +++ b/addons/pos_sale/models/sale_order.py @@ -101,12 +101,15 @@ def _compute_qty_invoiced(self): def _get_sale_order_fields(self): return ["product_id", "display_name", "price_unit", "product_uom_qty", "tax_id", "qty_delivered", "qty_invoiced", "discount", "qty_to_invoice", "price_total", "is_downpayment"] + def get_product_uom(self): + return self.product_id.uom_id + def read_converted(self): field_names = self._get_sale_order_fields() results = [] for sale_line in self: if sale_line.product_type or (sale_line.is_downpayment and sale_line.price_unit != 0): - product_uom = sale_line.product_id.uom_id + product_uom = sale_line.get_product_uom() sale_line_uom = sale_line.product_uom item = sale_line.read(field_names, load=False)[0] if sale_line.product_id.tracking != 'none':