fix: recalculate costs in SCR while reposting
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index 8b517bf..aa272cb 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -781,13 +781,19 @@
d.db_update()
def update_rate_on_subcontracting_receipt(self, sle, outgoing_rate):
- if frappe.db.exists(sle.voucher_type + " Item", sle.voucher_detail_no):
- frappe.db.set_value(sle.voucher_type + " Item", sle.voucher_detail_no, "rate", outgoing_rate)
+ if frappe.db.exists("Subcontracting Receipt Item", sle.voucher_detail_no):
+ frappe.db.set_value("Subcontracting Receipt Item", sle.voucher_detail_no, "rate", outgoing_rate)
else:
frappe.db.set_value(
"Subcontracting Receipt Supplied Item", sle.voucher_detail_no, "rate", outgoing_rate
)
+ scr = frappe.get_doc("Subcontracting Receipt", sle.voucher_no, for_update=True)
+ scr.set_missing_values()
+ scr.db_update()
+ for d in scr.items + scr.get("supplied_items", []):
+ d.db_update()
+
def get_serialized_values(self, sle):
incoming_rate = flt(sle.incoming_rate)
actual_qty = flt(sle.actual_qty)