Odoo 11 ValueError异常:预计单:%s \”的纪录%(Odoo 11 ValueEr

2019-10-28 13:32发布

我创建一个自定义模块,我想所有选定员工的工资和给他们一个默认的电子邮件。 对于我这样做

要显示操作按钮

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
      <record id="action_email_payslip" model="ir.actions.server">
      <field name="name">Email</field>
      <field eval="2" name="sequence"/>
      <field name="view_mode">form</field>
      <field name="multi" eval="False"/>
            <field name="model_id" ref="hr_payroll.model_hr_payslip"/> 
            <field name="binding_model_id" ref="hr_payroll.model_hr_payslip"/>
            <field name="state">code</field> 
            <field name="code"> 
            action = records.action_send_email() 
            </field>
    </record>
    </data>
</odoo>

在这个模型中我的代码是这样的

从odoo进口车型,字段,API,_

class EmailPayslip(models.Model):
    _inherit = 'hr.payslip'

    @api.multi
    def action_send_email(self):

        selected_employess = []
        not_selected_employees = []

        for payslip in self:
          try:
            lang = payslip.employee_id.user_id.lang
            template.with_context(lang=lang).send_mail(
                self.env.user.id, force_send=True, raise_exception=True
            )
            selected_employess.append(payslip.name)
          except Exception as e:
            not_selected_employees.append(payslip.name)

        print(selected_employess)

但其示值误差像

ValueError: Expected singleton: %s" % record

ValueError异常:预期单:hr.payslip(1,3,4)

谁能告诉我什么,我一做错了什么,以及如何解决这一问题? 任何帮助和建议将是非常可观的。

问候,

Answer 1:

试试下面的代码片段,

 template.with_context(lang=lang).send_mail(
            payslip.employee_id.user_id.id, force_send=True, raise_exception=True
        ) 


Answer 2:

尝试循环的“工资单”也一样,下面

 for payslip in self:
    for slip in payslip:
         try:
           lang = payslip.employee_id.user_id.lang
           template.with_context(lang=lang).send_mail(
               self.env.user.id, force_send=True, raise_exception=True
           )
           selected_employess.append(slip.name)
         except Exception as e:
           not_selected_employees.append(slip.name)


文章来源: Odoo 11 ValueError: Expected singleton: %s\" % record