In this webinar, our experts showcase a variety of demo use cases of how different components of the...
One of the few elements of Microsoft Dynamics CRM 2011 that is not customizable is the Case Resolution form. It is also not accessible via workflow. If more case resolution information needed to be captured it typically needs to be entered on the case form and perhaps some JavaScript to dynamically set field requirements. Then when the user clicks to resolve the case they are prompted again.
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.
Next I created a web resource for the JavaScript we'll use to launch the Dialog
The JavaScript opens a window and accepts the parameters we'll send from the ribbon customization
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
Here is the code. The important element is the JavaScriptFunction – here I call the web resource and for the first parameter paste in the GUID of the Dialog:
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.
Happy CRM'ing!
This Solution is working fine but what about those cases which have open activity attached with them.It is not prompting any massege for it and dialog is unable to close the case.
Any help..
I am also interested in the open activities in the post below. Any info on that?
Hi Becky/Manish,
Yeah - so open activities need to first be closed in order to resolve the case. A simple plugin could do this. What we have done before is have this plugin be triggered from a new field such as po_closeAnyOpenActivities. Then the dialgo checks this checkbox, plugin runs, then it can continue to close the case.
I'm interested in keeping the "Resolution Type" select list and adding another couple fields. It seems that adding a select list populated with "Status Reasons" aka "Resolution Type" to a custom dialog is not trivial. Any hints?
Could you please provide the java script in the script view rathen than a screen shot of the jsscript because I can t read it. I would also be interested in the open activity plug in instructions as well.
Thanks for your help.
here is the workable version of script:
function ResolveCaseDialog (dialogID, typeName, recordId)
{
//Load modal
var serverUri = Mscrm.CrmUri.create("/cs/dialog/rundialog.aspx");
window.showModalDialog(serverUri + '?DialogId=' + dialogID + '&EntityName=' + typeName + '&ObjectId=' + recordId, null, 'dialogWidth: 615px; dialogHeight: 480px; resizable: yes; status: yes, scrollbars:yes');
//Reload form
window.location.reload(true);
Xrm.Page.data.entity.save("saveandclose");
}
I replaced
'width = 615, height=600,resizable=1,status=1,scrollbars=1');
WITH
‘dialogWidth: 615px; dialogHeight: 480px; resizable: yes; status: yes, scrollbars:yes;’
because dialog was shown too small
you can also replace the functionality of the grin ribbon resolve button by adding the following
This is certainly an interesting option for customizing the experience for the user. Do the steps above also work for CRM 2013?
Hi there - in crm 201120132015 the steps are basically the same. Let us know if you try this and it does not work in your 2013 environment.
Thanks for the response. I actually went through this process yesterday and looks like the only issue I'm having is the ability to set the response in the resolution field. I don't see "resolution" as one of the fields available to update in the case entity.
Thanks for the response. I actually went through this process yesterday and looks like the only issue I'm having is the ability to set the response in the resolution field. I don't see "resolution" as one of the fields available to update in the case entity.
Has anyone else had luck with this solution in CRM2013? If so, please reply and let me know how you got around updating the resolution text without having to create a custom field on the case entity. Setting the status works fine, but we really need to be able to set the resolution text.
Window.ShowModalDialog is not supported by Chrome. Please provide alternative to this. Thanks in Advance.
Hi Joe,
Chrome doesn't support "window.showModalDialog" anymore. Do you have an update on this?
Regards
Mahmood