我想为工资规则调用我的函数,但是却收到诸如“为工资规则定义的错误python代码”之类的错误
我在“ hr.payslip”模型中的python代码是:
@api.multi
def _get_project_split(self, project):
for line in self.all_project_hours:
if line.project_id.name == project:
project_split = line.project_split
return project_split
例如,我的工资规则python代码是:
result = payslip.env['hr.payslip']._get_project_split('API')
“ API”是我的项目名称。
感谢您的帮助
---编辑---
我使用Odoo 12,并从odoo控制台尝试运行,当出于故障排除目的而运行时,它可以正常工作:
payslip = env['hr.payslip'].search([('id', '=', '6')])
payslip._get_project_split('API')
输出:83.3333333333333
这也可以从控制台进行:
payslip.pool.get("hr.payslip")._get_project_split(payslip, 'API')
输出:83.3333333333333
但是当我将其中之一放在我的工资规则中
1:
split = payslip.pool.get("hr.payslip")._get_project_split(payslip, 'API')
result = contract.wage * split / 100
或
2:
split = payslip._get_project_split('API')
result = contract.wage * split / 100
我对这条工资规则有误。我怀疑这是一个错误。
我在“ hr.payslip”模型中的代码就像
class hr_payslip(models.Model):
_inherit = 'hr.payslip'
@api.multi
def _get_project_split(self, project):
for line in self.all_project_hours:
if line.project_id.name == project:
project_split = line.project_split
return project_split
答案 0 :(得分:0)
您可以使用function custom_head_cleanup(){
if( ! is_admin() ){
wp_deregister_script( 'jquery' );
}
}
add_action( 'init', 'custom_head_cleanup' );
来获取pool
并调用hr.paysplip
方法。
_get_project_split
def _get_project_split(self, cr, uid, payslip, project):
# Your code
# return a number
中的python code
应该是:
salary rule