Skip to Content
Menu
This question has been flagged
2 Replies
1944 Rodiniai

I have create a template to send payslip email to employee , it woeks when sending one by one but I want to send it to all employee in one shot here is my function:

class sendemail(models.Model):
_inherit = 'hr.payslip'
_description = 'to send email to employee'

def sendemail(self):
template_id=self.env.ref('salary_reports.payslip_email').id
self.env['mail.template'].browse(template_id).send_mail(self.id, force_send=True)

noupdate="1">
id="payslip_email" model="mail.template">
name="name">employee: Send by email
name="model_id" ref="hr_payroll_community.model_hr_payslip"/>
name="email_from">mgstar091@gmail.com
name="email_to">${object.employee_id.work_email}
name="subject">قسيمة مرتب
name="body_html" type="html">
style="margin: 0px; padding: 0px;">

style="margin: 0px; padding: 0px; font-size: 13px;">
${object.employee_id.name}/ السيد



نحسل إليكم مرتب شهر
${object.date_to}




تقبل تحياتي




name="report_template" ref="your_report_id"/>
name="report_name">nothing



it gives me this error 

ValueError: : "Expected singleton: hr.payslip(11, 13)" while evaluating
'records.sendemail()


Portretas
Atmesti
Best Answer

Hi Mokhtar,

You need to just take a loop as you are use the records . try with this code. 


    def sendemail(self):
template_id=self.env.ref('salary_reports.payslip_email').id
for rec in self:
self.env['mail.template'].browse(template_id).send_mail(rec.id, force_send=True)



Hope It will help you.
Portretas
Atmesti
Autorius Best Answer

thank you sir, it works 

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
2
rugp. 24
4926
0
saus. 22
465
3
lapkr. 21
3533
4
gruod. 24
17706
1
spal. 21
9228