[Fix] Exchange rate revaluation, get entries not working if accounts of the other currency than company currency not available (#16379)
diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js
index c18057e..779cd61 100644
--- a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js
+++ b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.js
@@ -39,6 +39,8 @@
});
frm.events.get_total_gain_loss(frm);
refresh_field("accounts");
+ } else {
+ frappe.msgprint(__("No records found"));
}
}
});
diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
index ae77516..cdfe34b 100644
--- a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
+++ b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
@@ -67,17 +67,19 @@
and account_currency != %s
order by name""",(self.company, company_currency))
- account_details = frappe.db.sql("""
- select
- account, party_type, party, account_currency,
- sum(debit_in_account_currency) - sum(credit_in_account_currency) as balance_in_account_currency,
- sum(debit) - sum(credit) as balance
- from `tabGL Entry`
- where account in (%s)
- group by account, party_type, party
- having sum(debit) != sum(credit)
- order by account
- """ % ', '.join(['%s']*len(accounts)), tuple(accounts), as_dict=1)
+ account_details = []
+ if accounts:
+ account_details = frappe.db.sql("""
+ select
+ account, party_type, party, account_currency,
+ sum(debit_in_account_currency) - sum(credit_in_account_currency) as balance_in_account_currency,
+ sum(debit) - sum(credit) as balance
+ from `tabGL Entry`
+ where account in (%s)
+ group by account, party_type, party
+ having sum(debit) != sum(credit)
+ order by account
+ """ % ', '.join(['%s']*len(accounts)), tuple(accounts), as_dict=1)
return account_details