Business Central Development
-
AL Object ID Ninja
If it does what the documentation says it does, I can only say: “Build this man a statue!” Awesome job. — Waldemar Brakowski (@wbrakowski365) September 11, 2021 One of the biggest obstacles to AL team development (is there any other kind?) is object IDs. IDs are supposed to be easy: just pick the next free one and off you go.
-
Conditional directives
One of the new features of the AL compiler that arrived with 2020 Wave 2 is Precompiler directives . This is nothing spectacular, programming languages had these kinds of things since the dawn of programming languages, and now we have them too. The biggest thing, though, is that on their surface, just like so many other features (cough!
-
Resident control add-ins – no SingleInstance
My last topic was resident control add-ins . In my video and written blog I’ve explained what they are and how you can quickly have them up and running. However, there was one particular thing I said I generally don’t like – single-instance codeunits.
-
Resident control add-ins
One of the most common questions I get asked about Control Add-ins is whether you can make a control add-in be always present and able to respond to your calls from AL. In other words: can you have a resident control add-in that you can invoke from anywhere in your AL code. I’ve done a lot about control add-ins.
-
From JavaScript to AL and back: SkipIfBusy
If you missed my From JavaScript to AL and back: SkipIfBusy live session on January 8, or if you simply prefer to read rather than watch, then this post is for you. As promised, I’ll follow up in writing on all my video blogs, so here we go.
-
A couple of ideas for HttpClient
When invoking any REST web services, a lot of AL code mostly looks like this: procedure CallRESTFoo() var Client: HttpClient; Response: HttpResponseMessage; Body: Text; Json: JsonObject; begin Client.Get('https://foo.bar/', Response); Response.Content.ReadAs(Body); Json.ReadFrom(Body); // Process JSON body of the response...
-
Fun with Interfaces
Today I’ve streamed the Fun with Interfaces video blog at https://www.youtube.com/watch?v=QSMHL32c5mg and the recording is now published online. This was the first session I ever delivered about interfaces, and I actually planned delivering this a lot earlier (I made a suggestion to run this at Directions ASIA before corona crisis hit), but never had a chance.
-
How to replace DotNet in AL
A lot of us still have a ton of C/AL code sitting around in existing databases that sooner or later will have to be moved into AL. A lot of us also have a ton of AL code using DotNet that we want to be able to run in Microsoft’s cloud (that is: not on-prem).
-
Top 5 things I miss in AL
The community often criticizes Microsoft for adding new platform features only when Microsoft needed them. Well, it has been a bit too harsh – Microsoft did add improvements in other situations, too. But still, if you compare it to other Microsoft’s languages like TypeScript or C#, the AL language isn’t really advancing.
-
How about Rollback in AL?
I’ve never truly understood why we could explicitly commit a transaction, but we could only implicitly roll one back. There is a universe of difference between throwing an error (and ending the call stack), and rolling back (and continuing execution). There was always a way to roll back and go on, sure.