chore: move "set_missing_values_in_additional_costs" from SCO to SC"
diff --git a/erpnext/controllers/subcontracting_controller.py b/erpnext/controllers/subcontracting_controller.py
index 2a2f8f5..a944cb8 100644
--- a/erpnext/controllers/subcontracting_controller.py
+++ b/erpnext/controllers/subcontracting_controller.py
@@ -720,6 +720,25 @@
sco_doc = frappe.get_doc("Subcontracting Order", sco)
sco_doc.update_status()
+ def set_missing_values_in_additional_costs(self):
+ self.total_additional_costs = sum(flt(item.amount) for item in self.get("additional_costs"))
+
+ if self.total_additional_costs:
+ if self.distribute_additional_costs_based_on == "Amount":
+ total_amt = sum(flt(item.amount) for item in self.get("items"))
+ for item in self.items:
+ item.additional_cost_per_qty = (
+ (item.amount * self.total_additional_costs) / total_amt
+ ) / item.qty
+ else:
+ total_qty = sum(flt(item.qty) for item in self.get("items"))
+ additional_cost_per_qty = self.total_additional_costs / total_qty
+ for item in self.items:
+ item.additional_cost_per_qty = additional_cost_per_qty
+ else:
+ for item in self.items:
+ item.additional_cost_per_qty = 0
+
@frappe.whitelist()
def get_current_stock(self):
if self.doctype in ["Purchase Receipt", "Subcontracting Receipt"]:
diff --git a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
index 1fd0746..0495fb4 100644
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
@@ -82,25 +82,6 @@
self.set_missing_values_in_supplied_items()
self.set_missing_values_in_items()
- def set_missing_values_in_additional_costs(self):
- self.total_additional_costs = sum(flt(item.amount) for item in self.get("additional_costs"))
-
- if self.total_additional_costs:
- if self.distribute_additional_costs_based_on == "Amount":
- total_amt = sum(flt(item.amount) for item in self.get("items"))
- for item in self.items:
- item.additional_cost_per_qty = (
- (item.amount * self.total_additional_costs) / total_amt
- ) / item.qty
- else:
- total_qty = sum(flt(item.qty) for item in self.get("items"))
- additional_cost_per_qty = self.total_additional_costs / total_qty
- for item in self.items:
- item.additional_cost_per_qty = additional_cost_per_qty
- else:
- for item in self.items:
- item.additional_cost_per_qty = 0
-
def set_missing_values_in_service_items(self):
for idx, item in enumerate(self.get("service_items")):
self.items[idx].service_cost_per_qty = item.amount / self.items[idx].qty