diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml index 4e1ccfe5f8b..f8b74ba01ee 100644 --- a/addons/hr_payroll/hr_payroll_view.xml +++ b/addons/hr_payroll/hr_payroll_view.xml @@ -141,7 +141,7 @@ - + @@ -248,7 +248,7 @@ - + @@ -258,7 +258,7 @@ - + diff --git a/addons/hr_payroll/report/report_payslip.rml b/addons/hr_payroll/report/report_payslip.rml index 6e9cc84235d..ab509072c63 100644 --- a/addons/hr_payroll/report/report_payslip.rml +++ b/addons/hr_payroll/report/report_payslip.rml @@ -93,30 +93,23 @@ - - - - - - - - - - - + + - - - + + + + + @@ -133,21 +126,14 @@ - - - - - - - - - - - - - - - + + + + + + + + @@ -190,20 +176,20 @@ - Name + Name - [[o.employee_id.name]] + [[o.employee_id.name]] - Designation + Designation [[ o.employee_id.job_id.name or '' ]] - + @@ -218,7 +204,7 @@ - Email + Email [[ o.employee_id.work_email or '' ]] @@ -233,26 +219,26 @@ - + - Reference + Reference [[ o.number or '' ]] - Bank Account + Bank Account [[ o.employee_id.otherid or '' ]] - + - Date From + Date From [[ o.date_from or '']] @@ -271,32 +257,28 @@ - + - Payslip Lines: + Code + + + Name + + + Quantity/Rate + + + Amount + + + Total - - - - Code - - - Name - - - Amount (in [[o.company_id and o.company_id.currency_id.symbol or '']]) - - - - - -
[[repeatIn(get_payslip_lines(o.line_ids),'p') ]] - + [[ p.code ]] @@ -305,18 +287,21 @@ [[ p.name ]] - [[ p.total or '0.0']] + [[ formatLang(p.quantity) ]] + + + [[ formatLang(p.amount) ]] + + + [[ formatLang(p.total) ]] [[o.company_id and o.company_id.currency_id.symbol or '']] - - -
- + - + @@ -333,16 +318,16 @@ - + - + - + - Authorized Signature + Authorized Signature
diff --git a/addons/hr_payroll/report/report_payslip_details.py b/addons/hr_payroll/report/report_payslip_details.py index be40a2ec02a..e8df94d3b5a 100644 --- a/addons/hr_payroll/report/report_payslip_details.py +++ b/addons/hr_payroll/report/report_payslip_details.py @@ -97,13 +97,19 @@ class payslip_details_report(report_sxw.rml_parse): result.setdefault(obj[id].register_id.name, []) result[obj[id].register_id.name].append(obj[id].id) for key, value in result.iteritems(): + register_total = 0 + for line in payslip_line.browse(self.cr, self.uid, value): + register_total += line.total res.append({ 'register_name': key, + 'total': register_total, }) for line in payslip_line.browse(self.cr, self.uid, value): res.append({ 'name': line.name, 'code': line.code, + 'quantity': line.quantity, + 'amount': line.amount, 'total': line.total, }) return res diff --git a/addons/hr_payroll/report/report_payslip_details.rml b/addons/hr_payroll/report/report_payslip_details.rml index 43ad71a7c9e..c344389648d 100644 --- a/addons/hr_payroll/report/report_payslip_details.rml +++ b/addons/hr_payroll/report/report_payslip_details.rml @@ -100,56 +100,42 @@ - - - - - - - - - - - - - + + + + - + - + - - - - - - - - - + + - - - - + + + + + + @@ -159,28 +145,31 @@ - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -196,7 +185,7 @@ - + @@ -206,11 +195,11 @@ - [[repeatIn(objects,'o')]] + [[repeatIn(objects,'o')]] - Pay Slip Details + Pay Slip Details @@ -220,24 +209,24 @@ Note
- ([[o.name or removeParentNode('para') ]]) + ([[o.name or removeParentNode('para')]]) - Name + Name - [[o.employee_id.name]] + [[o.employee_id.name]] - Designation + Designation - [[ o.employee_id.job_id.name or '' ]] + [[ o.employee_id.job_id.name or '' ]] - + @@ -245,17 +234,17 @@ - [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street2 or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.zip or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.city or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.state_id and o.employee_id.address_home_id.state_id.name or '' ]] [[o.employee_id.address_home_id and o.employee_id.address_home_id.country_id and o.employee_id.address_home_id.country_id.name or '' ]] + [[o.employee_id.address_home_id and o.employee_id.address_home_id.name or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.street2 or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.zip or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.city or '' ]],[[o.employee_id.address_home_id and o.employee_id.address_home_id.state_id and o.employee_id.address_home_id.state_id.name or '' ]] [[o.employee_id.address_home_id and o.employee_id.address_home_id.country_id and o.employee_id.address_home_id.country_id.name or '' ]] - Email + Email - [[ o.employee_id.work_email or '' ]] + [[ o.employee_id.work_email or '' ]] @@ -263,33 +252,33 @@ - [[ o.employee_id.identification_id or '' ]] + [[ o.employee_id.identification_id or '' ]] - + - Reference + Reference - [[ o.number or '' ]] + [[ o.number or '' ]] - Bank Account + Bank Account - [[ o.employee_id.otherid or '' ]] + [[ o.employee_id.otherid or '' ]] - + - Date From + Date From - [[ o.date_from or '']] + [[ o.date_from or '']] @@ -297,37 +286,34 @@ - [[ o.date_to or '' ]] + [[ o.date_to or '' ]] - - + + - + - Details by Salary Rule Category: + Details by Salary Rule Category: - + - Code + Code - Salary Rule Category + Salary Rule Category - Name - - - Amount(in [[o.company_id and o.company_id.currency_id.symbol or '']]) + Total @@ -335,69 +321,77 @@
- [[repeatIn(get_details_by_rule_category(o.details_by_salary_rule_category),'h') ]] - + [[repeatIn(get_details_by_rule_category(o.details_by_salary_rule_category),'h') ]] + - + [[ h['code'] ]] [[ h['level']!=0 and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font')]] - [[ '..'*h['level'] ]][[ h['rule_category'] ]][[ h['level']!=0 and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font') ]] + [[ '..'*h['level'] ]][[ h['rule_category'] ]][[ h['level']!=0 and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font') ]] - [[ h['name'] ]][[ h['level']!=0 and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font')]] - - - [[ h['total'] ]] [[ h['level']!=0 and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font') ]] + [[ formatLang(h['total']) ]] [[o.company_id and o.company_id.currency_id.symbol or '']] [[ h['level']==0 and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font') ]]
- + - - + - Payslip Lines by Contribution Register: + Payslip Lines by Contribution Register: - + - Register Name + Register Name - Code + Code - Name + Name - Amount (in [[o.company_id and o.company_id.currency_id.symbol or '']]) + Quantity/Rate + + + Amount + + + Total
- [[repeatIn(get_lines_by_contribution_register(o.details_by_salary_rule_category),'r')]] - + [[repeatIn(get_lines_by_contribution_register(o.details_by_salary_rule_category),'r') ]] + - [[ r.get('register_name', False) ]][[ h.get('register_name', False) and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font')]] + [[ r.get('register_name', False) ]][[ h.get('register_name', False) and ( setTag('para','para',{'style':'terp_default_8'})) or removeParentNode('font')]] - [[ r['code'] ]] + [[ r['code'] ]] - [[ r['name'] ]] + [[ r['name'] ]] - [[ r['total'] or '0.0']] + [[ formatLang(r['quantity']) ]] + + + [[ formatLang(r['amount']) ]] + + + [[ formatLang(r['total']) ]] [[ o.company_id and o.company_id.currency_id.symbol or '']][[ r.get('register_name', False) and ( setTag('para','para',{'style':'terp_default_10'})) or removeParentNode('font')]] @@ -405,25 +399,25 @@ - + - + - + - + - Authorized Signature + Authorized Signature - +