0

When working in the object settings of a permission set, if I granted 'Edit' access under "Object Permissions" and didn't touch any of "Field Permissions" would the user be able to edit anything? Or do I also have to click 'Edit Access' on every field I want them to have edit access on?

Field Permissions

3 Answers 3

1

To do it right, you have to give edit access to every field you want them to access.
And, it's a shame that Salesforce doesn't use a <label for=""> for those, meaning you do need to actually click within the checkbox.

When running code in "system mode" (i.e. any time you're running a trigger, or Apex in general), FLS (Field-Level Security) is ignored by default. You'd need to use WITH USER_MODE in queries, and either use AccessLevel.USER_MODE in a DML call using the Database class (e.g. Database.update(myAccount, AccessLevel.USER_MODE); or use the as user for "regular" DML (e.g. update as user myAccount;) to get the code to respect FLS.

So without FLS set, your users would be able to create/update/delete/undelete records (and query records in Apex), and the Apex/triggers should chug along just fine
...but your users would not be able to see those fields in the web UI
nor edit those fields.

It is a pain to set up and manage permissions, but that's going to be mostly a one-time cost... especially when compared to the time trying to debug issues involving permissions (for individual users).

Having the FLS on the profiles might save you (until you deploy a new field to an org, as FLS is not carried over when you deploy a field) because permissions in Salesforce are additive (i.e. a user will only have no permission for something if their profile and all permission sets don't grant permission. Granting the permission in even one place means that user gets that permission). That said, permission sets are recommended over using profiles because of the historical difficulty with managing (and especially deploying) profiles.

0

If you grant "Edit" access under "Object Permissions" in a Permission Set, it does not automatically grant the user "Edit" access to all fields within that object. Granting "Edit" access at the object level means that the user can edit the entire record of that object type, but it does not automatically extend the same level of access to individual fields on that record.

To allow the user to edit specific fields within the object, you would need to configure the "Field Permissions" section of the Permission Set. In this section, you would need to select the fields for which you want to grant "Edit" access to the user. If you don't explicitly grant "Edit" access to specific fields in the "Field Permissions" section, the user won't have the ability to edit those fields even if they have "Edit" access at the object level.

5
  • Was this answer written by AI?
    – Derek F
    Commented Aug 28, 2023 at 19:13
  • All details feed to AI and asked formatted for new user so New user will not struggle with this. If you feel I should not do this then sorry for this.
    – A.K.
    Commented Aug 28, 2023 at 19:19
  • 2
    AI-generated answers are not allowed on this site, see this discussion on meta.
    – Derek F
    Commented Aug 28, 2023 at 19:23
  • Answer is mine only formatted done by AI. Next time I will take care of that as well.
    – A.K.
    Commented Aug 28, 2023 at 19:24
  • @DerekF AI generated part is removed.
    – A.K.
    Commented Aug 28, 2023 at 19:27
-1

I realize this is an old post, but wanted to mention that there is a free Chrome extension called Salesforce Admin Check All that adds 2 top level checkboxes in the object permissions that allow you to check all fields with one click, one for each column. It's such a timesaver.

1
  • Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Commented Aug 2 at 4:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .