In the training I’ve done to some partners last week, when talking about performances I shared an example of an extension with 3 features that I think are not so well known but that have a significant impact on how your code performs, expecially on a SaaS environment. That extension used the following features: Partial record loading Temporary Tables QueryCategory The Partial record capability is a new feature available starting from Dynamics 365 Business Central 2020 Wave 2 (v17) and I think it’s one of my top personal desiderata from years. This feature permits you to load only the needed fields of a recordset (when accessing a data source) instead of loading the entire set of fields. This is particularly useful on reports and OData pages because you can avoid to do a SELECT * (plus JOINS with all the extension’s tables) and instead doing a SELECT of only the fields you need. Now you can do something like: procedure TestPartialRecord(): Decimal ...
The reason for this blog post is that I needed to consume a web service from a partner company that give customer specific details. So far I haven’t worked with consuming web services in NAV so for me this is very new. This post is about the trial and errors that I had on the way implenting this in NAV 2015 on a Windows Server 2012 machine. My main objective was to solve this with dotnet interop. I started with googling it but for the most part I ended up with information about how to publish a web service from Dynamics NAV but I want to consume. After a while I realised there are a couple of ways of doing this. Use automation object (which I don’t want to do) Create a dotnet wrapper and handle it as an addin (my Visual Studio skills aren’t the best) Use dotnet interop in NAV (Yes!) Eventually I found this post which seemed like it was exactly what I was looking but with only one problem. He was using the following dotnet librarys which I didn’t have on the ...