From ad04610c94c62de6c54fa05bde2c32331b222af3 Mon Sep 17 00:00:00 2001 From: Vishakh Desai Date: Tue, 1 Oct 2024 12:25:04 +0530 Subject: [PATCH 1/2] fix: get stock accounts from the doc instead of db in validate_stock_accounts (cherry picked from commit 30954586d8d8f63869cce9446b93ba6089ad4899) --- erpnext/accounts/doctype/journal_entry/journal_entry.py | 2 +- erpnext/accounts/utils.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py index b4fb13e42c3..c1d91c49d8f 100644 --- a/erpnext/accounts/doctype/journal_entry/journal_entry.py +++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py @@ -153,7 +153,7 @@ class JournalEntry(AccountsController): frappe.throw(_("Journal Entry type should be set as Depreciation Entry for asset depreciation")) def validate_stock_accounts(self): - stock_accounts = get_stock_accounts(self.company, self.doctype, self.name) + stock_accounts = get_stock_accounts(self.company, accounts=self.accounts) for account in stock_accounts: account_bal, stock_bal, warehouse_list = get_stock_and_account_balance( account, self.posting_date, self.company diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index 10f30512c0b..cb5b4479408 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -1524,12 +1524,16 @@ def compare_existing_and_expected_gle(existing_gle, expected_gle, precision): return matched -def get_stock_accounts(company, voucher_type=None, voucher_no=None): +def get_stock_accounts(company, voucher_type=None, voucher_no=None, accounts=None): stock_accounts = [ d.name for d in frappe.db.get_all("Account", {"account_type": "Stock", "company": company, "is_group": 0}) ] - if voucher_type and voucher_no: + + if accounts: + stock_accounts = [row.account for row in accounts if row.account in stock_accounts] + + elif voucher_type and voucher_no: if voucher_type == "Journal Entry": stock_accounts = [ d.account From f5f6c7609a42563df19fa873d19fc6d83c7c10bd Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Tue, 22 Oct 2024 20:27:06 +0530 Subject: [PATCH 2/2] test: fix test case --- erpnext/accounts/doctype/journal_entry/test_journal_entry.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/journal_entry/test_journal_entry.py b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py index 979f964b62a..f219c228421 100644 --- a/erpnext/accounts/doctype/journal_entry/test_journal_entry.py +++ b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py @@ -146,12 +146,12 @@ class TestJournalEntry(unittest.TestCase): "credit_in_account_currency": 0 if diff > 0 else abs(diff), }, ) - jv.insert() if account_bal == stock_bal: - self.assertRaises(StockAccountInvalidTransaction, jv.submit) + self.assertRaises(StockAccountInvalidTransaction, jv.insert) frappe.db.rollback() else: + jv.insert() jv.submit() jv.cancel()