Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie

Dear all,
I have a when Generate Payslip for employee when Employee creates two leave with two time off types.
For example:
- A leave with time off types is Paid time off from 8:00am to 10:00am and another leave from 10:00am to 1:00pm (Time off types is Sick time off).
Both vacations are for 1 day.
When Generate Payslips for that employee, there is ValueError: Expected singleton: hr.leave.type(1, 7)

File "/home/developer/Desktop/tvs_project/odoo16_base_addons/addons/web/controllers/dataset.py", line 33, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/api.py", line 461, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/api.py", line 448, in _call_kw_multi result = method(recs, *args, **kwargs) File "/home/developer/Desktop/tvs_project/third_app/om_hr_payroll/wizard/hr_payroll_payslips_by_employees.py", line 25, in compute_sheet slip_data = self.env['hr.payslip'].onchange_employee_id(from_date, to_date, employee.id, contract_id=False) File "/home/developer/Desktop/tvs_project/third_app/om_hr_payroll/models/hr_payslip.py", line 463, in onchange_employee_id worked_days_line_ids = self.get_worked_day_lines(contracts, date_from, date_to) File "/home/developer/Desktop/tvs_project/third_app/om_hr_payroll/models/hr_payslip.py", line 209, in get_worked_day_lines 'name': holiday.holiday_status_id.name or _('Global Leaves'), File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/fields.py", line 1132, in __get__ record.ensure_one() File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/models.py", line 5119, in ensure_one raise ValueError("Expected singleton: %s" % self) ValueError: Expected singleton: hr.leave.type(1, 7)


Awatar
Odrzuć
Najlepsza odpowiedź

Please share the code of your Function that is causing the error.

The function is recieving two records. But it expects only one record. You just have to make a slight change in the loops of your function.


Awatar
Odrzuć
Najlepsza odpowiedź

Hi  Nam Nguyen Phuong,

It's a bug with the third-party app you installed named 'om_hr_payroll'. You can check whether the author solved the issue by pulling the latest code.


Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
wrz 24
2528
1
sie 23
3567
3
wrz 24
2444
2
sty 24
3328
0
sie 23
2624