How do you create alerts – that seems to be the question.
So often in CRM, users need to be alerted of their actions. For example, a typical alert might be a message that warns you when a user attempts to enter a text string into a numeric field.
Using the alert() method, a message is usually displayed in a pop-up window. This type of alert method does not require any in-depth response from users, who will simply acknowledge it by clicking the OK button.
This approach focuses on removing excessive clicks and flattening out pop-up windows found in the previous version of Dynamics CRM.
With that in mind, using an alert method that requires a response from users seems to contradict the flattening approach.
At the same time, Dynamics CRM 2013 and 2015 introduced new alert methods: setFormNotification and setNotification.
These two methods display messages on the form instead of on a pop-up window, and require no clicking from users.
The Classic CRM Alert Method Versus the New Improved CRM Alert
In this article, I am going to demonstrate how the new alert methods are different from the classic one, and how they can be used.
The example here is a credit card form where credit card numbers and a CVV codes were to be validated. In the previous version of Dynamics CRM, using the classic alert() method, users are typically notified of errors one by one and users have to acknowledge them by clicking OK.
Of course this alert method can be slightly improved by displaying the error messages in one single alert, thus reducing the number of pop-ups and clicks to one. But still users have to make the effort clicking the OK button.
Eliminating the Mouse Clicks on the Notifications in Dynamics CRM
In Dynamics CRM 2013 or 2015, mouse click(s) can be completely eliminated by using setFormNotification that displays message on the form header area. And depending on the nature of messages, they can be categorized as information, error and warning.
- Xrm.Page.ui.setFormNotification(‘Please fix the following error(s):’, ‘INFORMATION’,);
- Xrm.Page.ui.setFormNotification(‘Invalid Credit Card Number.’, ‘ERROR’);
- Xrm.Page.ui.setFormNotification(‘Invalid CVV Code.’, ‘WARNING’);
There is an extra line of code to clear the message from the form, simply use the following method:
When there are many fields on one form, users may find it difficult to locate the fields that require correction (of course, additional methods can be developed to help locate such fields, for example, setFocus or setRequiredLevel).
In such a case, I would tend to use another alert, setNotification, that displays messages next to the fields. This way, fields can be visibly located and corrected.
- Xrm.Page.getControl(“new_creditcardnumber”).setNotification(‘Invalid Credit Card Number.’);
- Xrm.Page.getControl(“new_cvvcode”).setNotification(‘Invalid CVV Code.’);
Bear in mind that these two methods do not intercept the saving event, meaning that you can still save the records with invalid data.
So depending on the requirements, additional scripts and conditions may be required to prevent record saving if errors are not resolved.
Whichever methods you use, there are no more mouse clicks and the form looks cleaner with messages embedded on it.
At the end of the day, the new alert methods complements the flattening interface and improves user navigation experience and efficiency.
Webinar - End-to-End Resource Scheduling in Dynamics 365 Project Operations
This webinar provides an end-to-end overview of how you can schedule resources in D365 Project Operations. This overview will be useful to project managers, schedulers, and sys admins.
9:00 am – 9:30 am PST
Webinar - D365 Project Operations Scheduling
9:00 am – 9:30 am PST