fix wrong vouchers due to Valuation charges
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py
index 9e92b85..1176685 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -481,7 +481,8 @@
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 6218861..56bbece 100644
--- a/patches/october_2012/fix_wrong_vouchers.py
+++ b/patches/october_2012/fix_wrong_vouchers.py
@@ -2,7 +2,8 @@
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 @@
(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 @@
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 @@
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