Users with a custom role cannot see certain fields on record forms, even though the role permissions seem correct.
Cause:
- The field is restricted by role-based access settings.
- The form assigned to the role does not include the field.
- The field is marked as hidden or not available for the specific record type.
Solution:
- Check Role Permissions:
- Navigate to Setup > Users/Roles > Manage Roles.
- Edit the role and ensure it has the required field-level permissions and access to the record type.
- Verify Field Access Settings:
- Go to Customization > Lists, Records, & Fields > [Record Type] Fields.
- Check the field settings under the Access tab and ensure the custom role has access.
- Review Assigned Form:
- Navigate to Customization > Forms > [Record Type] Forms.
- Ensure the form assigned to the role includes the field in the layout.
- Use a Script to Validate Field Visibility:
- Use SuiteScript to check if the field is being hidden programmatically:
javascript
Copy code
log.debug('Field Visibility', form.getField('customfield_id').isDisplay());
- Test with Standard Roles:
- Test the issue using a standard role (e.g., Administrator) to confirm the problem is specific to the custom role.
Notes:
- Some fields, like system-generated fields, may not be visible to custom roles regardless of permissions.
- Use custom field-level scripting to dynamically control visibility if necessary.