gpt4 book ai didi

python - 收到错误 "Wrong python code defined for salary rule"odoo 11

转载 作者:行者123 更新时间:2023-12-05 06:31:07 25 4
gpt4 key购买 nike

在调用我的代码中定义的函数时,从 ODOO 11 Payslip 调用函数时出现错误。错误显示,“为工资规则加类费 (OT) 定义了错误的 Python 代码。”

我写的代码如下-

class SalaryRuleFunctions(models.Model):

_inherit = 'hr.payslip'

@api.multi
def get_overtime_salary(self):

emp_id = self.employee_id
dt_from = self.date_from
dt_to = self.date_to
emp_rec = self.env['x_attendance_summary'].search([('employee_id', '=', emp_id), ('start_date', '=', dt_from), ('end_date', '=', dt_to)])[0]

g_sal = (self.contract_id.x_ctc_gross / emp_rec.max_days)
o_day = emp_rec.x_overtime_days_normal

result = g_sal * o_day
return result

加类工资规则里面的代码如下-

result = payslip.env['hr.payslip'].get_overtime_salary()

我不确定函数是否被调用过。我尝试在我的函数中也加入一些消息,以了解函数代码是否有错误。但是,这些消息都没有出现,表明该函数从未被调用过,错误是从薪水规则本身抛出的。

Odoo 11 中是否没有 env 变量?还是别的?

在此先感谢您的所有帮助。

最佳答案

解决方案是使用可变契约(Contract)而不是工资单。

result = contract.env['hr.payslip'].get_overtime_salary()

关于python - 收到错误 "Wrong python code defined for salary rule"odoo 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51888221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com