From GP to BC – the SmartLists
Steve Endow has a series of blog posts about why Business Central is amazing (last one about our community here: https://blog.steveendow.com/2020/09/why-business-central-is-amazing-5.html ) Those who do not know him, he is originally from Dynamics GP World.
In our community, we got more and more people from the Dynamics GP community. Which is great! They, like Steve, looking at Business Central with fresh eyes, when some of us (including me) sometimes look on it with NAVglasses.
The second great thing is that we are getting not only new people from GP but also new features which in Dynamics GP were standard and useful. One of them is SmartLists.
SmartLists in Dynamics GP
In short, the SmartLists allow helping users with reporting. They show the data on the page. In the example below, you can see Open invoices. The power of it is that you can combine the data from many tables.
The big advantage of the Dynamics GP solution is that it is possible to create own SmartLists. There is a designer, where you can specify tables, fields, relations, and filters.
How to create a SmartList you can find on Belinda’s video (another great GP community person who is joining BC) https://www.youtube.com/watch?v=Nz84fktr49I .
SmartLists in Business Central
Do we have SmartLists functionality in Business Central? Well… yes and no. Maybe I will start from the no part since it is quicker.
We do not have the SmartList designer yet… it is supposed to be already when I am writing this blog post, but it is still disabled. The setup you can (or rather cannot) find on the Manual Setup page. It looks the designer will be based on PowerApp embedded directly in Business Central. But we need to wait to be able to use it.
Now – the yes part
Last week I was going thru the system and have been checking what Microsoft added in Wave 2 2020, not big things, just small which are hidden but improving user experience. And I found a very small thing which is… a filter icon in the lists.
Small right? But I also was not aware of the rows above – I assumed those are views… until I clicked.
Those who use standard much more often than me, will say “It’s not new it is there for at least a year”. Yes, that is true but still, not everyone notices them.
Those are SmartLists. At this moment there are 16 SmartLists in standard Business Central (for Items, Vendors, Customers, and G/L Accounts).
The whole list you can find here: https://docs.microsoft.com/en-us/business-applications-release-notes/April19/dynamics365-business-central/enhancements-intelligent-cloud
Show Query on the Page?
If you would open the inspection page, you will find out that the SmartLists are queries shown on the page. How cool is that? For years it was needed to develop some workaround to show a query on the page.
Can I develop my own SmartLists?
This is a little tricky question. Short answer – you can. But if I were you, I would wait before officially Microsoft confirms that it is ok to do so.
As I wrote SmartLists are queries that are shown on the page. You can develop your own query and add it to the page. To do that, you can use the QueryCategory property which you need to put in two places.
The first one: on the query object.
You can either check one of the standard objects which use QueryCategory or create your own category name (if you would like to use it on your custom page). Remember to add to Query also Caption. It is possible to add more than one category using a comma separate list.
The second one: on the page object.
You need to add the QueryCategory to the page from which the query will be opened. It must be the list page. Also, remember that the page should be part of the Role Center (since only then you would see the SmartLists).
In the end, this is how it will look on the page.
Work in progress
I see this functionality still as a work in progress. First of all, the designer is still not available to us. Second, Microsoft Docs have two versions if we can use QueryCategory or not – the description in the property says that QueryCategory is for internal use only (https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-querycategory-property).
However, other sources (Yammer Group) and the page which I linked above says it is possible to use it:
With this functionality, you can now create your own lists through extensions. The created list can then be assigned to an entity by setting the QueryCategory property.
Therefore take a look at the issue created by me on GitHub and track if the documentation will be updated: https://github.com/MicrosoftDocs/dynamics365smb-devitpro-pb/issues/1489
The next question is how to use custom QueryCategory – should we add the affix to the name? I believe so but that is not stated anywhere.
Are the lists also available on a Docker Sandbox?
I don’t see them on the Customer List, Platform 17.0.19353.20040 + Application 17.2.19367.20073
But I can see them in my SaaS tenant, Platform 17.0.18204.19940 + Application 17.1.18256.18732
Yes they should be. Make sure how you open the page. Bookmark the page which you want to open and then open it from the Role Center – it should help to see them.