Python 从考勤表获取总出勤率
我一直在尝试覆盖(def get_worked_day_行)以从time_sheet_sheet.sheet获取每位员工的总出勤率,以便我可以根据总出勤率为他制作工资单Python 从考勤表获取总出勤率,python,python-2.7,openerp,openerp-7,Python,Python 2.7,Openerp,Openerp 7,我一直在尝试覆盖(def get_worked_day_行)以从time_sheet_sheet.sheet获取每位员工的总出勤率,以便我可以根据总出勤率为他制作工资单 class hr_payslip(osv.osv): _inherit = 'hr.payslip' _columns = { } def get_worked_day_lines(self, cr, uid, ids, employee_id, date_to, context=None):
class hr_payslip(osv.osv):
_inherit = 'hr.payslip'
_columns = {
}
def get_worked_day_lines(self, cr, uid, ids, employee_id, date_to, context=None):
res = []
working_days = self.pool.get('hr_timesheet_sheet.sheet')
for record in self.browse(cr, uid, ids, context = context):
search_sheet = working_days.search(cr, uid, [('state','=','draft')])
for rec in working_days.browse(cr, uid, search_sheet, context=None):
attendances = {
'name': _("Normal Working Days paid at 100%"),
'sequence': 1,
'code': 'WORK100',
'number_of_days': 0.0,
'number_of_hours': 0.0,
#'contract_id': ,
}
if rec.day == record.numero :
attendances['code'] = rec.day
leaves = {}
leaves = [value for key,value in leaves.items()]
res += [attendances] + leaves
return res
ps:当我把
search\u sheet=working\u days.search(cr,uid,[('state','=','draft'))
我将能够从所有草稿时间表中获得总出勤率
我实际上在使用OpenERP v7,所以我知道这里发生了什么。如果您没有从[('employee_id','=',employee_id)]搜索条件中获得任何信息,那么这是因为employee_id参数的值不等于数据库中的任何employee_id
您应该做的是检查作为参数传递给函数的employee_id的值。如果该值是整数,则检查数据库中是否存在该id。如果该表上存在该id,则应该查看数据。如果employee_id的值为False或None,则您将无法从搜索()返回任何数据。欢迎使用堆栈溢出!在发布代码时,尽量将其简化为一个简单的代码。您的问题似乎很简单,但是任何试图帮助您的人都必须花几分钟的时间阅读您的代码,以找到相关的部分。既然你已经知道了你的代码以及它是如何工作的,你就可以拿出最重要的东西,节省那些想帮助你的人的时间。谢谢你,我已经试着让我的代码尽可能简单,让任何懂一点python和odoo的人都能理解它。。。我在这里所做的只是浏览和搜索,但我无法得到结果……代码可能很简单,但除非您提供示例数据,否则您的问题是不可再现的。也不清楚您的问题是什么--现在这个函数的输出是什么样子的,您希望它是什么样子的?这就是我说的:ps:当我放置
search\u sheet=working\u days.search(cr,uid,[('state','=','draft'))
我将能够从所有草稿考勤表中获取总出勤率,但当我使用搜索考勤表=工作日。搜索(cr,uid,[('employee\u id','=',employee\u id)])
什么都没有发生,没有output@FridyHola您将获得更多关于我基于时间表的工资单自定义插件的信息,并检查获取总出勤率的代码。