From 4f5f8d78066062653ed2de8e3e5642ccf4e96c40 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 14 Jul 2016 14:31:15 +0530 Subject: [PATCH] Set target exchange rate from source if currency is same --- .../doctype/payment_entry/payment_entry.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.js b/erpnext/accounts/doctype/payment_entry/payment_entry.js index ba76bdc0ad9..2fa627f5a42 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.js +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.js @@ -376,14 +376,32 @@ frappe.ui.form.on('Payment Entry', { source_exchange_rate: function(frm) { if (frm.doc.paid_amount) { frm.set_value("base_paid_amount", flt(frm.doc.paid_amount) * flt(frm.doc.source_exchange_rate)); + if(!frm.set_paid_amount_based_on_received_amount && + (frm.doc.paid_from_account_currency == frm.doc.paid_to_account_currency)) { + frm.set_value("target_exchange_rate", frm.doc.source_exchange_rate); + frm.set_value("base_received_amount", frm.doc.base_paid_amount); + } + + frm.events.set_difference_amount(frm); } }, target_exchange_rate: function(frm) { + frm.set_paid_amount_based_on_received_amount = true; + if (frm.doc.received_amount) { frm.set_value("base_received_amount", flt(frm.doc.received_amount) * flt(frm.doc.target_exchange_rate)); + + if(!frm.doc.source_exchange_rate && + (frm.doc.paid_from_account_currency == frm.doc.paid_to_account_currency)) { + frm.set_value("source_exchange_rate", frm.doc.target_exchange_rate); + frm.set_value("base_paid_amount", frm.doc.base_received_amount); + } + + frm.events.set_difference_amount(frm); } + frm.set_paid_amount_based_on_received_amount = false; }, paid_amount: function(frm) {