“Ha” you thought to yourself when you saw the title. What is this up to now?
The premise is simple, really.
Typical developer thought process: “calculated fields are read-only”.
Reality: “you can edit calculated fields under special circumstances”.
Case in point - consider “Time Zone Name - Translation” field under “Contact”/“Employee” Business Component.
This calculated field has a picklist attached to it.
When you look at this field on the UI, you will see it editable.
You can set valid values to the calculated field, and any pick fields will get automatically populated.
If you re-query/refresh the applet after the update, the calculated field will revert to the calculated value specified in Tools. This works similar to other picklist fields.
You can set the calculated field value through script or workflow as well. It behaves similar to normal pick fields. If you do not specify any other fields in pickmap, the pick action will not update anything in the database.
The same behaviour is exhibited to static picklists that do not have a distinct pickapplet defined.