From 7763bb5c15855948fb9e3a8807671c66f9e4e77c Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 18 Nov 2015 19:04:03 +0530 Subject: [PATCH] [fix] pull earning and deduction on change of employee --- erpnext/hr/doctype/salary_slip/salary_slip.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py index 9a06c36e64..fe71c366c8 100644 --- a/erpnext/hr/doctype/salary_slip/salary_slip.py +++ b/erpnext/hr/doctype/salary_slip/salary_slip.py @@ -23,25 +23,27 @@ class SalarySlip(TransactionBase): self.get_leave_details() struct = self.check_sal_struct() if struct: + self.set("earnings", []) + self.set("deduction", []) self.pull_sal_struct(struct) def check_sal_struct(self): m = get_month_details(self.fiscal_year, self.month) struct = frappe.db.sql("""select name from `tabSalary Structure` - where employee=%s and is_active = 'Yes' - and from_date <= %s and (to_date is null or to_date >= %s)""", + where employee=%s and is_active = 'Yes' + and from_date <= %s and (to_date is null or to_date >= %s)""", (self.employee, m.month_start_date, m.month_end_date)) - + if not struct: msgprint(_("No active Salary Structure found for employee {0} and the month") .format(self.employee)) self.employee = None - + return struct and struct[0][0] or '' def pull_sal_struct(self, struct): from erpnext.hr.doctype.salary_structure.salary_structure import make_salary_slip - self.update(make_salary_slip(struct, self).as_dict()) + make_salary_slip(struct, self) def pull_emp_details(self): emp = frappe.db.get_value("Employee", self.employee,