fix: don't override reference exchange rate

(cherry picked from commit eaac02655b)
This commit is contained in:
ruthra kumar
2024-02-28 17:07:37 +05:30
committed by Mergify
parent 1b5a23709a
commit e25ec4156e
2 changed files with 7 additions and 2 deletions

View File

@@ -335,7 +335,10 @@ class PaymentEntry(AccountsController):
) )
def set_missing_ref_details( def set_missing_ref_details(
self, force: bool = False, update_ref_details_only_for: list | None = None self,
force: bool = False,
update_ref_details_only_for: list | None = None,
ref_exchange_rate: float | None = None,
) -> None: ) -> None:
for d in self.get("references"): for d in self.get("references"):
if d.allocated_amount: if d.allocated_amount:
@@ -347,6 +350,8 @@ class PaymentEntry(AccountsController):
ref_details = get_reference_details( ref_details = get_reference_details(
d.reference_doctype, d.reference_name, self.party_account_currency d.reference_doctype, d.reference_name, self.party_account_currency
) )
if ref_exchange_rate:
ref_details.update({"exchange_rate": ref_exchange_rate})
for field, value in ref_details.items(): for field, value in ref_details.items():
if d.exchange_gain_loss: if d.exchange_gain_loss:

View File

@@ -682,7 +682,7 @@ def update_reference_in_payment_entry(
payment_entry.setup_party_account_field() payment_entry.setup_party_account_field()
payment_entry.set_missing_values() payment_entry.set_missing_values()
if not skip_ref_details_update_for_pe: if not skip_ref_details_update_for_pe:
payment_entry.set_missing_ref_details() payment_entry.set_missing_ref_details(ref_exchange_rate=d.exchange_rate or None)
payment_entry.set_amounts() payment_entry.set_amounts()
payment_entry.make_exchange_gain_loss_journal( payment_entry.make_exchange_gain_loss_journal(