From 03a3c852c33d2aed8648dbad273748559120b8cd Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 8 Nov 2016 17:25:14 +0530 Subject: [PATCH] [patch] Set base amount in Sales Invoice Payment table --- erpnext/patches.txt | 3 ++- ...et_base_amount_in_invoice_payment_table.py | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 erpnext/patches/v7_0/set_base_amount_in_invoice_payment_table.py diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 85dcc20c5e8..7bf0d826dfb 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -321,4 +321,5 @@ erpnext.patches.v7_0.update_mode_of_payment_type finally:erpnext.patches.v7_0.update_timesheet_communications erpnext.patches.v7_0.update_status_of_zero_amount_sales_order erpnext.patches.v7_0.repost_bin_qty_and_item_projected_qty -erpnext.patches.v7_0.repost_gle_for_pi_with_update_stock #2016-11-01 \ No newline at end of file +erpnext.patches.v7_0.repost_gle_for_pi_with_update_stock #2016-11-01 +erpnext.patches.v7_0.set_base_amount_in_invoice_payment_table \ No newline at end of file diff --git a/erpnext/patches/v7_0/set_base_amount_in_invoice_payment_table.py b/erpnext/patches/v7_0/set_base_amount_in_invoice_payment_table.py new file mode 100644 index 00000000000..89ce43bfa32 --- /dev/null +++ b/erpnext/patches/v7_0/set_base_amount_in_invoice_payment_table.py @@ -0,0 +1,23 @@ +from __future__ import unicode_literals +import frappe +from frappe.utils import flt + +def execute(): + si_list = frappe.db.sql(""" + select distinct parent + from `tabSales Invoice Payment` + where docstatus!=2 and amount != 0 and base_amount = 0 + """) + + count = 0 + for d in si_list: + si = frappe.get_doc("Sales Invoice", d[0]) + for p in si.get("payments"): + if p.amount and not p.base_amount: + base_amount = flt(p.amount*si.conversion_rate, si.precision("base_paid_amount")) + frappe.db.set_value("Sales Invoice Payment", p.name, "base_amount", base_amount, update_modified=False) + + count +=1 + + if count % 200 == 0: + frappe.db.commit() \ No newline at end of file