-

OData Deprecation in Business Central: What Your Integration Architecture Needs Right Now
Microsoft is removing OData support for first-party pages in Business Central v30 (2027 Wave 1), and SOAP endpoints disappear even sooner in v29. If your integrations rely on exposing UI pages as web services, the migration clock is already running. This post walks through the full deprecation timeline, explains why swapping URLs is only 20%…
-

Implicit Conversion Between Record and RecordRef
With recent updates to the AL language extension (v15), Microsoft has introduced support for implicit conversion between Record and RecordRef instances, making it easier to work with both types in the code. This feature removes some of the verbosity previously required when switching between Record and RecordRef variables, allowing developers to write cleaner, more concise…
-
Ternary operator ?: in AL
AL language now supports ternary (conditional) operator. The ternary operator? : known from other programming languages, streamlines conditional operations in code, enhances readability and reduces verbosity. The following examples show how the code GetBooleanText() can be rewritten using the ternary operator to be less verbose and more succint. Without the ternary operator: With the ternary operator…
-
Include Resources in extensions
Good news! Resource files can now be included as part of an extension. This new option enables developers to package essential resources, such as images, configuration settings, and text files, directly with their extensions, ensuring that all necessary components are readily accessible and improving overall performance. To add resources to the extension, the following property…
-
AL now supports the Continue statement
From runtime version 15, it is possible to use the continue keyword in loops to continue to the next iteration. (Please make sure that your “AL Language extension for Microsoft Dynamics 365 Business Central” is version 15.0 or above) The continue statement allows skipping the remaining code in a loop’s current iteration and jumping directly into the…
-
Multiline strings: AL now has support for multiline string literals.
AL now support multiline string literals. It will enhance code readability and maintainability, especially when dealing with lengthy text content or complex string literals. Functionality is available with the AL Language Extension version 15.0 I thought, “Oh, we can use this to store the prompts for Copilot or OpenAI.” However, Dmitry suggested that utilising the…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and Tricks
Do you know you can navigate directly to a symbol of a file in VS Code?
All you need to do is press “Ctrl” + P and type the object name you want to navigate to. Then press @. It will list all the object’s fields, functions, and triggers. You can select the place you want to jump into. Regards,Tharanga Chandrasekara
-

Are you looking for an Action image browser in BC?
AL developers for Microsoft Business Central need to browse the Business Central image gallery to select meaningful images. This allows them to assign these images to new action buttons, enhancing the user interface for better usability. The AZ AL Dev Tools extension simplifies this process by adding new commands that load and display available images…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and TricksDecluttering Your Enums: How to Show Only What Matters
It is common practice to use existing objects when developing new modules. Microsoft Dynamics 365 Business Central offers a wide array of pre-defined enums; however, specific options within these enums may not be relevant to the new module’s requirements. Additionally, there may be instances where it is advisable to restrict users from selecting specific values…
-

Business Central Performance Profiler
If a business process takes longer than expected, your administrator can use the Performance Profiler page to record a snapshot of the process. While recording, the profiler monitors all of the apps that are involved in the process.
-

Read Data from Dynamics 365 Business Central Replica Database (Data Access Intent)
One beautiful thing about Microsoft Dynamics 365 Business Central is that it allows you to have a read-only replica of the Azure SQL database and use that replica database to perform read-only queries to retrieve data. Queries to retrieve data running on the replica database, your main database instance will run smoothly without any performance…
-
AL Extensions, Azure Integration Services, Azure Security, Development, Integration, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and TricksOAuth – Part 05 – Service-to-Service Integration and Task Scheduler
In Basic authentication, we used an actual user to connect to BC, but with the new S2S authentication we are not using an actual user and Scheduled tasks must be created and executed in the context of a licensed user. Therefore API requests cannot schedule a background task. It is simple as that.
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and Tricks, VSCodeHow to get Business Central Environment Related Attributes?
If you want to get the details about the environment you don’t have to reinvent the wheel, you can simply use the standard codeunit Microsoft has introduced. If you look into the codeunit 457 “Environment Information”, you will see there are many procedures that fetch attributes concerning the environment of the service on which the…
-

TableType Property = Temporary
A temporary table is a temporary variable that holds a table. A temporary table is used as a buffer or intermediate storage for table data. You can use a temporary table just like you use a database table. The differences between a temporary table and a database table are as follows: A temporary table data…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and Tricks, VSCode
Quick fix for warning AL0604: Use of implicit ‘with’ will be removed in the future.
If you have not read my previous blog posts about the Implicit WITH, I suggest you read them to get a better understanding of the Implicit WITH. Also, you can read the Microsoft Docs to get more information as well. NoImplicitWith – The name #FieldName does not exist in the current context NoImplicitWith: The type…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and TricksNoImplicitWith: The type or method ‘Copy’ cannot be used for ‘Extension’ development.
If you have not read my previous blog, I suggest you read it to get a better understanding of NoImplicitWith. Microsoft recently announced about obsoleting the WITH statement and if your app.json file contains NoImplicitWith as a feature then you will probably be getting below error. The type or method ‘Copy’ cannot be used for…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and TricksNoImplicitWith – The name #FieldName does not exist in the current context
If you have used WITH statement in your AL code to make the code readable, then this blog will be helpful for you. There are people who completely support the use of WITH statement and I also was on that category a few years ago. Fortunately, I moved on from the use of WITH statements.…
-

Navigate directly to a symbol of a file in VS Code
How would feel about if you can directly navigate to a symbol of a file? It is now possible in VS Code. All you need to do is press “Ctrl” + P and type the object name you want to navigate to and then press @, it will list down all the fields, functions and…
-
Object types is case sensitive in TenantWebServiceCollection
Last week while I was working on an integration project, I wanted to call a Business Central function from Azure Logic Apps. I had few options with APIs but I went ahead with creating a CodeUnit with a function and expose it as a web service. Rather than exposing the CodeUnit by manually inserting…
-

Obsoleting Microsoft Dynamics 365 Business Central Events
If you are working on the extension development, then I’m sure that you already have published and subscribed to many events. There are some rules that you should strictly follow around events if your extension is eventually be used by another partner to build their solution on top of yours. Business Central has two types of events…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and TricksAL: Action Property must have a value
This blog post was sitting on my draft folder for the past few months and finally got time to hit the publish button. AL compiler getting smarter day by day. In previous versions even if we declare an action and never implement the OnAction trigger or assign the RunObject property it never gave a warning…
-
AL Extensions, Announcement, Conferences, Development, Microsoft Dynamics 365, Microsoft Dynamics Business CentralReport back from Directions EMEA 2019: Technical
The first-day keynote was packed with stats and exciting announcements from Microsoft. As for the Microsoft general manager Toby Bowers, 1400+ partners selling Business Central worldwide. 4000+ customers actively using Business Central. 450+ business central solutions are available on AppSource. The number of users doubled compared to last year. This clearly indicates that Business…
-

How to change the version of the AL Language compiler
Microsoft released a new update to AL Language extension for VS Code. With this new update, the compiler does a few pre-checks before compiling the objects and packages them into a .app file. Most probably you will have to do minor changes to your extension codebase to work with the new compiler. Otherwise, you will…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and Tricks, VSCodePlatform property is still required in app.json
With the Wave 2 release, Microsoft did convert all the C/AL objects into AL. Since they want to lead by example they wanted their own code to be on extensions as well. Plus they wanted to split the objects based on its functionality. After converting to AL, Microsoft put the objects into below two extensions: System…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and TricksHow to handle breaking changes?
Wagner and I are on our way to Vienna to present at Directions EMEA, and now we got into our second flight after flying over 15000Km from Auckland New Zealand, to Dubai. We got another 6 hours to complete on this flight before we step our foot in Vienna. Went through the in-flight entertainment system,…
-
AL Extensions, API, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and TricksHow to inject data to Customer Address Line 2 using Microsoft Business Central API
Creating a customer record in Microsoft Dynamics 365 Business Central is a topic I blogged about in one of my previous blog posts. If you have not read them yet I suggest you read it before going through this for better understanding. Part 01: Getting Started with Dynamics 365 Business Central APIs Part 02: Understanding Microsoft Business…
-
Dynamics 365 Business Central: Permissions required to download AL symbols
Your user needs to have the necessary permission to download AL symbols from Visual Studio Code (VSCode), else you will end up with “Could not download symbols” error in VS Code. In order to download symbols, User needs to have SUPER permission or should have “D365 EXTENSION MGT” permission assigned. Symbols are stored per tenant…
-
Add a logo to a Microsoft Dynamics 365 Business Central Extension
I saw a couple of forum questions about how to add a logo to an AL Extension and I thought to share a quick guide on how to. If you publish your new extension to Microsoft Dynamics 365 Business Central and then navigate to Extension management page, you will see your new extension as below…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, PowerShell, Tips and Tricks
Runtime Packages for Business Central On-Premises
Before you go through this blob, I suggest you read my blog post “Your program license does not allow you to publish” to get an understanding about the Runtime Packages. Runtime packages are designed to help the distribution of extensions. You can generate Runtime packages that do not contain AL code. Runtime packages allow protecting the…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Microsoft Dynamics NAV, PowerShell, Tips and Tricks
Your program license does not allow you to publish
We recently ran into a new issue when we try to push one of our extensions to Microsoft Dynamics NAV 2018 On-premise installations. We used PowerShell script to upload the extensions to production and we did this couple of days ago too without an issue. However this time we got the below error during the installation :…
-
Function Overloading in AL with Option and Integer
We never had the luxury of overloading a function in C/AL, but with the AL we have that ability. Which means you can use the same function name with different parameters. This blog post is about a small glitch in the function overloading in AL and I will write a separate blog post about function overloading and its implementations (Excited about…
-
Git Bash on Visual Studio Code integrated terminal
Visual Studio Code (VSCode) uses PowerShell by default in the integrated terminal. How easy would it be if Bash can be integrated into VS Code terminal? This is how my VS Code terminal looks like now: This can be achieved with a few steps. 1. Download Git (https://git-scm.com/downloads) and during the installation click below steps.…
-
The runtime version of the extension package is currently set to ‘2.1’
While deploying one of our base extensions to a customer tenant we got an error with “Unable to Install the Extension *******”. This was the same extension we deployed to the same tenant couple of days ago with a different version. We revert our changes and try to publish it again but the same error. …
-
Control Source code download from an AL Extension
Microsoft Dynamics 365 Business Central extensions now allow partners to decide if they want to share the extension source code with others or they want to go put it into a little black box. If the extension contains code related to specific customer requirements then I think it is up to the customer and to partner…
-
Get all Docker images available for Business Central
You can use below PowerShell script to get all the Docker images available for Business Central. This is very useful if you always work with Docker Containers and want to test your changes with different localizations and different builds. If you are still new to docker then its better to read my previous blog post…
-
Quick Fix : This AL extension version for Visual Studio Code cannot be used with the specified server.
If you recently pulled the latest Business Central image or update the visual studio code you might have already faced this error. This AL extension version for Visual Studio Code cannot be used with the specified server. Please update the AL extension from the Visual Studio Code marketplace. Additional information:Server details – Runtime: 2.3 –…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics NAV, Microsoft Dynamics NAV 2018, VSCode
Configure Visual Studio Code with Dynamics NAV 2018 (Local Server Installation)
After installing Dynamics NAV 2018 I want to configure Visual Studio Code with Dynamics NAV to use new Development tool. I already had Visual Studio Code installed on my computer (Click to download Visual Studio Code) so I open up the application. Do not follow Section 01 steps because you will run into issues. Read the Section 02 of…
-
AL Extensions, Development, Microsoft Dynamics 365, Microsoft Dynamics NAV, Microsoft Dynamics NAV 2018
Install Dynamics NAV 2018 with Modern Development Environment
Microsoft released Microsoft Dynamics NAV 2018 a few days ago and by now most of you have already downloaded the setup. If you don’t have it already, you can download it by clicking here. In this blog post, I will not go through each step as it is not much different with the installation process compared…
-
AL Extensions, C/AL, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Microsoft Dynamics NAV
Use of Virtual Table : Date – Microsoft Dynamics NAV
This blog post is about something powerful but hidden within Microsoft Dynamics NAV. I believe many developers always work with dates over and over during their day-today life and i’m sure many of you have done many functions which convert, split and do all sort of things with date. Saying that many developers does not…
-
Preview of Dynamics NAV Development Tools – How to get Started
I think most of you know by now already that Microsoft has released new Development preview for Dynamics NAV. If you still not updated on that yet, then refer below link on the Preview of Development Tools for Dynamics NAV Preview of Development Tools for Dynamics NAV In this blog post we are going to…
-
Preview of Development Tools for Dynamics NAV
Microsoft has deiced to give an early Christmas gifts to the world by introducing new tools to build extensions and apps in and for Dynamics NAV Tool comes in two flavors and both are available in preview from today (21/12/2016). The in-client designer Before talking about it, just have a look at the below gif. I’m sure most of…
-
AL Extensions, C/AL, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Microsoft Dynamics NAV
Understanding COMMIT and Transaction Scope within Microsoft Dynamics NAV
Have you tried and thought about what is the transaction scope. In this blog post I am going to discuss little bit about transaction scopes and how the transaction scope works within Microsoft Dynamics NAV. In order to check the simple scope I am planning to use below code. Pretty simple, its just inserting a record…