Microsoft has been making great strides towards providing the Unified Interface across all devices for Dynamics 365. As part of this Unified Interface, they have implemented the Custom Controls Framework. However, to date, no one has released any developer documentation on how to create custom controls -- the only documentation shows how to use controls provided out-of-the-box. This blog series will show how you can create your very own custom controls!
In the previous post, we created an Azure Function which generates an SSRS report from Dynamics 365. We can now hook that function up to Microsoft Flow as a custom connector, where we can use it as an action in a flow to send the response (i.e. the report file) in an email.
A common request with Dynamics 365 is the ability to email an SSRS report on a recurring basis, which is possible in the on-premises version but not online. There are several solutions available that let you schedule "reports" in Dynamics 365, but they all have one problem -- they don't actually schedule a report! They do let you schedule Advanced Find queries, and while that may work if you just want basic tabular data, what do you do if you want to schedule an SSRS report? Everyone will tell you that it's not possible, but it actually is. Read on to find out how!
Out of the box, Dynamics 365 V9 only comes with one data provider for virtual entities - the OData V4 Data Provider. However, it is possible to create a custom data provider with a little bit of custom code. There are a few examples floating around online, but none of them show how to set this up with a practical example (i.e. one that isn't hard-coded). In this post, we'll walk through creating a custom data provider for an Azure Cosmos DB data source.
In Dynamics 365 V9, it is no longer possible to use QuirksReportViewer.aspx to generate a report (try it, you'll get a 404). Instead, you now have to use ReportViewer.aspx. This updated version does have some benefits though, such as being able to render the report as HTML5 or PPTX, and better rendering overall.