From e683ce7e62f1b42c602226d3f10c997a227c884a Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Thu, 14 May 2026 12:32:31 +0200 Subject: [PATCH] Bug check qt --- modules/purchase_trade/purchase.py | 18 +++++++++++++----- modules/purchase_trade/sale.py | 18 +++++++++++++----- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/modules/purchase_trade/purchase.py b/modules/purchase_trade/purchase.py index cf15200..a0b2f30 100755 --- a/modules/purchase_trade/purchase.py +++ b/modules/purchase_trade/purchase.py @@ -1751,11 +1751,19 @@ class Line(metaclass=PoolMeta): if free_lqts: lqt = free_lqts[0] - if Decimal(lqt.lot_quantity or 0) != free_quantity: - lqt.lot_quantity = free_quantity - with Transaction().set_context( - _purchase_trade_skip_quantity_consistency=True): - LotQt.save([lqt]) + logger.info( + "PURCHASE_QTY_SYNC_FREE_BEFORE lqt=%s quantity=%s new=%s", + getattr(lqt, 'id', None), + getattr(lqt, 'lot_quantity', None), + free_quantity) + lqt.lot_quantity = free_quantity + with Transaction().set_context( + _purchase_trade_skip_quantity_consistency=True): + LotQt.save([lqt]) + logger.info( + "PURCHASE_QTY_SYNC_FREE_AFTER lqt=%s quantity=%s", + getattr(lqt, 'id', None), + getattr(LotQt(getattr(lqt, 'id')), 'lot_quantity', None)) elif free_quantity > 0: lqt = LotQt() lqt.lot_p = vlot.id diff --git a/modules/purchase_trade/sale.py b/modules/purchase_trade/sale.py index d127ec6..54b6fe0 100755 --- a/modules/purchase_trade/sale.py +++ b/modules/purchase_trade/sale.py @@ -1865,11 +1865,19 @@ class SaleLine(metaclass=PoolMeta): if free_lqts: lqt = free_lqts[0] - if Decimal(lqt.lot_quantity or 0) != free_quantity: - lqt.lot_quantity = free_quantity - with Transaction().set_context( - _purchase_trade_skip_quantity_consistency=True): - LotQt.save([lqt]) + logger.info( + "SALE_QTY_SYNC_FREE_BEFORE lqt=%s quantity=%s new=%s", + getattr(lqt, 'id', None), + getattr(lqt, 'lot_quantity', None), + free_quantity) + lqt.lot_quantity = free_quantity + with Transaction().set_context( + _purchase_trade_skip_quantity_consistency=True): + LotQt.save([lqt]) + logger.info( + "SALE_QTY_SYNC_FREE_AFTER lqt=%s quantity=%s", + getattr(lqt, 'id', None), + getattr(LotQt(getattr(lqt, 'id')), 'lot_quantity', None)) elif free_quantity > 0: lqt = LotQt() lqt.lot_p = None