From 5e66ce121bda8fa44f4eebee73b07bde9a8c22ca Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 3 Oct 2012 16:58:24 +0530 Subject: [PATCH] fix wrong vouchers due to Valuation charges --- .../purchase_invoice/purchase_invoice.py | 3 +- patches/october_2012/fix_wrong_vouchers.py | 36 ++++++++++++------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py index 9e92b85aa1..1176685533 100644 --- a/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -481,7 +481,8 @@ class DocType(TransactionBase): pc_obj = get_obj(dt='Purchase Common') # get total in words - self.doc.in_words = pc_obj.get_total_in_words('Rs', self.doc.grand_total) + dcc = TransactionBase().get_company_currency(self.doc.company) + self.doc.in_words = pc_obj.get_total_in_words(dcc, self.doc.grand_total) self.doc.in_words_import = pc_obj.get_total_in_words(self.doc.currency, self.doc.grand_total_import) # ***************************** SUBMIT ***************************** # Check Ref Document docstatus diff --git a/patches/october_2012/fix_wrong_vouchers.py b/patches/october_2012/fix_wrong_vouchers.py index 62188614d5..56bbececb0 100644 --- a/patches/october_2012/fix_wrong_vouchers.py +++ b/patches/october_2012/fix_wrong_vouchers.py @@ -2,7 +2,8 @@ def execute(): import webnotes from webnotes.utils import flt from webnotes.model.code import get_obj - + from webnotes.utils import money_in_words + vouchers = webnotes.conn.sql(""" select parent, parenttype, modified, docstatus, @@ -26,7 +27,7 @@ def execute(): (d['parenttype'], '%s'), d['parent']) correct_total_tax = flt(d['tax_added']) - flt(d['tax_ded']) - if flt(current_total_tax[0][0]) != correct_total_tax: + if flt(current_total_tax[0][0]) != correct_total_tax: if d['parenttype'] == 'Purchase Invoice': webnotes.conn.sql(""" update `tab%s` @@ -43,15 +44,7 @@ def execute(): where name = %s """ % (d['parenttype'], '%s', '%s', '%s', '%s'), - (correct_total_tax, d['tax_added'], d['tax_ded'], d['parent'])) - - # post gl entry - if d['docstatus'] == 1: - webnotes.conn.sql("""update `tabGL Entry` set is_cancelled = 'No' - where voucher_type = %s and voucher_no = %s""", - (d['parenttype'], d['parent'])) - obj = get_obj(d['parenttype'], d['parent'], with_children=1) - obj.make_gl_entries() + (correct_total_tax, d['tax_added'], d['tax_ded'], d['parent'])) else: webnotes.conn.sql(""" @@ -62,4 +55,23 @@ def execute(): grand_total_import = grand_total / conversion_rate where name = %s - """ % (d[1], '%s', '%s'), (correct_total_tax, d['parent'])) \ No newline at end of file + """ % (d[1], '%s', '%s'), (correct_total_tax, d['parent'])) + + # set in words + obj = get_obj(d['parenttype'], d['parent'], with_children=1) + + base_currency = webnotes.conn.get_value('Company', obj.doc.company, 'default_currency')\ + or get_defaults('default_currency') + + webnotes.conn.set_value(d['parenttype'], d['parent'], \ + 'in_words', money_in_words(obj.doc.grand_total, base_currency)) + webnotes.conn.set_value(d['parenttype'], d['parent'], \ + 'in_words_import', money_in_words(obj.doc.grand_total_import, obj.doc.currency)) + + # fix gl entries + if d['parenttype'] == 'Purchase Invoice' and d['docstatus'] == 1: + webnotes.conn.sql("""update `tabGL Entry` set is_cancelled = 'No' + where voucher_type = %s and voucher_no = %s""", + (d['parenttype'], d['parent'])) + + obj.make_gl_entries() \ No newline at end of file