27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
# License: GNU General Public License v3. See license.txt
|
|
|
|
from __future__ import unicode_literals
|
|
import frappe
|
|
from frappe.utils import money_in_words
|
|
|
|
def execute():
|
|
company_currency = dict(frappe.db.sql("select name, default_currency from `tabCompany`"))
|
|
bank_or_cash_accounts = frappe.db.sql_list("""select name from `tabAccount`
|
|
where account_type in ('Bank', 'Cash') and docstatus < 2""")
|
|
|
|
for je in frappe.db.sql_list("""select name from `tabJournal Entry` where docstatus < 2"""):
|
|
total_amount = 0
|
|
total_amount_in_words = ""
|
|
|
|
je_doc = frappe.get_doc('Journal Entry', je)
|
|
for d in je_doc.get("accounts"):
|
|
if (d.party_type and d.party) or d.account in bank_or_cash_accounts:
|
|
total_amount = d.debit or d.credit
|
|
if total_amount:
|
|
total_amount_in_words = money_in_words(total_amount, company_currency.get(je_doc.company))
|
|
|
|
if total_amount:
|
|
frappe.db.sql("""update `tabJournal Entry` set total_amount=%s, total_amount_in_words=%s
|
|
where name = %s""", (total_amount, total_amount_in_words, je))
|