C/AL
-
HelloWorld.al
Finally. Not quite, but still – finally! We finally get the first public glimpse of future of AL code writing, courtesy of Microsoft Dynamics NAV development team. As you might know, Microsoft is working around the clock to enable new kind of programming for NAV: using Visual Studio Code instead of Microsoft Dynamics NAV Development Environment.
-
C/AL internals: Some more invalid object states
If you have followed the posts about how C/AL really executes in NAV, you know that C# and C/AL can sometimes be in a state where C/AL compiles, but C# does not, causing you some headaches during run time. However, what might not be obvious is that there are situations where C/AL does not compile…
-
From C/AL to executable: how NAV runs your C/AL code
A lot of folks write C/AL and never worry about what happens then. C/AL is written, NAV execute is, the story ends. The same way the story ends when you flush a toilet and the tank refills. How exactly? Who cares.
-
Gentlemen’s agreement pattern, or handling the “Handled” pattern
I’ve delved deep into design patterns story with my last two blog posts , but I am far from over. The patterns I discussed are the ones we could use up until NAV 2015 (we can still use them, of course!) but some more robust loose coupling (excuse the near-oxymoron) can be achieved with what NAV 2016 brought along: events.
-
Decoupling dependencies in C/AL
Directions US 2016 (yes, 2016, sorry y’all who got the 2017 link in your mailbox) was quite an event. As Directions always is, a lot of people, enthusiastic about this market we strive to thrive in, and about the product we love no matter the limitations we often face when we aim for better, more scalable architectures.
-
Dynamically loading assemblies at runtime
When you spend more time in C# than C/AL, and you still tell yourself and the world around you that you are developing for NAV, then this post is for you. I already wrote a three-article series about “DLL hell” and how to resolve it, and in my last post in the series (…
-
Getting out of the DateTime mess, or how to get Utc DateTime in C/AL
Today at work I was trying to untangle one big bowl of spaghetti called DateTime. It’s the C/AL DateTime I am talking about, not System.DateTime from .NET. The problem with C/AL DateTime is that no matter what you do it’s, according to documentation , “always displayed as local time” .
-
What’s New in NAV 2016: Splitting Atoms with TryFunction
If this was a joke, then it would be one of those good-news-bad-news jokes. So which one do you want first? To stay true to all jokes of this kind, I’ll start with good news first. Good news is, you now have TryFunction s, that return true if no error happens, and false if an error happens inside them.
-
Server Extensibility Demos
Yesterday, as a part of Microsoft’s Road To Repeatability program, I delivered a live meeting session about server extensibility in NAV in which I focused on certain areas of .NET Interoperability and Web Services that in my opinion align well with the R2R message.
-
How To Update a Class Or Assembly Reference in C/AL And Retain Event Trigger Code
When you reference a .NET class that exposes events, and you switch on the WithEvents property, C/SIDE creates the event triggers for you. If you later want to update the reference to the .NET class, for whatever reason (like, there is a newer version of the assembly), updating the reference will actually delete the event triggers with all the code in them.