-

Directions Asia 2026: Two Sessions, Four Standouts, and a Shift in How I Think About Our Craft
I just got back from Directions Asia 2026 in Ho Chi Minh City, Vietnam, and I am still processing how much happened in those few days. I had the privilege of presenting two sessions, sat in on some genuinely brilliant talks from people I respect, caught up with old colleagues, and walked away with a…
-

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%…
-
Directions ASIA 2025 – Join Us in Bangkok!
I’m excited to announce that I will speak at Directions ASIA 2025 alongside Steve Gichure. This year, the event expands to three full days of learning, networking, and innovation, and we can’t wait to be a part of it. 💙 This event is also extra special because my wife, Shanika Ranathunga, plans to join me!…
-
Simplify Per-Tenant Extension Management in Dynamics 365 Business Central
The new functionality available in the admin centre has simplified the management of per-tenant extensions (PTE). Administrators can now oversee PTES directly from the Business Central Admin Centre and its API, similar to how AppSource apps are managed. This enhancement reduces administrative overhead by removing the need for individual access to each environment, facilitating…
-

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
-
How to Enable Outbound HTTP Requests in the Sandbox
Did you know that outgoing HTTP requests are automatically disabled when a Business Central sandbox is created to prevent unintended calls? To enable outgoing HTTP requests in a sandbox environment, follow these steps:1. Go to the Extension Management page.2. Select the extension making the HTTP request.3. Enable the “Allow HttpClient Requests” option in the extension’s…
-
Do you specify the 𝐑𝐮𝐧𝐓𝐫𝐢𝐠𝐠𝐞𝐫 parameter?
When you call the Insert, Modify, or Delete functions, it is important to specify the 𝐑𝐮𝐧𝐓𝐫𝐢𝐠𝐠𝐞𝐫 parameter. If you do not include this parameter, the compiler assumes you 𝒅𝒐 𝒏𝒐𝒕 𝒘𝒂𝒏𝒕 to run the trigger. 𝑨𝒍𝒘𝒂𝒚𝒔 𝒃𝒆 𝒄𝒍𝒆𝒂𝒓 𝒂𝒃𝒐𝒖𝒕 𝒚𝒐𝒖𝒓 𝒊𝒏𝒕𝒆𝒏𝒕𝒊𝒐𝒏𝒔. For example:If you do not want to run the trigger, use:Record.Modify(𝐟𝐚𝐥𝐬𝐞); Avoid using:Record.Modify(); If…
-

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…
-

Update sandbox environments to preview versions
It will be possible to update a Microsoft Business Central sandbox environment to the preview version starting with the public preview for 2025 release wave 2.
-
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…
-

Directions Asia 2024
Recap: Presenting at Directions Asia 2024 Conference in Bangkok I recently had the pleasure of presenting at the Directions Asia conference in Bangkok, and I must say, it was an incredibly rewarding experience. If my memory serves correctly, it was my 4th Directions Asia conference. As usual, the event was exceptionally well organised, and everyone…
-
Turn off data analysis mode on pages and queries.
When first introduced, the data analysis mode was available on all list pages, and it did not make sense to have that feature available for all users. From version 23.1, tenant admins and AL developers can turn off the analysis mode on list pages and query objects unsuitable for analytical usage. Below are the two…
-

Automatically update AppSource apps with minor updates.
Before the 2023 release wave 2, Admin users could manually update specific apps through the App Management page in the Business Central admin centre or await a major update for the environment, which will automatically update AppSource applications. What if you don’t want to do it manually or wait for a Major update? Let’s say…
-

The VAT Date is not within the range of allowed VAT dates.
Did it suddenly start to throw the “VAT Date is not within your range of allowed posting dates” error? Nothing to worry about; it is due to a new VAT-related functionality added by Microsoft.
-

New operational limits on scheduled tasks.
The Microsoft Business Central version 23.3 completes the final segments of the new job queue tasks capabilities. With the new release, concurrency limits for scheduled tasks have been changed. Concurrency limit for scheduled tasks You can run as many scheduled tasks as possible if the environment has enough user accounts. However, you should not abuse…
-

BCTechDays 2023
I am excited to announce that Vlad and I will be presenting a session on the topic of Future Management for Continuous Delivery at BCTechDays 2023 in Belgium. Our session will focus on the practice of feature management, which leverages feature flags to enable dynamic feature administration and quick changes to feature availability on demand.…
-

Directions ASIA 2023
If you want to connect with other partners, have a front-row seat to learn about the newest releases, share information with other Business Decision-makers, or simply grow together with the Dynamics 365 community, attending Directions ASIA is a no-brainer. Directions4Partners are gathering the Microsoft teams and the best of the industry to come and teach you all the latest information in person, including:…
-

User account does NOT have permission to run docker commands
On Windows systems, if you receive a permission error when trying to run Docker commands inside a Windows container, it may be because the user account running the Docker command doesn’t have the necessary permissions to access the Docker daemon.
-

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.
-

Docker: You cannot sign in due to a technical issue. Contact your system administrator.
Docker: You cannot sign in due to a technical issue. Contact your system administrator. Incorrect URL: http:///BC/SignIn Correct URL: http:///BC/SignIn?tenant=default
-

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.
-

Microsoft Dynamics 365 Business Central 2022 release wave 1 (BC20) SaaS preview environment is available.
Creating a Microsoft Dynamics 365 Business Central 2022 Wave 1 preview environment is now possible. You need to go to the Admin Center of the Business Central tenant and create a Sandbox and select the version. Make sure to select 20.x.xxxxx.x (Preview) and click Create. To remember, Microsoft will sometimes remove these preview environments without…
-
Azure Integration Services, Azure Logic Apps, Azure Security, Integration, Microsoft Dynamics 365, Microsoft Dynamics Business CentralOAuth – Part 03 – Logic App, OAuth and Business Central
This is the 3rd blog post of the OAuth series, and I have already completed the numbers 2 and 4. Once I complete this blog post today (Hopefully), I only have one to write. I will try to complete that one also within next week when I find some time during the night. I have…
-
Azure Integration Services, Azure Security, Integration, Microsoft Dynamics 365, Microsoft Dynamics Business Central, UncategorizedOAuth – Part 04 – Understanding Service Principal
In my previous blog post, we have gone ahead and registered an application in Azure Active Directory and then create an application account in Business Central. As the last step, we have granted permission from Business Central. In this blog post, I’m trying to briefly explain what we did in little bit more detailed way.
-
API, Azure Integration Services, Development, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and Tricks, Web ServiceOAuth – Part 02 – Configure Service to Service Authentication
In this blog post, I’m going to take you through the steps required to complete the OAuth client credentials flow for Business Central. Check this link if you want to refer to the official post from Microsoft.
-
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…
-
Dataverse, Integration, Microsoft Dynamics 365, Microsoft Dynamics Business Central, Tips and Tricks, UncategorizedLesson learned during Dataverse integration: Namemapping = ‘Logical’ was not found in the MetadataCache.
Yesterday I was working on integrating a custom entity using the box connector for Dataverse in Microsoft Dynamics 365 Business Central. After completing all the changes and deploying the app to a sandbox environment, I tried to open the custom entity table through its list page. Unexpectedly I ran into below dialogue box. The entity…
-
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.…
-
AppSource is embedded in Business Central
With the Business Central version 16.5, AppSource is now embedded within the Business Central. No more required to navigate to a different browser window to select the extensions to install. The view is already been filtered to Business Central apps and experience is seamless. Please provide your feedback with a comment. Thank you and Regards,Tharanga Chandrasekara
-

How to use a custom SystemId when inserting a record through an API
Have you tried to insert a record to Microsoft Dynamics 365 Business Central through a Custom API and pass a custom SystemId with the record? Basically what I trying to achieve is when an Account is created in the D365 Sales system, I want to pass that record to D365 Business Central. I can easily…
-

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…