A quick look into the upcoming major version in April 2021 (Business Central 2021 release wave 1) from the developer’s point of view

by Feb 13, 2021Administration, AL Language, Data, Development, Runtime

Home 9 User Experience 9 Administration 9 A quick look into the upcoming major version in April 2021 (Business Central 2021 release wave 1) from the developer’s point of view

It is only four months since the last major version of the Business Central (2020 wave 2) has been released, and we can already look forward to another version that will be released in April.

Microsoft has already provided the list of planned and confirmed functionality (available here). Let’s look at some of the planned features that will be usable (or, at least available) for programmers.

Most useful changes for developers

Extensible reports

One of the most annoying things for customising in the AL language are definitely reports. Till now, to add own field to the existing report from the base app or another extension, there was no other way but to copy the report and do the change in this copy.

With the upcoming version, developers will be able to create a report extension objects. Using this extension object type, we will be able (at least) to add new fields to existing datasets and request pages.

In my opinion, this is one of the most critical changes and as so I will look at it in another article once it is available in public preview.

Returning of complex types from AL procedures

One of the greatest news is that with the new update almost every complex type (record, page, query, list, …) can be returned from a procedure. Let’s see an example:


 procedure GetSellToCustomer(): Record Customer
 var
   Customer: Record Customer;
 begin
   Rec.TestField("Sell-to Customer No.");
   if Customer.Get("Sell-to Customer No.") then
     exit(Customer);
 end;

As this is a big change and as it is something known and often used in almost any other language, I will look at it in details in the next weeks.

Ability to add own keys/indexes to base table/tableextension

To increase custom processes’ performance, Microsoft added support of adding own keys to original tables and tables from any extension.

Entitlement and PermissionSet objects

There will be new object types for better administration and security of user’s roles: Entitlements, PermissionSets and PermissionSetExtension.

PermissionSets (and PermissionSetExtension) are already familiar to anybody. However, in current versions of the Business Central, they are stored and managed directly in the Modern Client.

Entitlements is a new object type that will allow specifying, which objects are available for specific users based on their assigned license (Full, Team Member, …) or Azure Active Directory role.

Easier working with 1-D barcodes in report layouts

There are new fonts available to use in report layouts. These fonts allow generating one-dimensional barcodes. For now (2021/02) licensed fonts are as follow

Some of other improvements

  • Availability to specify report layout both using AL or directly in the Modern Client (so as developers, we can use the same report for more layouts dynamically)
  • Performance improvements to Role Centers. The content of the Role Center is loaded in a similar way to FactBoxes. That means that Role Centers are loaded part by part from top-level (from menus), and only the visible parts are loaded. For developers, that is the improvement that helps with the performance a lot as users will be able to use menu actions without waiting for bricks and other stats shown on the main page.
  • Interfaces can be obsoleted as any other objects (In my opinion, this is a fix, not an improvement…)
  • Lookups triggers will return record link of selected record instead of its name.
  • Many improvements to the extensibility of reservation management. I will cover this topic as a separate article in the upcoming weeks.

Recent Articles from the category

New concurrency limits for JQ in 23.3

New concurrency limits for JQ in 23.3

With release 23.3, Microsoft completed the global rollout of concurrency JQ limit changes first introduced last year! Instead of a per-environment limit, Microsoft has shifted the focus to users (or Microsoft Entra Apps). Now, you can create more scheduled tasks per...

read more
BC Open Source? How to start?

BC Open Source? How to start?

BC Open Source? How to start? One of the most exciting news introduced last month in Lyon during Directions EMEA 2023 was the changes to the open-source initiative. This means that you can now contribute to the source code of the Base app and the System app, which are...

read more
Validate a FlowField Field. Wait? What?

Validate a FlowField Field. Wait? What?

Validate a FlowField Field. Wait? What? There are not many things in the AL Language that surprised me. However, last week, I found one such thing - I reviewed customizations made by another partner and had to analyze the OOTB code of the Demand Forecast matrix. I run...

read more
Dynamics NAV 2013 & Expired Cronus License

Dynamics NAV 2013 & Expired Cronus License

We found an interesting problem - we were not able to run the development environment for Dynamics NAV 2013. Whenever we tried to run the development client, we got the following error message: "Your program license has expired" and the development client has closed...

read more

Sign Up for News

Certifications

Highest certification
Microsoft Data Management and
also in D365 Business Central

Microsoft Certified: Dynamics 365 Business Central Functional Consultant Associate

See other certifications here