[SalesForce] Picklist field is disabled but profile and layout shows editible

I have a picklist field on a custom object that is disabled (grayed out) when I am editing a record on that custom object for a user in a profile that should have write access to that field.

I have verified the user's profile should have the ability to edit the field under "Field Accessibility" for that field (field-level security). I also have verified that the field is not "Read Only" on all of the object's page layouts.

This field is editable using the System Administrator profile.

Where/what else might I check?

Best Answer

The problem was due to the object having two record types with incorrectly configured picklist values. Record Type A had all of the picklist values. Record Type B had none. Not having any is an invalid state. When you try to remove all values from a picklist for a given record type, you'll get the following error:

At least one value must be selected

So, I believe this problem may have somehow been introduced via deployment to the test environment where this problem was found.

By adding the picklist values to Record Type B, the problem was solved.

Most interesting is the fact that regardless of which record type you were editing a record for, the picklist would be disabled, most likely caused by the invalid state mentioned above.