İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
2387 Görünümler

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)


Avatar
Vazgeç
En İyi Yanıt

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.


Avatar
Vazgeç
En İyi Yanıt

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.


Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Eyl 24
2492
1
Ağu 23
3483
3
Eyl 24
2425
2
Oca 24
3267
0
Ağu 23
2612