[fix] on jv cancel remove linkings from advance table of Sales/Purchase Invoice
This commit is contained in:
parent
67bceef1cb
commit
866c295989
@ -64,11 +64,20 @@ class JournalEntry(AccountsController):
|
|||||||
from erpnext.accounts.utils import unlink_ref_doc_from_payment_entries
|
from erpnext.accounts.utils import unlink_ref_doc_from_payment_entries
|
||||||
from erpnext.hr.doctype.salary_slip.salary_slip import unlink_ref_doc_from_salary_slip
|
from erpnext.hr.doctype.salary_slip.salary_slip import unlink_ref_doc_from_salary_slip
|
||||||
unlink_ref_doc_from_payment_entries(self.doctype, self.name)
|
unlink_ref_doc_from_payment_entries(self.doctype, self.name)
|
||||||
unlink_ref_doc_from_salary_slip(self.name)
|
unlink_ref_doc_from_salary_slip(self.name)
|
||||||
self.make_gl_entries(1)
|
self.make_gl_entries(1)
|
||||||
self.update_advance_paid()
|
self.update_advance_paid()
|
||||||
self.update_expense_claim()
|
self.update_expense_claim()
|
||||||
|
self.unlink_advance_entry_reference()
|
||||||
|
|
||||||
|
def unlink_advance_entry_reference(self):
|
||||||
|
for d in self.get("accounts"):
|
||||||
|
if d.is_advance and d.reference_type in ("Sales Invoice", "Purchase Invoice"):
|
||||||
|
doc = frappe.get_doc(d.reference_type, d.reference_name)
|
||||||
|
doc.delink_advance_entries(self.name)
|
||||||
|
d.reference_type = ''
|
||||||
|
d.reference_name = ''
|
||||||
|
d.db_update()
|
||||||
|
|
||||||
def validate_party(self):
|
def validate_party(self):
|
||||||
for d in self.get("accounts"):
|
for d in self.get("accounts"):
|
||||||
|
@ -125,6 +125,15 @@ class TransactionBase(StatusUpdater):
|
|||||||
ret = None
|
ret = None
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def delink_advance_entries(self, jv):
|
||||||
|
total_allocated_amount = 0
|
||||||
|
for adv in self.advances:
|
||||||
|
if adv.reference_name == jv:
|
||||||
|
frappe.db.sql("""delete from `tab{0} Advance`
|
||||||
|
where name = %s""".format(self.doctype), adv.name)
|
||||||
|
total_allocated_amount += flt(adv.allocated_amount, adv.precision("allocated_amount"))
|
||||||
|
self.db_set("total_advance", total_allocated_amount)
|
||||||
|
|
||||||
def delete_events(ref_type, ref_name):
|
def delete_events(ref_type, ref_name):
|
||||||
frappe.delete_doc("Event", frappe.db.sql_list("""select name from `tabEvent`
|
frappe.delete_doc("Event", frappe.db.sql_list("""select name from `tabEvent`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user