fix: do not modify rate in the child item merely for comparison (#53301)

This commit is contained in:
Mihir Kandoi
2026-03-12 14:30:00 +05:30
committed by GitHub
parent 3bb18d0baf
commit 7f644785ce

View File

@@ -527,11 +527,11 @@ class StockReconciliation(StockController):
return True
rate_precision = item.precision("valuation_rate")
item_dict["rate"] = flt(item_dict.get("rate"), rate_precision)
item.valuation_rate = flt(item.valuation_rate, rate_precision) if item.valuation_rate else None
rate = flt(item_dict.get("rate"), rate_precision)
valuation_rate = flt(item.valuation_rate, rate_precision) if item.valuation_rate else None
if (
(item.qty is None or item.qty == item_dict.get("qty"))
and (item.valuation_rate is None or item.valuation_rate == item_dict.get("rate"))
and (valuation_rate is None or valuation_rate == rate)
and (not item.serial_no or (item.serial_no == item_dict.get("serial_nos")))
):
return False
@@ -1011,9 +1011,9 @@ class StockReconciliation(StockController):
def set_total_qty_and_amount(self):
for d in self.get("items"):
d.amount = flt(d.qty, d.precision("qty")) * flt(d.valuation_rate, d.precision("valuation_rate"))
d.current_amount = flt(d.current_qty, d.precision("current_qty")) * flt(
d.current_valuation_rate, d.precision("current_valuation_rate")
d.amount = flt(flt(d.qty) * flt(d.valuation_rate), d.precision("amount"))
d.current_amount = flt(
flt(d.current_qty) * flt(d.current_valuation_rate), d.precision("current_amount")
)
d.quantity_difference = flt(d.qty) - flt(d.current_qty)