Here I will continue my series of posts aimed at helping anyone preparing for the MB2-712 certification. (Customization and Configuration in Microsoft Dynamics CRM 2016) This time my focus will be views.
My intention being for these notes to serve as a useful revision aid. But please do focus your preparation on having quality hands-on time with the CRM solution.
Previously I have described how to create and maintain forms a logical extension of that post is to now look at views. Forms show one record at a time whilst views are used to present lists of records. Views can be included in dashboards or when you navigate to an entity within CRM. Views can even be included on CRM forms as sub grids, for example lists of recent cases on an account. We also see views when we search for data in CRM, for example as we filter results from an ID field. (As shown below.)
Below I have shown the My Open Opportunities and you can also see the numerous system views available out of the box. It is also possible for end users to create personal views. (Advanced Finds) This can be done from the advanced find icon in the blue navigation bar or by selecting the “Create Personal View” option in the views drop down. Also note that users can create a personal view based on the filtering they have applied to the current view.
Beyond the user capabilities of creating (and sharing) personal views, developers can also create system views.
System View Types
In addition to personal views, there are actually multiple types of system views which have different purposes. (We will cover some of these in more detail later in this post.)
- Public View – “General” views that will show when the user selects views on an entity. Such as “Won Opportunities” shown above. All users with access to the entity will see all the available public views.
- Default Public View – This is the “general” / public view that the user will see when they first open an entity. You can only have one default view.
- Advanced Find View – The system view used when looking up records using the advanced find option.
- Associated View – By default this is the view shown when associated records are displayed.
- Lookup View – When we lookup CRM records this is the view presented. (Say from an ID field on a CRM Form.)
- Quick Find View – Displayed when trying to find records within CRM. Also includes an option to define the search columns.
Creating / amending a System View
If you navigate to the required entity in your solution or in the default solution via the customizations option you will be able to select the views option to see and amend existing views. Or select the “New” option to create a new view.
Having selected new will must enter a name for your view (which can be changed later) and optionally enter a description. The description serves no functional purpose but does aid later understanding of why this view was created and it is supposed to show.
A screen similar to the one below will display next. If you are familiar with advanced find this format will already be familiar to you. Options include;
- View Properties – Allows you to amend the name and description entered when the view was created.
- Edit Filter Criteria – I will show this in more detail soon but here we define the required filtering. (In my example, open opportunities with a probability > 50.)
- Configure sorting – Here you can which columns to sort on and is ascending or descending. You are limited to two columns.
- Add columns – as the name suggests is used to add columns to the view. The column name will be the display name for the selected field.
- Change Properties – this open lets you control the width of columns.
- Remove – removes the selected column from the view.
When adding columns to a view you can add columns from parent entities. Meaning for an account, I can show the details of the owning user. But for the account I couldn’t show child entities that would return multiple rows, such as opportunity.
Below you can see that I have added a filter to my view. In my simple example I have said the opportunity must be open and have a probability greater then (or equal to) 50. You can of course make the filtering more complex and using and / or groups as you users can with advanced find. And also like advanced find in background the system will be storing the query as fetchXML.
After publishing the change, the new view will then be available as a public view to all users who have access to the entity. My example view is shown below.
Tip: After publishing the change you often need to refresh the screen in the browser for the new view to be seen. As the page needs to be reloaded.
Quick Find View
The quick find view is shown when we search for records. Either from the search box within an entity or using the multi entity search.
Note: The multi-entity search doesn’t look like a view! But it is showing the first three columns from the quick find view.
When we open the quick find view we can see an additional option not present on other views.
The add find columns lets us define which columns will be included in any search. Doing so will add an index to the SQL database to help make the searching fast.
Tip: You might be tempted to select all columns! This might not be a good idea as the results returned could be confusing to users as matches could occur that aren’t expected. You need to make a balance between selecting as many columns as required but not so many that the solution returns confusing results. PLUS, performance would be impacted by having so many indexes. Because of this there is actually a limit of 20 “indexed” columns when adding find columns. Also any fields which are longer than 900 characters will not be indexed.
I hope this post will have given anyone preparing for the MB2-712 exam the basics they need to know about views. As always, I would like to remind you that getting hands on experience as part of your preparation is essential. You can’t rely in theory alone. J