Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从考勤表获取总出勤率_Python_Python 2.7_Openerp_Openerp 7 - Fatal编程技术网

Python 从考勤表获取总出勤率

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):

我一直在尝试覆盖(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):
    
            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您将获得更多关于我基于时间表的工资单自定义插件的信息,并检查获取总出勤率的代码。