The concept of Status Reason fields is typically the missing element when people ask "How can I customize the Close Opportunity form?", "How can I customize the Resolve Case form?", or "How can I change the options available when I disqualify a Lead?". While you can't modify these forms, you can modify the Status Reason options available in them:
- The Close Opportunity, Resolve Case, or Convert Lead forms aren't actually forms - they are simply examples of closing dialog boxes. These dialog boxes provide an opportunity to confirm the change of status for a record and to include additional informaiton about that action. Because they are not a true form, you can't customize these closing dialog boxes like you can an entity form.
- For most types of records, you can change the options for the reason of the status change for the record, which is often the goal behind a request to change a form. The categorization options are stored in the statuscode attribute, which has the display name of Status Reason.
Note
Configuring attribute options requires privileges that allow you to customize entities. Typically the System Administrator or System Customizer security roles are required because they include the necessary privileges.
If you don't have one of these security roles, you'll still find this article helpful. By understanding how these options work, you'll know what changes you can ask to have made.
Entities with customizable Status Reason options
The entities in the following table have customizable Status Reason options.
Account
|
Campaign
|
Campaign Activity
|
Campaign Response
|
Case
|
Contact
|
Contract
|
Contract Line
|
Fax
|
Invoice
|
Lead
|
Letter
|
Opportunity
|
Order
|
Phone Call
|
Product
|
Quote
|
Service Activity
|
Custom Entities
|
|
Status and Status Reason fields are related
Many record types (entities) in Microsoft Dynamics CRM have the concept of status to describe the state of a record. For example, for many entities the possible Status options are simply Active and Inactive.
Each entity that uses this concept has a pair of attributes:
- The statecode attribute (display name: Status) defines the available status options and can't be modified.
- The statuscode attribute (display name: Status Reason) defines the reasons for the status through options:
- The options for this attribute can be modified for many entities.
- Each option is linked to a specific Status attribute option.
- There is a default Status Reason option for each Status option.
To better understand this relationship, see Default values of Status and Status Reason attributes.
Because Status Reason is so unique to each company's record types and processes, Microsoft Dynamics CRM does not include many Status Reason options by default. For most entities, there is just one Status Reason option for each Status option. The expectation is that the Status Reason options will be customized.
Users and workflows can set Status and Status Reason values
Before customizing Status Reason options, it is important to understand how Microsoft Dynamics CRM sets Status and Status Reason values for a record:
- For some entities, users can set Status Reason values when they close a record. For many entities, including custom entities, if there is only one possible Status Reason option, users will see a simple confirmation dialog box. If more than one possible Status Reason option exists, a drop-down list will provide the ability to choose one of the options. If no option is chosen - the default option will apply.
- The application sets the Status value when a record changes state, either because a user closed the record or because a workflow changed the Status. Unless the user or workflow specifies the Status Reason value, when the application changes the Status of the record, it also sets the Status Reason value to the default option for that status.
- If a form is customized to include the Status Reason value, users can update the Status Reason on the form. However, many types of closed records cannot be updated, so this makes more sense for updating Status Reason values for active records than it does for closed records.
Variance of implementation of Status Reason between system entities
You will find that the behavior of the Status Reason field can vary among different system entities. This is because these entities were designed with a specific purpose in mind.
Important
You should always experiment and understand how the Status Reason options are used for system entities.
For example:
- When you cancel a case, the closing dialog box will not display any Status Reason options. If there is more than one option, whichever option has been configured as the default option will be the value saved. It is still possible to set the Status Reason to a different value using a workflow.
- Despite the fact that the Campaign entity has a Status Reason attribute - there is only one Status (Active). As a result you cannot deactivate a Campaign and there is no closing dialog box. By default, the Status Reason field is displayed on the Campaign form. But it behaves largely like a regular drop-down (picklist) field.
Procedure to configure Status Reason fields
The tasks to configure a Status Reason field are almost the same as those for drop-down (picklist) fields, except for step 5.
- In the Navigation Pane, click System Settings, click Customization, and then click Customize Entities.
- Double-click an entity to open it.
- Under Details, click Attributes.
- Locate the statuscode (display name Status Reason) attribute and click it.
- In the Type column, select the Status value appropriate for the options you want to manage.
- Edit the options. See Configure drop-down (picklist) fields for details about how to edit options, including the default option.
- Click Save and Close to close the Attribute form.
When you finish editing the entity, publish it.- On the Actions menu, click Publish.
- Click Save and Close to close the entity.
Related Links
Configure drop-down (picklist) fields
Default values of Status and Status Reason attributes
Configure fields