This there a way to make one field editable - Answers - Salesforce Trailblazer Community
Ask Search:
Heath MacArthurHeath MacArthur 

This there a way to make one field editable

I have a field on an Account record in Salesforce that I would like to be editable to everyone not just the Account owner.  Does anyone know if this is possible and if so how to do it?
Swayam ChoukseySwayam Chouksey
Heath, if  users does not has the owner that then that profile won't be able to edit all of the fields on the Accounts that they should be able to edit those fields on (their accounts).

This is a tricky requirement to do natively.  The fact that they need to edit 1 field on Accounts they don't own means that they will need to be able to write to the entire Account record, even if it is only for 1 field.   This means that you will need to share those records (the ones they do not own) with that person somehow (sharing rule).  Then the trick is locking down all fields but that 1 for accounts they do not own - which will be extremely difficult to do - assuming the record types of this person's accounts are the same as the record types of the one they need to edit 1 field on (or put another way they aren't always different) - this would mean that you cannot use page layouts to lock down the fields.  Your last native option would be to create a validation rule to say where the current user is "special user' and the account owner is not 'special user', (you would need to do this based on the id of the user using the $.user functionality for current user) - and account fields are changed which are not your special field, throw an error.  (using a combination of multiple ischanged(fieldname) rules - i think you will run into an issue if you use lasmodified by).  Depending on your number of account fields this can get messy, especially when you add new ones.

Long story short some apex code is probably your best option. 

Hope this helps !!

Vinay ChaturvediVinay Chaturvedi
You need to change field level accesibility 
You can check this article ,This will guide you
Geoffrey FlynnGeoffrey Flynn
So you want all fields on an Account to be locked down the owner except for one single field?  Are your accounts public read only?

You may end up going down the path of a validation rule for this unless you want to get fancy with some custom code running in system mode.

You can create a validation rule, something like
 OwnerID <> $User.Id,

Heath MacArthurHeath MacArthur
All the fields are visable but only can be changed by the current owner.  I am just looking for this one field to be changed by anyone.  

The field is called Currently_Using__c and we are tracking what companies use for software, so a rep that is not the owner of the account may call or email into this company find out they want to add it the the Account record.

I will try the validation rule.
Geoffrey FlynnGeoffrey Flynn
Hi Heath,

If you are still searching on this one your question prompted me to roll up my sleeves and come up with a creative way to pull this off declartively using 
  • Hidden child object
  • Quick Actions
  • Process Builder
Here's the blog post