Breaking news from around the world
Get the Bing + MSN extension
Now Available in Community - MBAS 2019 Presentation Videos
Catch the most popular sessions on demand and learn how Dynamics 365, Power BI, PowerApps, Microsoft Flow, and Excel are powering major transformations around the globe. | View Gallery
2019 release wave 2 Discover the latest updates to Dynamics 365Release overview guides and videos Release Plan | Early Access Availability
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Talent TechTalks | Upcoming TechTalks
While I am working with the modern development environment, I am going to document limitations or other issues that I am finding. There are a lot of blog posts out there discussing how to get started or is it good or bad. I am not going to go into this discussion – it is what it is and we will adapt (basically just like we did when we started using RTC or the new RDL report layout).
I will continue posting smaller blog posts to show what else is not available when I am running into issues. For now, lets get started.
You heard right. There is no .NET Interop available and there are currently no concrete plans to allow this. While this can be good or bad, I personally have no problem with it, if the language gets extended more so we don’t need the “rudimentary implementation” of .NET interop that Dynamics NAV had. As replacement of .NET Interop, Microsoft has added new types to AL, which are mainly to handle Json, XML Documents, as well as web requests. You can find a detailed description here.
This is a bigger limitation: Currently, there is no support to place Control Add-Ins onto pages is AL. While this is a limitation due to the web client not being able to run .NET Control Add-Ins, JS Add-Ins would work and should be allowed. It seems to be that this is on the roadmap, but not available yet.
You could always define permissions in objects to grant explicit permissions for objects that you were using. This currently does not work completely. You can only grant permissions for objects that are part of your extension. For instance, if you want to give permissions to table 27, this won’t work. It seems to me that this is a bug and probably will be fixed eventually.
For now, what you can do is: Define a new object with the type table extension and define this in your project. Do not make any changes to the actual table, just define the base object as shown below. Since now table 27 is available in the project, you can also now define permissions for it from any of your objects.
tableextension 70000000 ItemExtension extends Item
// Add changes to table fields here
It was just added recently to NAV, now it is gone again. You do not have ForEach as part of the AL language. I am hoping it does come back eventually, but for now, you will have to use the For … To construct.
You do not have access from your extensions anymore to all of the global functions in all objects from the base application. Now functions are declared as [External] in the base application and only those are available in the symbols, which are used to generate the available functionality in AL/your extensions. This is a huge limitation going back to the same discussion with events, but it also makes it safer for the user – since now you cannot just easily modify things that should not be changed. The biggest problem that I am seeing right now is that there is currently no mechanism in place to submit additional requests for external functions. I hope it will change.
This is all for now, I will post more when I find some more time and gather more limitations.
Business Applications communities