Skip to Content
Menu
This question has been flagged
1 Reply
2140 Views

I'm developing a module to calculate salaries.

Once all salaries are calculated, in 'hr.contract' form, I will have an option to print a report.

This report has to be the same report that I can print in 'hr.payslip' form.

So, the question is if it's possible to do this. I've tried but with bad results.

I've tried this:


class HrContract(models.Model):
    _inherit = 'hr.contract'

    def print_nominee_report(self):
        # I get this values from another methods,
        # I put 1 and 20 just to avoid confution in the question.
        run_id = 1
        indicador_id = 20

        # this method generate a payslip from which I want the report.
        payslip = self.generate_payslip(run_id, self.employee_id.id, indicador_id, self.id) 
        ids = [payslip.id]
        data = {
            'ids': ids,
            'model': 'hr.payslip',
            'form': self.env['hr.payslip'].search([('id', '=', payslip.id)])
        }
        return self.env.ref('hr_payroll.action_report_payslip').report_action(self, data=data)



but the result is an empty PDF.

Avatar
Discard
Best Answer

Hi  Sergio,

Can you please try with passing payslip ID instead of self?

return self.env.ref('hr_payroll.action_report_payslip').report_action(payslip.id, data=data)

Thank you!

Regards,




Email:      odoo@aktivsoftware.com  

Skype: kalpeshmaheshwari

    

Avatar
Discard
Related Posts Replies Views Activity
1
Sep 24
324
1
Jul 24
273
1
May 24
1632
1
May 24
647
0
Mar 24
4