[fix] on jv cancel remove linkings from advance table of Sales/Purchase Invoice

This commit is contained in:
Saurabh 2016-11-15 17:18:44 +05:30
parent 67bceef1cb
commit 866c295989
2 changed files with 20 additions and 2 deletions

View File

@ -64,11 +64,20 @@ class JournalEntry(AccountsController):
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
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.update_advance_paid()
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):
for d in self.get("accounts"):

View File

@ -125,6 +125,15 @@ class TransactionBase(StatusUpdater):
ret = None
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):
frappe.delete_doc("Event", frappe.db.sql_list("""select name from `tabEvent`