Picklists are menus that expand to give users choices. Picklist help simplifies data entry and standardizes values. Picklist fields can have the following properties.
Restricted picklists keep users from adding new values (either through API or other apps). This restriction is useful for keeping your data consistent. Admins with permission to edit the field can continue to add and edit values. You can set restricted picklists when you select Restrict picklist to the values defined in the value set option when you create a custom picklist. When you set a picklist to be unrestricted, the user can’t enter new values through the user interface but they can add new values via API, Automation, or other apps.
a dependent picklist filter values for one picklist based on a selection from another picklist or a check box on the same record.
Good picklist value management saves you time and helps keep data in your org consistent. An indexed field is stored in the database in a way that supports quick retrievals. This optimizes report generation, list views, and other requests. Salesforce automatically analysis performance and periodically assigns fields to be indexed.
There are three types of Picklists
Standard picklists are the ones that are included in your salesforce org before any customization. Examples include the lead source picklist on the lead object. The opportunity stage picklist on the Opportunity. Standard picklist fields are included for the common fields you likely want on a standard object that comes with your org. standard picklist fields sometimes share a standard value set.
Custom picklists are the ones you create. You can add your own values and configure a custom picklist behavior. Identifying existing custom picklists on an object’s fields & relationship page. Like other custom fields, a custom picklist field name ends with __c. custom single select picklist allows up to 1000 values and up to 255 characters per value.
Custom multi-select picklist
custom multi-select picklists are the same as custom picklists, but in the multi-select picklist, you can select multiple values. Multi-select picklists have a lower limit on total values. Multiselect picklist allows up to 500 values and up to 255 characters per value. Users can select up to 100 values at a time on a record.
you can convert a custom picklist to a multi-select picklist to support multiple values in the field later. However, when you convert a multi-select picklist to a picklist field salesforce clears the values for that field on existing records. The new field allows only one value.
reports referring to a multi-select picklist should use contains or include (not equal) to collect all results that contain more than one value. In report results or dashboards, multi-select picklist selections are grouped independently. Only specific functions can reference make select picklists in the formula.
Picklist values can be defined in three ways
Set individual values when you create the picklist. These are specific to a single picklist field.
Use the built-in set of values for the standard picklist fields that come with your salesforce org
Global value set
A global value set is a custom set of values you create to share with more than one picklist field.
Fields in Picklist Management
Create a new picklist value.
Rearrange the existing values.
Replace the existing value. You can replace the existing value with a new value, one of the other values or a blank value. If you replace an existing value with a blank value existing records will not display the value anymore.
See all of your values at once. This is a helpful view while you set u a dependent process.
Customize the appearance of values on charts and reports.
Remember, sometimes standard picklist fields share a standard value set. When you change a value in that set, the changes also appear in other standard picklist fields that use the same values. Change standard picklist values carefully.
Active values appear as an option in a pick list.
Inactive values do not appear as an option in a picklist but they are not entirely removed from your org.
Important things to know about inactive values
- Existing records containing a value when you set it to inactive continue to contain the value.
- You can reactivate inactive values. This makes it a good alternative to deleting a value entirely.
- There is a limit on total combined active and inactive values. If you hit the limit and need more you need to delete some values
Important things to know about deleting or replacing values
- Decide whether to replace the value or leave it blank. If you replace it with a blank value existing records will not display the value anymore. To keep the value on existing records use deactivate instead of delete.
- Deleting a value in a picklist goes to the background queue. When the job completes your picklists are updated and you are notified by email.
- If you replace a parent value in a controlling picklist. The picklist dependency on that value is lost. After replacing the parent value, recreate the dependency using the new parent value.
- To replace a value, create the new value first then click replace to start the process.
- API name is a unique identifier for a value even when the label changes.
Controlling Fields Points to consider
- Custom picklist fields can be either controlling or dependent fields.
- Standard picklist fields can be controlling fields but not dependent fields.
- Multiselect picklist fields can be dependent, but not controlling fields.
- You can set default values for the controlling field but not for the dependent picklist.
- If your org uses record types, choose a record type to test how it affects your controlling and dependent picklist values. A dependent value is only available if it is available in the selected record type and the selected controlling field.
Share values with global value sets
Global value sets let you share the same picklist values with more than one picklist field. Global value sets are always restricted, you cannot convert them to unrestricted.
To Create a Global Value set
Things to consider about editing global value sets
- To replace a value, create a new value first then click replace to start the process.
- When replacing a value, the replace all blank values assigns the new value to all picklist fields that are currently blank.
- Deleting a value in a global value set goes to the background jobs queue. When the job completes your picklist is updated and you are notified by email.
- You can define a default value for the global value set.