In a recent implementation the user required the resolution to be populated on the case but didn’t want to have to re-enter or copy and paste to the case resolution form.
The out-of-the-box form has a text field for the resolution that was too minimal in many instances
One solution to this resolution conundrum is to create a Dialog to capture the information and replace the functionality of the ‘Resolve Case’ button.
I created a dialog that prompts for a ‘Resolution’
In the next step I updated the Case, populating the Resolution on the case from the prompt response
Final step changes the status of the case to resolved
Now from a Case, click on the ‘Dialogs’ button and select the new Dialog
Respond to the prompt and complete the dialog
The dialog process populates the response in the designated field and the resolves the case
That’s great, but let’s take it another step and replace the function of the out-of-the-box ‘Resolve Case’ button.
I also added a line to close the case record.
I also captured the GUID of the workflow. (Simply open the dialog, Ctrl+N reopens with the url)
Next create a solution, add the Case entity and export and extract the xml
Locate the Ribbon section and add a custom action. In my case I’m replacing the action of the existing Resolve Case button. If you want to add a custom button check out this blog post
<DisplayRule Id="Mscrm.CanChangeIncidentForm" />
<DisplayRule Id="Mscrm.IncidentIsActive" />
<!-- dialogID, typeName, recordId -->
<StringParameter Value="60E0A113-2C90-44D6-8839-A9F4F6A115BC" />
<StringParameter Value="incident" />
<CrmParameter Value="FirstPrimaryItemId" />
Save the customization and reimport into CRM
The button on the case form looks the same to the user but instead of the case resolution form the Case Resolution Dialog is launched.