This there a way to make one field editable
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 !!
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
AND( OwnerID <> $User.Id, NOT(ISCHANGED(Your_One_Field__c)) )
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.
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