mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-13 14:41:53 +00:00
fix: clear deferred revenue/expense fields on uncheck (backport #57140)
This commit is contained in:
@@ -261,6 +261,7 @@ class AccountsController(TransactionBase):
|
|||||||
if self.is_return:
|
if self.is_return:
|
||||||
self.validate_qty()
|
self.validate_qty()
|
||||||
else:
|
else:
|
||||||
|
self.clear_stale_deferred_fields()
|
||||||
self.validate_deferred_start_and_end_date()
|
self.validate_deferred_start_and_end_date()
|
||||||
|
|
||||||
self.validate_inter_company_reference()
|
self.validate_inter_company_reference()
|
||||||
@@ -644,6 +645,23 @@ class AccountsController(TransactionBase):
|
|||||||
if self.get("from_date") and self.get("to_date") and getdate(self.from_date) > getdate(self.to_date):
|
if self.get("from_date") and self.get("to_date") and getdate(self.from_date) > getdate(self.to_date):
|
||||||
frappe.throw(_("To Date cannot be before From Date"), title=_("Invalid Auto Repeat Date"))
|
frappe.throw(_("To Date cannot be before From Date"), title=_("Invalid Auto Repeat Date"))
|
||||||
|
|
||||||
|
def clear_stale_deferred_fields(self):
|
||||||
|
field_map = {
|
||||||
|
"Sales Invoice": "deferred_revenue_account",
|
||||||
|
"Purchase Invoice": "deferred_expense_account",
|
||||||
|
}
|
||||||
|
account_field = field_map.get(self.doctype)
|
||||||
|
|
||||||
|
for item in self.get("items"):
|
||||||
|
if item.get("enable_deferred_revenue") or item.get("enable_deferred_expense"):
|
||||||
|
continue
|
||||||
|
|
||||||
|
item.service_start_date = None
|
||||||
|
item.service_end_date = None
|
||||||
|
item.service_stop_date = None
|
||||||
|
if account_field:
|
||||||
|
item.set(account_field, None)
|
||||||
|
|
||||||
def validate_deferred_start_and_end_date(self):
|
def validate_deferred_start_and_end_date(self):
|
||||||
for d in self.items:
|
for d in self.items:
|
||||||
if d.get("enable_deferred_revenue") or d.get("enable_deferred_expense"):
|
if d.get("enable_deferred_revenue") or d.get("enable_deferred_expense"):
|
||||||
|
|||||||
Reference in New Issue
Block a user