Odoo 13' 解决员工在odoo考勤时忘记结账的解决方案
Odoo 13' solution to solve about the employee forget to checkout in odoo attendance
我想问一下考勤odoo的自动结账,因为员工经常忘记结账。因此,我想自动标记他们的结帐。
代码如何以及我可以在哪里插入此代码?
谢谢!
删除行尾的“:”。
records = self.search([('check_out', '=', False), ('check_in', '!=', False)])
将其置于检查按钮方法中。
self.expires_in = int(round(time.time() * 1000))
激活一个间隔为 1 分钟的调度程序。检查以下行。
expires_in = datetime.fromtimestamp(int(self.expires_in) / 1e3)
expires_in = expires_in + timedelta(seconds=32400) //9 hours seconds
nowDateTime = datetime.now()
if nowDateTime > expires_in:
checkout_button_method()
让我稍微解释一下.. 上面最上面的行执行一个存储检查时间。在调度程序 运行 之后,它将在签入后添加 9 小时。如果时间大于 9 小时,它会自动调用结帐方法并执行结帐按钮职责。
@Adam,我已经按照你的指示去做了。
但是我收到了错误:
在上次更新中,您必须删除以 // 开头的评论
然后保存就可以了。
我想问一下考勤odoo的自动结账,因为员工经常忘记结账。因此,我想自动标记他们的结帐。
代码如何以及我可以在哪里插入此代码?
谢谢!
删除行尾的“:”。
records = self.search([('check_out', '=', False), ('check_in', '!=', False)])
将其置于检查按钮方法中。
self.expires_in = int(round(time.time() * 1000))
激活一个间隔为 1 分钟的调度程序。检查以下行。
expires_in = datetime.fromtimestamp(int(self.expires_in) / 1e3)
expires_in = expires_in + timedelta(seconds=32400) //9 hours seconds
nowDateTime = datetime.now()
if nowDateTime > expires_in:
checkout_button_method()
让我稍微解释一下.. 上面最上面的行执行一个存储检查时间。在调度程序 运行 之后,它将在签入后添加 9 小时。如果时间大于 9 小时,它会自动调用结帐方法并执行结帐按钮职责。
@Adam,我已经按照你的指示去做了。
在上次更新中,您必须删除以 // 开头的评论 然后保存就可以了。