AttributeError: 'EmployeeTimesheet' object has no attribute 'salary_slip'

App Versions

{
	"erpnext": "15.27.1",
	"frappe": "15.29.1",
	"hrms": "15.22.1"
}

Route

Form/Timesheet/new-timesheet-nohsfdypow

Traceback

Traceback (most recent call last):
  File "apps/frappe/frappe/app.py", line 115, in application
    response = frappe.api.handle(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api/__init__.py", line 49, in handle
    data = endpoint(**arguments)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api/v1.py", line 36, in handle_rpc_call
    return frappe.handler.handle()
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/handler.py", line 49, in handle
    data = execute_cmd(cmd)
           ^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/handler.py", line 85, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1768, in call
    return fn(*args, **newargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/desk/form/save.py", line 39, in savedocs
    doc.save()
  File "apps/frappe/frappe/model/document.py", line 337, in save
    return self._save(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 359, in _save
    return self.insert()
           ^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 291, in insert
    self.run_before_save_methods()
  File "apps/frappe/frappe/model/document.py", line 1091, in run_before_save_methods
    self.run_method("validate")
  File "apps/frappe/frappe/model/document.py", line 962, in run_method
    out = Document.hook(fn)(self, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 1322, in composer
    return composed(self, method, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 1304, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 959, in fn
    return method_object(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/erpnext/erpnext/projects/doctype/timesheet/timesheet.py", line 26, in validate
    self.set_status()
  File "apps/hrms/hrms/overrides/employee_timesheet.py", line 14, in set_status
    if self.salary_slip:
       ^^^^^^^^^^^^^^^^
AttributeError: 'EmployeeTimesheet' object has no attribute 'salary_slip'

Request Data

{
	"type": "POST",
	"args": {
		"doc": "{\"docstatus\":0,\"doctype\":\"Timesheet\",\"name\":\"new-timesheet-nohsfdypow\",\"__islocal\":1,\"__unsaved\":1,\"owner\":\"kavya.bommadevara@nstarxinc.com\",\"naming_series\":\"TS-.YYYY.-\",\"company\":\"NStarX India Pvt Ltd\",\"exchange_rate\":1,\"status\":\"Open\",\"currency\":\"INR\",\"time_logs\":[{\"docstatus\":0,\"doctype\":\"Timesheet Detail\",\"name\":\"new-timesheet-detail-tnakrexxyc\",\"__islocal\":1,\"__unsaved\":1,\"owner\":\"kavya.bommadevara@nstarxinc.com\",\"completed\":0,\"is_billable\":0,\"billing_amount\":0,\"costing_amount\":400,\"parent\":\"new-timesheet-nohsfdypow\",\"parentfield\":\"time_logs\",\"parenttype\":\"Timesheet\",\"idx\":1,\"project\":\"PROJ-0002\",\"activity_type\":\"Development\",\"billing_rate\":100,\"costing_rate\":50,\"base_billing_rate\":100,\"base_costing_rate\":50,\"base_billing_amount\":0,\"base_costing_amount\":400,\"from_time\":\"2024-09-05 11:57:15\",\"to_time\":\"2024-09-05 19:57:15\",\"hours\":8}],\"total_hours\":8,\"total_billable_amount\":0,\"total_billable_hours\":0,\"total_costing_amount\":400,\"employee\":\"HR-EMP-00002\",\"employee_name\":\"Bommadevara Kavyabharathi\",\"custom_nstarx_empid\":\"NSX_0375\",\"department\":null,\"custom_timesheet_approver\":\" amol.patalay@nstarxinc.com\",\"parent_project\":\"PROJ-0002\"}",
		"action": "Save"
	},
	"btn": {
		"jQuery370075724167709218391": {
			"events": {
				"click": [
					{
						"type": "click",
						"origType": "click",
						"guid": 1098,
						"namespace": ""
					}
				]
			}
		}
	},
	"freeze": true,
	"headers": {},
	"error_handlers": {},
	"url": "/api/method/frappe.desk.form.save.savedocs",
	"request_id": null
}

Response Data

{
	"exception": "AttributeError: 'EmployeeTimesheet' object has no attribute 'salary_slip'",
	"exc_type": "AttributeError",
	"_exc_source": "hrms (app)"
}

@Prashanth_Kolhetkar, please review the EmployeeTimesheet doctype. It appears that the salary_slip field is missing, so kindly add this field to the doctype.

@Meet we dont have any salary slip in timesheet doctype

could you please check in your system in from we dont any any field of salary slip

its working thanks may be some internal issue

Sorry… jumping into this thread…

We meet with a simillar issue the aobve fixed it… can someone report the bug?
Simillar bug when upgrading from 13-14 in Employee Master>Job Applicant

Somehow the upgrade dropped some very important link attributes.

Pls advise the core issue if anyone has some insight… I can bring this up to ERPNext team as well.