mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-06 23:10:26 +00:00
Merge pull request #50465 from frappe/mergify/bp/version-15-hotfix/pr-50366
refactor: enqueue exchange rate revaluation per company (backport #50366)
This commit is contained in:
@@ -1755,24 +1755,22 @@ def check_and_delete_linked_reports(report):
|
|||||||
frappe.delete_doc("Desktop Icon", icon)
|
frappe.delete_doc("Desktop Icon", icon)
|
||||||
|
|
||||||
|
|
||||||
def create_err_and_its_journals(companies: list | None = None) -> None:
|
def create_err_and_its_journals(company: dict) -> None:
|
||||||
if companies:
|
err = frappe.new_doc("Exchange Rate Revaluation")
|
||||||
for company in companies:
|
err.company = company.name
|
||||||
err = frappe.new_doc("Exchange Rate Revaluation")
|
err.posting_date = nowdate()
|
||||||
err.company = company.name
|
err.rounding_loss_allowance = 0.0
|
||||||
err.posting_date = nowdate()
|
|
||||||
err.rounding_loss_allowance = 0.0
|
|
||||||
|
|
||||||
err.fetch_and_calculate_accounts_data()
|
err.fetch_and_calculate_accounts_data()
|
||||||
if err.accounts:
|
if err.accounts:
|
||||||
err.save().submit()
|
err.save().submit()
|
||||||
response = err.make_jv_entries()
|
response = err.make_jv_entries()
|
||||||
|
|
||||||
if company.submit_err_jv:
|
if company.submit_err_jv:
|
||||||
jv = response.get("revaluation_jv", None)
|
jv = response.get("revaluation_jv", None)
|
||||||
jv and frappe.get_doc("Journal Entry", jv).submit()
|
jv and frappe.get_doc("Journal Entry", jv).submit()
|
||||||
jv = response.get("zero_balance_jv", None)
|
jv = response.get("zero_balance_jv", None)
|
||||||
jv and frappe.get_doc("Journal Entry", jv).submit()
|
jv and frappe.get_doc("Journal Entry", jv).submit()
|
||||||
|
|
||||||
|
|
||||||
def _auto_create_exchange_rate_revaluation_for(frequency: str) -> None:
|
def _auto_create_exchange_rate_revaluation_for(frequency: str) -> None:
|
||||||
@@ -1785,7 +1783,14 @@ def _auto_create_exchange_rate_revaluation_for(frequency: str) -> None:
|
|||||||
filters={"auto_exchange_rate_revaluation": 1, "auto_err_frequency": frequency},
|
filters={"auto_exchange_rate_revaluation": 1, "auto_err_frequency": frequency},
|
||||||
fields=["name", "submit_err_jv"],
|
fields=["name", "submit_err_jv"],
|
||||||
)
|
)
|
||||||
create_err_and_its_journals(companies)
|
|
||||||
|
if companies:
|
||||||
|
for company in companies:
|
||||||
|
frappe.enqueue(
|
||||||
|
"erpnext.accounts.utils.create_err_and_its_journals",
|
||||||
|
company=company,
|
||||||
|
queue="long",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def auto_create_exchange_rate_revaluation_daily() -> None:
|
def auto_create_exchange_rate_revaluation_daily() -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user