diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 3e640e7bf0c..c0f8ff6e2e2 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -450,4 +450,5 @@ erpnext.patches.v16_0.set_valuation_method_on_companies erpnext.patches.v15_0.migrate_old_item_wise_tax_detail_data_to_table erpnext.patches.v16_0.migrate_budget_records_to_new_structure erpnext.patches.v16_0.update_currency_exchange_settings_for_frankfurter -erpnext.patches.v16_0.migrate_account_freezing_settings_to_company \ No newline at end of file +erpnext.patches.v16_0.migrate_account_freezing_settings_to_company +erpnext.patches.v16_0.populate_budget_distribution_total \ No newline at end of file diff --git a/erpnext/patches/v16_0/populate_budget_distribution_total.py b/erpnext/patches/v16_0/populate_budget_distribution_total.py new file mode 100644 index 00000000000..033fb968b4f --- /dev/null +++ b/erpnext/patches/v16_0/populate_budget_distribution_total.py @@ -0,0 +1,11 @@ +import frappe +from frappe.utils import flt + + +def execute(): + budgets = frappe.get_all("Budget", filters={"docstatus": ["in", [0, 1]]}, fields=["name"]) + + for b in budgets: + doc = frappe.get_doc("Budget", b.name) + total = sum(flt(row.amount) for row in doc.budget_distribution) + doc.db_set("budget_distribution_total", total, update_modified=False)