Cannot convert null to an object..Failing widget: 'Time Card Grid' (191df3b393332200ea933007f67ffbab) called from: 'Time Card Portal Main Container' (c85a8ce093532200ea933007f67ffbb1)Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } On Time Sheet Portal, displaying time cards on a time sheet triggers error and is not rendered correctly for some roles. The time card is not displayed correctly in time sheets.Users cannot see the tickets they have added and consequently cannot file their time sheet for the month Following error displays on the Portal: ------------- Server JavaScript error Cannot convert null to an object.Line number 140 (sp_widget.191df3b393332200ea933007f67ffbab.script)Script source code logged to browser consoleFailing widget: 'Time Card Grid' (191df3b393332200ea933007f67ffbab) called from: 'Time Card Portal Main Container' (c85a8ce093532200ea933007f67ffbb1) ---------- Steps to Reproduce: Impersonate a user that has timecard_user role Navigate to the Time Sheet Portal select time sheet from viewObserve that empty table is displayed and for each time card an empty row Session debug log: -------------- 19:53:01.823 TIME = 0:00:00.002 PATH = record/time_sheet/read CONTEXT = 27/07/2020 RC = true RULE =not evaluated access denied not evaluated not evaluated record/time_sheet/read App: Globalnot evaluated access granted access granted access granted record/time_sheet/read App: Global...access denied19:53:02.200 Global TIME = 0:00:00.000 PATH = sp/widget.view/access CONTEXT = RC = false RULE =access denied sp/widget.view/access...access denied20:17:36.493 TIME = 0:00:00.000 PATH = record/time_card.task/read CONTEXT = 27/07/2020 RC = false RULE =cached, not evaluated cached, access granted cached, access granted cached, access granted record/time_card/read App: Globalnot evaluated access denied not evaluated not evaluated record/time_card.*/read App: Globallog20:17:36.494 Evaluator: org.mozilla.javascript.EcmaError: Cannot convert null to an object. Caused by error in sp_widget.191df3b393332200ea933007f67ffbab.script at line 140 137: while (gr.next()) { 138: var record = {}; 139: record.messages = {}; ==> 140: var taskRec = gr.task.getRefRecord(); 141: $sp.getRecordElements(record, gr, data.fields_array); 142: record.sys_id = gr.getValue('sys_id'); 143: record.comments = gr.getDisplayValue('comments');log20:17:36.496 Evaluator: org.mozilla.javascript.EcmaError: Cannot convert null to an object. Caused by error in sp_widget.191df3b393332200ea933007f67ffbab.script at line 1 ==> 1: (function(){(function($sp) { 2: data.userId = $sp.getParameter('sysparm_user_id') || gs.getUserID(); 3: var timesheetId = $sp.getParameter('sysparm_timesheet_id') || input.timesheetId; 4: if(!timesheetId)log20:17:36.497 Evaluator: org.mozilla.javascript.EcmaError: Cannot convert null to an object. Caused by error in sp_widget.c85a8ce093532200ea933007f67ffbb1.script at line 37 34: /* 35: Integrating Resource Plan in TimeCard Portal. 36: */ ==> 37: var grRpln = new GlideRecordSecure('time_card'); 38: var rplnColumnName = 'resource_plan'; 39: data.allowChangeOfResourcePlan = grRpln.isValidField(rplnColumnName) && timesheetPolicy.updateResourcePlan(); 40: // Adds resource plan column by default.log20:17:36.498 Evaluator: org.mozilla.javascript.EcmaError: Cannot convert null to an object. Caused by error in sp_widget.c85a8ce093532200ea933007f67ffbb1.script at line 1 ==> 1: (function(){(function($sp) { 2: data.userId = $sp.getParameter('sysparm_user_id') || gs.getUserID(); 3: var timesheetId = $sp.getParameter('sysparm_timesheet_id') || input.timesheetId; 4: if(!timesheetId)log20:17:36.498 GlideSession message was modified by sanitization. [message=Failing widget: 'Time Card Grid' (191df3b393332200ea933007f67ffbab) called from: 'Time Card Portal Main Container' (c85a8ce093532200ea933007f67ffbb1)][sanitized=Failing widget: 'Time Card Grid' (191df3b393332200ea933007f67ffbab) called from: 'Time Card Portal Main Container' (c85a8ce093532200ea933007f67ffbb1)] ------------------------Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } NA Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Custom read ACLs have been implemented on the following tables:- Incident- time_card- time_sheetthat are preventing some users from getting access.The ACLs require a custom role Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } After adding the custom role to the user, the error was resolved. Modify the custom ACLs to include the roles that users already have so that they can access the Time Sheet Portal or Add the custom role in the custom ACLs to the Users