This question has been flagged
1 Reply
5130 Views

Hi every one, do you know what is the cause of invalid field %r in leaf %r means? I don't know why it pops up in my openerp. I am trying to search payslip_id on it's payslip_line using this code:

working_student_id = payslip_obj.search(cr,uid,[('employee_id','=',emp.id),('date_from','>=',start_date_range),('date_to','<=',november_range)],context=context)
                        for payslip in payslip_obj.browse(cr,uid,working_student_id,context=context):
                            netsvc.Logger().notifyChannel("WILL I BE EXCUTED?: ", netsvc.LOG_INFO,str(payslip)+' '+str(payslip.id))
                            cont = payslip.contract_id.id
                            wage_type = payslip.contract_id.emp_type
                            if wage_type == 'monthly':
                                wage_type = 'semi_monthly'
                            line_ids = payslip_line_obj.search(cr,uid,[('payslip_id','=',payslip.id)],context=context)
                            netsvc.Logger().notifyChannel("TRY ONCE AGAIN: ", netsvc.LOG_INFO, 'AM I IN????  ' + str(payslip.id))

When i run it, It canot executes this line:

line_ids = payslip_line_obj.search(cr,uid,[('payslip_id','=',payslip.id)],context=context)

Here is what the terminal says:

raise ValueError("Invalid field %r in leaf %r" % (left, str(leaf)))
ValueError: Invalid field 'payslip_id' in leaf "<osv.ExtendedLeaf: ('payslip_id', '=', 4) on hr_payslip_line (ctx: )>"

 

Any explanation is much appreciated.

Avatar
Discard
Best Answer

The error indicates that payslip_id is not the field of hr_payslip_line.  Based on addons/hr_payroll/hr_payroll.py, is it possible that you should be referring to slip_id instead?

Avatar
Discard
Author

Yes, Ivan. Thanks for pointing out, it is slip_id not payslip_id. Thanks again.

Does it work after you change to slip_id?

Author

Yeah, it works. Thanks again :)