[SalesForce] Giving a profile an edit permission to only one field

I have a profile named 'Profile A' and a custom object named 'CA__c'.
Then Profile A setting has Read, View All object permission.
Basically, users with Profile A shouldn't be able to edit CA__c, but I need to give them edit access to only one field(checkbox). In the Profile setting I added the Edit access to the object permission and set all field permissions to Read Access(read-only) except for the checkbox which they should be able to edit. However, I get an error message whenever I log in as user with Profile A and edit the checkbox.

Error: You do not have the level of access necessary to perform the operation you requested. Please contact the owner of the record or your administrator if access is necessary.

P.S. The org wide default of the custom obj is set to Private.

Any thoughts on how will I be able to give edit access to just one field on that object?

Best Answer

The org wide default of the custom obj is set to Private, only record owner and people who are above in the Role hierarchy can have full access this record. If owner/users above role hierarchy has edit access to the object in the profile level then those people can edit the record.

If the record is shared to user with Read/Write permission then only those users can edit the record.

If record owner is different, then other users can view the record, even though they could have edit permission at profile level, they won't able to edit other user's (owner's) record.

Secondly, to give a edit permission to a particular field, the object should have Edit permission at Object Level, which you have already given.

Here record level access comes into play rather than profile/permission set level access.

Refer the following diagram to open up the access

Sharing architecture

Related Topic