mirror of
https://github.com/frappe/erpnext.git
synced 2026-09-17 10:36:31 +00:00
Merge pull request #56141 from frappe/refactor/journal-entry-client-script
refactor: simplify Journal Entry client script
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -893,7 +893,7 @@ class JournalEntry(AccountsController):
|
|||||||
msgprint(_("'Entries' cannot be empty"), raise_exception=True)
|
msgprint(_("'Entries' cannot be empty"), raise_exception=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
self.total_debit, self.total_credit = 0, 0
|
self.set_total_debit_credit()
|
||||||
diff = flt(self.difference, self.precision("difference"))
|
diff = flt(self.difference, self.precision("difference"))
|
||||||
if diff:
|
if diff:
|
||||||
self._apply_difference_to_blank_row(diff, difference_account)
|
self._apply_difference_to_blank_row(diff, difference_account)
|
||||||
|
|||||||
@@ -764,6 +764,29 @@ class TestJournalEntry(ERPNextTestSuite):
|
|||||||
self.assertEqual(blank_row.credit_in_account_currency, 100)
|
self.assertEqual(blank_row.credit_in_account_currency, 100)
|
||||||
self.assertEqual(jv.total_debit, jv.total_credit)
|
self.assertEqual(jv.total_debit, jv.total_credit)
|
||||||
|
|
||||||
|
def test_get_balance_recomputes_difference_ignoring_client_value(self):
|
||||||
|
"""get_balance computes its own difference instead of trusting a stale client-sent value."""
|
||||||
|
jv = frappe.new_doc("Journal Entry")
|
||||||
|
jv.company = "_Test Company"
|
||||||
|
jv.posting_date = nowdate()
|
||||||
|
jv.append(
|
||||||
|
"accounts",
|
||||||
|
{
|
||||||
|
"account": "_Test Cash - _TC",
|
||||||
|
"debit_in_account_currency": 100,
|
||||||
|
"debit": 100,
|
||||||
|
"exchange_rate": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
jv.append("accounts", {"account": "_Test Bank - _TC", "exchange_rate": 1})
|
||||||
|
# a stale/incorrect value as the client might send; get_balance must not rely on it
|
||||||
|
jv.difference = 0
|
||||||
|
|
||||||
|
jv.get_balance()
|
||||||
|
self.assertEqual(jv.accounts[1].credit_in_account_currency, 100)
|
||||||
|
self.assertEqual(jv.total_debit, jv.total_credit)
|
||||||
|
self.assertEqual(jv.difference, 0)
|
||||||
|
|
||||||
def test_get_outstanding_invoices_builds_write_off_rows(self):
|
def test_get_outstanding_invoices_builds_write_off_rows(self):
|
||||||
"""Characterize: get_outstanding_invoices adds a party row for each outstanding invoice."""
|
"""Characterize: get_outstanding_invoices adds a party row for each outstanding invoice."""
|
||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
{
|
{
|
||||||
"bold": 1,
|
"bold": 1,
|
||||||
"columns": 4,
|
"columns": 4,
|
||||||
|
"fetch_from": "bank_account.account",
|
||||||
"fieldname": "account",
|
"fieldname": "account",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"in_global_search": 1,
|
"in_global_search": 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user