From ed231abb54544f7362812500d9cbaefce09f778d Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Thu, 19 Dec 2024 17:06:54 +0530 Subject: [PATCH 1/2] fix: Ledger repost support for extending app doctypes --- .../repost_accounting_ledger.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py index 0bd9a2a0515..7f2d437aece 100644 --- a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py +++ b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py @@ -1,6 +1,8 @@ # Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors # For license information, please see license.txt +import inspect + import frappe from frappe import _, qb from frappe.model.document import Document @@ -142,6 +144,8 @@ class RepostAccountingLedger(Document): @frappe.whitelist() def start_repost(account_repost_doc=str) -> None: + from erpnext.accounts.general_ledger import make_reverse_gl_entries + frappe.flags.through_repost_accounting_ledger = True if account_repost_doc: repost_doc = frappe.get_doc("Repost Accounting Ledger", account_repost_doc) @@ -177,6 +181,14 @@ def start_repost(account_repost_doc=str) -> None: if not repost_doc.delete_cancelled_entries: doc.make_gl_entries(1) doc.make_gl_entries() + else: + if hasattr(doc, "make_gl_entries") and callable(doc.make_gl_entries): + if not repost_doc.delete_cancelled_entries: + if "cancel" in inspect.getfullargspec(doc.make_gl_entries): + doc.make_gl_entries(cancel=1) + else: + make_reverse_gl_entries(voucher_type=doc.doctype, voucher_no=doc.name) + doc.make_gl_entries() def get_allowed_types_from_settings(): From 919abd2c03865ab671c6977f735638b2f43753b0 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Sun, 22 Dec 2024 20:34:31 +0530 Subject: [PATCH 2/2] fix: Add hooks for repost allowed doctypes --- .../repost_accounting_ledger/repost_accounting_ledger.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py index 7f2d437aece..73977f5d560 100644 --- a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py +++ b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py @@ -181,7 +181,7 @@ def start_repost(account_repost_doc=str) -> None: if not repost_doc.delete_cancelled_entries: doc.make_gl_entries(1) doc.make_gl_entries() - else: + elif doc.doctype in frappe.get_hooks("repost_allowed_doctypes"): if hasattr(doc, "make_gl_entries") and callable(doc.make_gl_entries): if not repost_doc.delete_cancelled_entries: if "cancel" in inspect.getfullargspec(doc.make_gl_entries):