What’s new about interfaces in 2021 Wave 1

  • Post comments:0 Comments

Microsoft Dynamics 365 Business Central 2021 Release Wave 1 is out (whoa, that was a mouthful) with some new perks for developers. Today, I had another live session at http://vjeko.live, and I made it both the first one in the series of What’s New for the latest release, as well as the episode four of Fun with Interfaces.

Interfaces are such an amazing feature in AL language, that was long missed, and that’s now saving my day nearly every time I do something with AL. The latest AL compiler (runtime “7.0”) comes with these new interesting features about interfaces:

  • You can mark interfaces for obsoletion.
  • You can mark individual interface functions for obsoletion.
  • You can return interfaces as return type from functions.
  • You can define UnknownValueImplementation for enums to specify the interface that represents any unknown enum values.

Let’s take a look at each one of those with examples.

(more…)

Continue Reading What’s new about interfaces in 2021 Wave 1

Webinars in the upcoming period

  • Post comments:0 Comments

My last two webinars were a great success, and this is not only judging from my angle. Attendees were very happy with them, and the feedback I received was overwhelmingly positive. I’ve got a lot of inquiries about repeating them, and I also got a few ideas for new ones that would allow you to build on top of the knowledge gained in the first two.

So, today I am announcing the schedule for the webinars for the next three months.

(more…)

Continue Reading Webinars in the upcoming period

Webinar: CI/CD from AL developer’s shoes

  • Post comments:0 Comments

I am postponing this webinar! It appears that it coincides directly with a webinar held by Arend-Jan Kauffmann, so I’ll announce different dates for this one soon.

This webinar is moved to May, please check the sidebar.

After two very successful webinars about Git internals and Git branching models and strategies, I am now announcing the next one, titled CI/CD from AL developer’s shoes.

When talking about CI/CD, one word typically pops to mind: pipelines. But pipelines is just one aspect of this much wider and bigger topic. Let me just say this: Continuous integration was conceived a long time before anyone was thinking of pipelines. Continuous integration and delivery are sets of practices, a philosophy if you want, that must go through into every pore of the development process before pipelines can make much sense.

And while previous two webinars were almost agnostic of AL, and were presenting Git and related processes from nearly a pure Git perspective, this webinar has AL in central focus, and presents this important topic from the angle of an AL developer.

(more…)

Continue Reading Webinar: CI/CD from AL developer’s shoes

Conditional directives

  • Post comments:0 Comments

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! interfaces, cough, cough, interfaces) you can’t really grasp their full power just by reading the documentation available.

(more…)

Continue Reading Conditional directives

Resident control add-ins – no SingleInstance

  • Post comments:0 Comments

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. So my second blog on this topic focuses precisely on that: how to make your control add-in available to your AL code from everywhere, without having to rely on a single-instance codeunit.

(more…)

Continue Reading Resident control add-ins – no SingleInstance