我试图从“日期”字段获取数据,'date'字段在'hr.employee'中为'hr.payslip'。我为该任务创建一个函数。
码:
class employee_datecheck(models.Model):
_inherit = 'hr.payslip'
@api.onchange('employee_id')
@api.constrains('employee_id')
def date_check(self):
if self.employee_id:
self.t2 = self.date_from
self.tax
product_obj = self.env['hr.employee'].search([('name' , '=' ,self.employee_id.name)])
if product_obj:
for products in product_obj:
product_new_obj = self.env['hr.employee'].browse([products.id])
for tax in product_new_obj.joindate:
raise Warning(self.tax)
问题是:
日期没有正确提取,即只显示'2'而不是'2017-09-21'。请帮助我。
我想你可以尝试直接打印joindate而不做循环:
for products in product_obj:
product_new_obj = self.env['hr.employee'].browse([products.id])
self.tax = product_new_obj.joindate:
raise Warning(self.tax)
我希望这对你有帮助。
好笑的是,
1)您的代码在v8上看起来没有标记为问题,代码是v9 +新API。
2)不确定为什么你在模型product
和employee
上搜索因为hr.playslp Modle本身有员工字段employee_id
,你可以用来获取日期。此外,你不应该一起使用onchange
和constrains
以下是示例代码:
class employee_datecheck(models.Model):
_inherit = 'hr.payslip'
@api.onchange('employee_id')
def date_check(self):
if self.employee_id:
raise Warning(self.employee_id.joindate)
如果您能提供更多细节以获得准确答案,那将是一件好事。
贝斯茨