Read-only fields and updating them with functions (actions/workflows)
I have a function that pulls in fields from a parent record in Accounts and duplicates them into child records in Contacts (though in principle this would be the same for any relationship across two modules).
So let's say an Account record has a field named "Industry". The function looks for any Contacts associated with that Account, and copies "Industry" into a field on Contacts named "Account Industry". For example:
ACCOUNT
Acme Widgets
Industry: Balderdash
Contacts: Steve, Laura
CONTACTS
Steve
Account: Acme Widgets
Account Industry: Balderdash
Laura
Account: Acme Widgets
Account Industry: Balderdash
Thus, the "Account Industry" on Contacts is really just for display. Editing it would be a bad idea, because a) it wouldn't update the Account's field, and b) it would get overwritten the next time the Account's field was edited. So I'd like to make "Account Industry" on Contacts read-only for everyone, including administrators. And I have a bunch of these kinds of fields.
But it appears that if a field is read-only, functions can't edit it either. Is that accurate? Is there some way to allow a function to edit a field that is read-only for all users?
Otherwise I'm going to have a bunch of fields that I have to append some big "DON'T EDIT THESE" warnings onto, which just seems dumb.