mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-22 18:59:58 +00:00
fix: clear deferred revenue/expense fields on uncheck (#57140)
This commit is contained in:
committed by
GitHub
parent
e0c31f1745
commit
5125d64b7f
@@ -55,3 +55,16 @@ class DeferredAccountingService:
|
||||
|
||||
def _is_deferred(self, item) -> bool:
|
||||
return bool(item.get("enable_deferred_revenue") or item.get("enable_deferred_expense"))
|
||||
|
||||
def clear_stale_deferred_fields(self) -> None:
|
||||
account_field = DEFERRED_ACCOUNT_FIELD.get(self.doc.doctype)
|
||||
|
||||
for item in self.doc.get("items"):
|
||||
if self._is_deferred(item):
|
||||
continue
|
||||
|
||||
item.service_start_date = None
|
||||
item.service_end_date = None
|
||||
item.service_stop_date = None
|
||||
if account_field:
|
||||
item.set(account_field, None)
|
||||
|
||||
@@ -236,7 +236,9 @@ class AccountsController(TransactionBase):
|
||||
else:
|
||||
from erpnext.accounts.services.deferred_accounting import DeferredAccountingService
|
||||
|
||||
DeferredAccountingService(self).validate_start_and_end_date()
|
||||
deferred_service = DeferredAccountingService(self)
|
||||
deferred_service.clear_stale_deferred_fields()
|
||||
deferred_service.validate_start_and_end_date()
|
||||
|
||||
from erpnext.accounts.services.internal_transfer import InternalTransferService
|
||||
|
||||
|
||||
Reference in New Issue
Block a user