fix: don't override reference exchange rate
(cherry picked from commit eaac02655b)
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user