mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-22 11:44:11 +00:00
fix: incorrect Difference Amount (#42008)
(cherry picked from commit 7d91c6cbd5)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
This commit is contained in:
@@ -404,7 +404,9 @@ class StockReconciliation(StockController):
|
|||||||
fields=["total_qty as qty", "avg_rate as rate"],
|
fields=["total_qty as qty", "avg_rate as rate"],
|
||||||
)[0]
|
)[0]
|
||||||
|
|
||||||
|
bundle_data.qty = abs(bundle_data.qty)
|
||||||
self.calculate_difference_amount(item, bundle_data)
|
self.calculate_difference_amount(item, bundle_data)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
inventory_dimensions_dict = {}
|
inventory_dimensions_dict = {}
|
||||||
@@ -464,11 +466,16 @@ class StockReconciliation(StockController):
|
|||||||
frappe.msgprint(_("Removed items with no change in quantity or value."))
|
frappe.msgprint(_("Removed items with no change in quantity or value."))
|
||||||
|
|
||||||
def calculate_difference_amount(self, item, item_dict):
|
def calculate_difference_amount(self, item, item_dict):
|
||||||
self.difference_amount += flt(item.qty, item.precision("qty")) * flt(
|
qty_precision = item.precision("qty")
|
||||||
item.valuation_rate or item_dict.get("rate"), item.precision("valuation_rate")
|
val_precision = item.precision("valuation_rate")
|
||||||
) - flt(item_dict.get("qty"), item.precision("qty")) * flt(
|
|
||||||
item_dict.get("rate"), item.precision("valuation_rate")
|
new_qty = flt(item.qty, qty_precision)
|
||||||
)
|
new_valuation_rate = flt(item.valuation_rate or item_dict.get("rate"), val_precision)
|
||||||
|
|
||||||
|
current_qty = flt(item_dict.get("qty"), qty_precision)
|
||||||
|
current_valuation_rate = flt(item_dict.get("rate"), val_precision)
|
||||||
|
|
||||||
|
self.difference_amount += (new_qty * new_valuation_rate) - (current_qty * current_valuation_rate)
|
||||||
|
|
||||||
def validate_data(self):
|
def validate_data(self):
|
||||||
def _get_msg(row_num, msg):
|
def _get_msg(row_num, msg):
|
||||||
|
|||||||
@@ -1109,6 +1109,7 @@ class TestStockReconciliation(FrappeTestCase, StockTestMixin):
|
|||||||
)
|
)
|
||||||
|
|
||||||
sr.reload()
|
sr.reload()
|
||||||
|
self.assertEqual(sr.difference_amount, 98900.0)
|
||||||
|
|
||||||
self.assertTrue(sr.items[0].current_valuation_rate)
|
self.assertTrue(sr.items[0].current_valuation_rate)
|
||||||
current_sabb = sr.items[0].current_serial_and_batch_bundle
|
current_sabb = sr.items[0].current_serial_and_batch_bundle
|
||||||
|
|||||||
Reference in New Issue
Block a user