"Insufficient Privileges" is common error which appears on user interface if user tries to access/edit a record. As we know that apart from OWD and profile, record can be shared by using sharing rules, role hierarchy, manual sharing or apex sharing.
If some user report this kind of issue, then instead of checking all sharing options, we can directly run below query to check what kind of access that user have for given record.
SELECT RecordId, HasReadAccess, HasTransferAccess, MaxAccessLevel, HasAllAccess, HasDeleteAccess, HasEditAccess FROM UserRecordAccess WHERE UserId = “005xxxxxxxxx”AND RecordId = “001xxxxxxxx”
If some user report this kind of issue, then instead of checking all sharing options, we can directly run below query to check what kind of access that user have for given record.
SELECT RecordId, HasReadAccess, HasTransferAccess, MaxAccessLevel, HasAllAccess, HasDeleteAccess, HasEditAccess FROM UserRecordAccess WHERE UserId = “005xxxxxxxxx”AND RecordId = “001xxxxxxxx”
Where 005xxxxxxxxx is user id and 001xxxxxxxx is record Id.
HasAllAccess Indicates whether a user has all access–read, edit, delete, and transfer—to the record (true) or not (false).
HasReadAccess, HasEditAccess , HasDeleteAccess ,HasTransferAccess return Boolean value.
MaxAccessLevel return access level like None, read, Edit,Delete,Transfer and All.
This query will help to understand whether user has access to record or not. After that you can check different options (sharing rules, role, apex sharing etc.) to find out why that user is not having access to record.
Hope this will help!!!
You have written a lot of unknown to me numbers and letters. I have read this post twice, and I still can not understand what you are about. Can anybody explain?
ReplyDeletehii thanks for sharing such information
ReplyDeletefor more visit salesforce classes in pune
Nice Post
ReplyDeletewww.google.com
This comment has been removed by the author.
ReplyDelete