From dc1e12ca3a754852dc7b08bd12e8bcb9cd27c8d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 9 Apr 2026 18:24:39 +0200 Subject: [PATCH] Cast to integer reporting ID calculated using SQL Power Closes #14732 (grafted from 2119eb22022587466530ff1221b13397c660cfaf) --HG-- branch : 7.0 --- modules/sale/sale_reporting.py | 5 +++-- modules/stock/stock_reporting_margin.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/sale/sale_reporting.py b/modules/sale/sale_reporting.py index 6d2fbcbaf5..e48ebf973c 100644 --- a/modules/sale/sale_reporting.py +++ b/modules/sale/sale_reporting.py @@ -417,7 +417,7 @@ class CustomerCategoryMixin: # by using a number one order bigger. nb_category = category.select( Power(10, (Ceil(Log(Max(category.id))) + Literal(1)))) - return Min(line.id * nb_category + party_category.id) + return cls.id.sql_cast(Min(line.id * nb_category + party_category.id)) @classmethod def _group_by(cls, tables, withs): @@ -664,7 +664,8 @@ class ProductCategoryMixin(object): # by using number one order bigger. nb_category = category.select( Power(10, (Ceil(Log(Max(category.id))) + Literal(1)))) - return Min(line.id * nb_category + template_category.id) + return cls.id.sql_cast( + Min(line.id * nb_category + template_category.id)) @classmethod def _group_by(cls, tables, withs): diff --git a/modules/stock/stock_reporting_margin.py b/modules/stock/stock_reporting_margin.py index 658cb00532..2110d73327 100644 --- a/modules/stock/stock_reporting_margin.py +++ b/modules/stock/stock_reporting_margin.py @@ -482,7 +482,8 @@ class CategoryMixin: # by using number one order bigger. nb_category = category.select( Power(10, (Ceil(Log(Max(category.id))) + Literal(1)))) - return Min(move.id * nb_category + template_category.id) + return cls.id.sql_cast( + Min(move.id * nb_category + template_category.id)) @classmethod def _group_by(cls, tables, withs):