As I prepare for my MB2-716 exam I’m producing a series of blog posts that collectively should help others revising for the MB2-716 Certification. (Microsoft Dynamics 365 customization and Configuration.) This time I will look at views.
Below is the skills measured statement that mentions views and indicates what we must learn. Meaning we need to know all about different types of views, everything connected with maintaining them and how to customize them.
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 Dynamics 365 application.
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 Dynamics 365. Views can be included on forms as sub grids, for example lists of recent cases on an account. We also see views when we search for data in Dynamics 365, 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.
Views can be grouped into three categories.
- System-defined (or Special) views – special views applied to built-in features of Dynamics 365, can be customized but cannot deleted. Such as Advanced Find View, Quick Find View etc
- Public views – Public views are “system” views available to all users, they can be created and customized. However some can’t be deleted because they have dependencies or are managed as they have specific associated functionality.
- Personal views – personal views are advanced finds that users can create and share.
often you will see and hear public views described as system views. Be careful not to confuse system-defined views and public views!
Beyond the user capabilities of creating (and sharing) personal views, developers can also create system views. You see personal veiws and system views separately when viewing lists of views. All my system views show under a heading of “System Views” and my personal views under a heading of “My Views”.
Notice that under the System Views and My Views headings the views are displayed in alphabetical order. This cannot be changed! As all views are visible to all users who access an entity you may need to be aware of this to carefully name views so they appear in logical groups.
System View Types
In addition to personal views, there are actually multiple types of system views which have different purposes. Below I have shown the views available on an account and highlighted some of the different types.
Tip: As part of your preparation try amending each type of view. What can you change and what effect do your changes have??
- Public View – “General” views that will show when the user selects views on an entity. Such as “Accounts I Follow” or “Active Accounts”. All users with access to the entity will see all the available public views. Meaning there is not a concept of ownership to the views themselves. (Unlike forms which can be role based.)
- 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 Dynamics 365 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 Dynamics. Also includes an option to define the search columns.
The quick find view also has an impact on the relevance search and multi-entity search. The find columns defined will be used for these searches and the first three columns selected are the ones you will see returned in the results.
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 system views. Or select the “New” option to create a new view.
An alternative approach to creating a new view is to open an existing view and use the save as option to create a copy.
You can also filter views. This is useful as it helps us locate public views and “system-defined” views easily. A system defined view being an “avdanced find view”, “Associated View”, “Lookup View” or a “Quick Find View”.
Having selected new you 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.
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.
- Configure sorting – Here you define which columns to sort on and if ascending or descending. You are limited to two columns.
- Add columns – as the name suggests this option is used to add columns to the view. The column name will be the display name for the selected field.
- Change Properties – this option 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 an estimated revenue of greater than 1,000,000. 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.
Keep in mind that the columns you filter on do not have to be present as view columns in your view. For example, here I am only showing open opportunities. So there would be no value in adding the status field as a view column. (As it would always show the same value!)
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 and relevance search don’t look like a views! But they are 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.
Dynamics 365 introduces a new concept of editable grids. These change the nature of views! Previously views were always read-only but now users can edit data directly in the view. To enable editable grids we need to add a control and decide if the editable grid will be available in web client, phone and or tablet.
I have previous blogged about editable grids in some detail. You can view that post here.
Additionally I have created a video demo of using editable grids.
Deleteing System View
The skills measured statement specifically mentions deleting views, so let’s have a look at that.
You will be able to delete any public view that you’ve created. Assuming it has no dependencies. By that I mean it isn’t being used as a sub grid on any forms.
You can also deactivate a view using the “more actions” menu. Meaning the view won’t be shown to users but still exists in the system. You cannot however deactivate system / special views.
You will not be able to delete “special” views. Those being things like “Advanced Find View”, “Quick Find View” etc.
You can also not delete system views automatically created by the system.
When you delete a view that delete is not “carried” by a solution. What I mean is that when I import a solution into another Dynamics organization the removal of views (or anything) doesn’t take effect.You need to be mindful of this when removing views in a development environment as the views may also need to be manually removed from production!
I hope this post will have given anyone preparing for the MB2-716 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 on theory alone.