Merge pull request #4524 from nabinhait/jv_fix_9
[fix] Set debit/credit in company currency
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js
index 479eaaf..dc24522 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.js
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js
@@ -347,6 +347,7 @@
callback: function(r) {
if(r.message) {
$.extend(d, r.message);
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, dt, dn);
refresh_field('accounts');
}
}
@@ -355,11 +356,11 @@
},
debit_in_account_currency: function(frm, cdt, cdn) {
- erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
+ erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
},
credit_in_account_currency: function(frm, cdt, cdn) {
- erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
+ erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
},
debit: function(frm, dt, dn) {
@@ -368,6 +369,17 @@
credit: function(frm, dt, dn) {
cur_frm.cscript.update_totals(frm.doc);
+ },
+
+ exchange_rate: function(frm, cdt, cdn) {
+ var company_currency = frappe.get_doc(":Company", frm.doc.company).default_currency;
+ var row = locals[cdt][cdn];
+
+ if(row.account_currency == company_currency || !frm.doc.multi_currency) {
+ frappe.model.set_value(cdt, cdn, "exchange_rate", 1);
+ }
+
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
}
})
@@ -395,8 +407,6 @@
},
set_debit_credit_in_company_currency: function(frm, cdt, cdn) {
- erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
-
var row = locals[cdt][cdn];
frappe.model.set_value(cdt, cdn, "debit",
@@ -413,7 +423,8 @@
var row = locals[cdt][cdn];
if(row.account_currency == company_currency || !frm.doc.multi_currency) {
- frappe.model.set_value(cdt, cdn, "exchange_rate", 1);
+ row.exchange_rate = 1;
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
} else if (!row.exchange_rate || row.exchange_rate == 1 || row.account_type == "Bank") {
frappe.call({
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
@@ -429,11 +440,15 @@
},
callback: function(r) {
if(r.message) {
- frappe.model.set_value(cdt, cdn, "exchange_rate", r.message);
+ row.exchange_rate = r.message;
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
}
}
})
+ } else {
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
}
+ refresh_field("exchange_rate", cdn, "accounts");
},
quick_entry: function(frm) {