fix: return qty error due to precision (backport #45536) (#45581)

fix: return qty error due to precision

(cherry picked from commit 3078578692)

Co-authored-by: Dany Robert <danyrt@wahni.com>
This commit is contained in:
mergify[bot]
2025-01-29 12:46:44 +05:30
committed by GitHub
parent 8b0efab13e
commit a2ffdc7805

View File

@@ -174,7 +174,11 @@ def validate_quantity(doc, key, args, ref, valid_items, already_returned_items):
)
for column in fields:
returned_qty = flt(already_returned_data.get(column, 0)) if len(already_returned_data) > 0 else 0
returned_qty = (
flt(already_returned_data.get(column, 0), stock_qty_precision)
if len(already_returned_data) > 0
else 0
)
if column == "stock_qty" and not args.get("return_qty_from_rejected_warehouse"):
reference_qty = ref.get(column)
@@ -186,7 +190,7 @@ def validate_quantity(doc, key, args, ref, valid_items, already_returned_items):
reference_qty = ref.get(column) * ref.get("conversion_factor", 1.0)
current_stock_qty = args.get(column) * args.get("conversion_factor", 1.0)
max_returnable_qty = flt(reference_qty, stock_qty_precision) - returned_qty
max_returnable_qty = flt(flt(reference_qty, stock_qty_precision) - returned_qty, stock_qty_precision)
label = column.replace("_", " ").title()
if reference_qty: