Using Azure API Management to host your Dynamics 365 Business Central APIs
Jun14

Using Azure API Management to host your Dynamics 365 Business Central APIs

Some days ago there was a discussion on Twitter started by Waldo about how to document custom Dynamics 365 Business Central APIsd to third-party clients that expects standard documentations like OpenAPI. OpenAPI Specification (formerly Swagger Specification) is an API description format for REST APIs. An OpenAPI file allows you to describe your entire API, including: Available endpoints… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: SetLoadFields performances with reference passing or value passing parameters
Jun03

Dynamics 365 Business Central: SetLoadFields performances with reference passing or value passing parameters

I’ve written in the past some posts with tips on how to write code for performances and how to be careful on using too much table extensions on heavy used tables if you don’t want to affect the performances of your tenant. There are also some sessions and webcast that I’ve done on these topics during this year (DynamicsCon, webcasts for Microsoft and more). The partial records capability is… Continue Reading...

Read More
Exporting Application Insights logs with Continuous Export or Diagnostic Settings
May27

Exporting Application Insights logs with Continuous Export or Diagnostic Settings

I’m continuously emphasizing that for monitoring cloud applications (like Dynamics 365 Business Central) and cloud services, using Azure Application Insights is a must. For analyzing telemetry data, I‘ve talked in the past about how to use Log Analytics and the features available in the Azure Portal, how to use Powershell, how to use Power BI and more. But what to do if you want to extract… Continue Reading...

Read More
Dynamics 365 Business Central: automatically update library apps when updating your main app
May18

Dynamics 365 Business Central: automatically update library apps when updating your main app

Yesterday I had a chat with a Partner that was stuck with a problem on some SaaS tenants. Problem can be resumed as follows: Step 1: They have published on AppSource a MAIN app together with a library app LIBRARY1. Step 2: They have installed the MAIN app on the customer tenant from AppSource and the LIBRARY1 app was automatically installed on the tenant. Step 3: They have installed… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: creating a DGML dependency graph for your extensions
May10

Dynamics 365 Business Central: creating a DGML dependency graph for your extensions

Have you ever had the need or the requirement to create a graphical diagram of the building blocks of your extension? Personally, a lot of time. I think that explaining an overall solution architecture with a diagram is something that sometimes can help a lot. I personally use diagrams or UML notations a lot during the architectural phase of a software solution or a cloud solution (that… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: thecontextSensitiveHelpUrl parameter and malicious urls
May04

Dynamics 365 Business Central: thecontextSensitiveHelpUrl parameter and malicious urls

This is a very quick post for signaling a potential problem when you distribute your apps (per-tenant extensions) to your customers without carefully checking your app.json file. When you create an extension with the AL:Go! command, the skelethon of your extension’s project is created and if it’s your first project the default name of your extension is set to ALProject1. This is the… Continue Reading...

Read More
Dynamics 365 Business Central and .NET add-ins (part 2): why .NET Standard?
Apr29

Dynamics 365 Business Central and .NET add-ins (part 2): why .NET Standard?

As a follow-up to this post, I’ve received some questions related to why we talked about .NET Standard if the future Microsoft’s goal is to use .NET Core on server-side for Business Central (more performant, lightweight, modular, cloud-ready) and if .NET Core is the supported runtime on Azure Functions. A .NET add-in in Dynamics 365 Business central runs in the context of the service tier…. Continue Reading...

Read More
Dynamics 365 Business Central and .NET Framework add-ins: it’s time to change
Apr23

Dynamics 365 Business Central and .NET Framework add-ins: it’s time to change

With Dynamics 365 Business Central 2021 Wave 1 Microsoft is continuously moving the server to .NET Standard and if you’re using on-premises .NET add-ins that targets .NET Framework, you should start converting them in order to use .NET Standard. .NET add-ins compiled with .NET Framework won’t work in Business Central 2022 release wave 1. This message was quickly launched also recently and I… Continue Reading...

Read More
Why you should start considering Azure Batch for some of your Dynamics 365 Business Central cloud workloads
Apr15

Why you should start considering Azure Batch for some of your Dynamics 365 Business Central cloud workloads

At the Dynamics 365 Business Central 2021 Wave 1 Launch event, in his wonderful session about the Administration Center, Dmitry Chadayev (Microsoft PM) has described the improvements that Microsoft has made on the tenant’s database export feature. The improvements involved the underlying technology for having a more reliable and performant way of exporting the tenant database when this… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: native support for barcodes
Apr06

Dynamics 365 Business Central: native support for barcodes

When working with an ERP, using barcodes on different reports is a common practice and I think that every ERP should natively support using and printing barcodes (and QR codes too). Using barcodes with Dynamics 365 Business Central was quite easy in an on-premise environment (just install a font and you’re ready to go) but not so easy to handle on a SaaS environment, where you were not able… Continue Reading...

Read More
Deleting Application Insights telemetry data on-demand with Powershell
Mar30

Deleting Application Insights telemetry data on-demand with Powershell

I think that everyone of you knows that telemetry is an important aspect to take into consideration when working with a Dynamics 365 Business Central SaaS tenant and I continuously encourage you to activate the integration with Application Insights for your production environments. In a post about this topic that I’ve written months ago, I’ve provided you a way to analyze telemetry data of… Continue Reading...

Read More
Dynamics 365 Business Central connector for Power Platform update
Mar16

Dynamics 365 Business Central connector for Power Platform update

This is a very quick post just to notify all of you that are using Microsoft Power Platform with Dynamics 365 Business Central that the rollup of the new version of the standard connector is in place (I’ve talked about these new features on my session in Power Platform Bootcamp Italy event a month ago). With the new standard connector for Power Apps and Power Automate, you will find some… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: introducing the reportextension object
Mar12

Dynamics 365 Business Central: introducing the reportextension object

One of the noisy limitations on Dynamics 365 Business Central until version 17.X was the impossibility to extend standard reports. If you want to add a simple new field to a standard report, you are forced to create an entire new report (new dataset), maybe from scratch or (better) by manually copying the standard dataset into a new .al file and then modifying it. You cannot handle the report… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: ClearAll is evil, again!
Mar05

Dynamics 365 Business Central: ClearAll is evil, again!

When Dynamics 365 Business Central version 16 was launched, I remember that a weird problem was signaled to Microsoft related to the ClearAll usage in code. For who don’t know this (but who don’t know this?) the ClearAll() procedure clears all internal variables (except REC variables), keys, and filters in the object and in any associated objects, such as reports, pages, codeunits, and so on… Continue Reading...

Read More
Microsoft Universal Print is finally ready (yes, also for Dynamics 365 Business Central)
Mar02

Microsoft Universal Print is finally ready (yes, also for Dynamics 365 Business Central)

Today at the first day of Ignite, Microsoft has finally announced that Universal Print is finally available for everyone. Universal Print is the premier cloud print service available at scale to businesses and educational organizations, deployed in the cloud on Microsoft’s datacenters and available to customers who have one of the following Windows or Microsoft 365… Continue Reading demiliani’s Article on their blog...

Read More
Dynamics 365 Business Central: per-tenant extensions and conflicts with standard Microsoft’s fields
Mar01

Dynamics 365 Business Central: per-tenant extensions and conflicts with standard Microsoft’s fields

Some weeks ago I received two emails from contacts where they submitted me two interesting “bad problems” that blocked them on Dynamics 365 Business central SaaS. Problems were the following: Field declared in a per-tenant extension that now has a conflict with a standard Microsoft Base Application field.Object IDs conflicts on AppSource apps. Field conflicts between Base Application and… Continue Reading...

Read More
Dynamics 365 Business Central: are your AppSource apps ready for 2021 Wave 1 release?
Feb23

Dynamics 365 Business Central: are your AppSource apps ready for 2021 Wave 1 release?

As I think you already know, with Dynamics 365 Business Central 2019 release wave 2 (version 15) Microsoft has marked a set of different things as obsolete (ObsoleteState = Pending) and with the upcoming Dynamics 365 Business Central 2021 release Wave 1 (version 18) these obsoleted things will be removed. This process can have impact on your apps if you’ve not yet fixed the related warnings in… Continue Reading...

Read More
Dynamics 365 Business Central: returning complex types from AL
Feb09

Dynamics 365 Business Central: returning complex types from AL

I think that every AL developer dreams that a day AL will be a full Object Oriented programming language like C# or others. Unfortunately, AL is born from C/AL and its main purpose is to write business logic inside a business application like an ERP in the cloud, it’s not a language that will be used for writing every type of apps. But that is… don’t stop to suggest things, don’t stop to… Continue Reading...

Read More
Dynamics 365 Business Central: SOAP and Basic Authentication deprecation
Feb08

Dynamics 365 Business Central: SOAP and Basic Authentication deprecation

If you’re using web services with Dynamics 365 Business Central version, from version 17.X you should always check the notifications that pops up in the Web Services page because some changes are in place (and Microsoft alerts you about that): The first notification appeared from version 17 is related to OData V3 deprecation. You should never use OData V3 now and instead go for the V4… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: automatically import custom report layouts with extensions
Jan26

Dynamics 365 Business Central: automatically import custom report layouts with extensions

Do you love reports? Personally, NO! But that is, as a Business Central developer I think that sometimes (forced or not) you need to work with reports in your solutions. As a quick recap, in Dynamics 365 Business Central a report layout controls content and format of the report, including which data fields of a report dataset appear on the report and how they are arranged, text style,… Continue Reading demiliani’s Article...

Read More
Securing your Azure SQL Database with a private endpoint
Jan22

Securing your Azure SQL Database with a private endpoint

Some days ago I discussed with some partners the architecture of a possible datawarehouse system for external BI analysis connected to Dynamics 365 Business Central data. They created an Azure SQL database where a “data sync” with Dynamics 365 Business Central was in place and they perform BI analysis on this external database. The raised question was after this work was: can we protect… Continue Reading...

Read More
Dynamics 365 Business Central: point in time restore of a Production environment
Jan14

Dynamics 365 Business Central: point in time restore of a Production environment

Yesterday Microsoft has officially released one of the most requested feature for the Dynamics 365 Business Central SaaS environment: point in time restore for environments. If you access your tenant’s Admin Center and select an environment, now you can see the following option: The new Restore option permits you to restore an existing environment from a time in the past, within the… Continue Reading demiliani’s...

Read More
Migrating Applications to the Cloud with Azure made it to the Best Microsoft Azure Books of All Time
Jan13

Migrating Applications to the Cloud with Azure made it to the Best Microsoft Azure Books of All Time

I’m happy to announce that our book, “Migrating Applications to the Cloud with Azure: Re-architect and rebuild your applications using cloud-native technologies”, made it to BookAuthority’s Best Microsoft Azure Books of All Time.As featured on CNN, Forbes and Inc. , BookAuthority collects and ranks the best books in the world, and it is a great honor to get this kind of recognition…. Continue Reading...

Read More
Dynamics 365 Business Central: Batch API calls and max number of operations
Jan12

Dynamics 365 Business Central: Batch API calls and max number of operations

The standard (and for what I can see most used) way of using Dynamics 365 Business Central APIs is by sending an HTTP request to the API endpoint for the selected entity one request at a time: But if you need to perform massive operations (like for example inserting multiple journal lines in a batch) this could be not too much performant. Dynamics 365 Business Central APIs (standard… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: the impact of tableextensions
Dec28

Dynamics 365 Business Central: the impact of tableextensions

I think that everyone of you already knows that when working with Dynamics 365 Business Central, table extensions are killers for performances. But how much? That’s a question that I’ve also done to myself a lot of time when working with partners or when creating my own solutions. Is there a “deadline” for how many table extensions can I create for the same table in order to not kill my… Continue Reading...

Read More
Using Powershell to retrieve your Dynamics 365 Business Central telemetry
Dec16

Using Powershell to retrieve your Dynamics 365 Business Central telemetry

Telemetry, telemetry, telemetry… this is an hot topic in your developer’s and admin’s life in the cloud. We have talked a lot about using Application Insights for handling the telemetry data of your Dynamics 365 Business Central tenant running in the cloud and in the last events Microsoft, me and others (like my friend Duilio) explained how to use two important tools for querying your… Continue Reading...

Read More
Dynamics 365 Business Central: per-tenant extensions changes
Dec03

Dynamics 365 Business Central: per-tenant extensions changes

Do you remember this slide? This was (and is) one of my most shared slides ever (from me, from third-party partners and also from Microsoft’s PTS team). This explained common problems on using per-tenant extensions on a SaaS environment: Now things are changed and this slide must be updated (it’s overdue) Starting from Dynamics 365 Business Central version 17, per-tenant extensions… Continue Reading demiliani’s...

Read More
Moving Azure Functions from Consumption to Premium plans
Dec02

Moving Azure Functions from Consumption to Premium plans

In a demo at the Microsoft’s Reactor event in October I talked about the performance advantages on moving Azure Functions from Consumption to Premium plans when needed on certain scenarios. When you create a function app in Azure, you must choose a hosting plan for your app. There are three basic hosting plans available for Azure Functions:  Consumption planPremium planDedicated (App… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: be careful when using the OnCompanyOpen trigger
Nov25

Dynamics 365 Business Central: be careful when using the OnCompanyOpen trigger

Today I was helping a partner on discovering performance issues on its Dynamics 365 Business Central online tenant. When analyzing the telemetry data with Application Insights, we discovered a lot of Long Running Query signals (event id RT0005) linked to the OnCompanyOpen trigger. So strange… until analyzing its installed per-tenant extensions, we discovered an extension with a code like… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: creating retention policies from AL
Nov18

Dynamics 365 Business Central: creating retention policies from AL

Starting from Dynamics 365 Business Central 2020 Wave 2 (v17) administrators can define retention policies for tables to specify how frequently they want Business Central to delete outdated data in tables that contain log entries and archived records (they are essentially a way to define when data on certain tables expires in your database). Why you should use retention policies with… Continue Reading demiliani’s Article...

Read More
Dynamics 365 Business Central: small clarification on who can install apps
Nov12

Dynamics 365 Business Central: small clarification on who can install apps

Talking in these days with some partners, I discovered that it’s not so clear how to handle the possibility to install apps on a Dynamics 365 Business Central SaaS tenant. Who can do that? The answer is: it depends As a general rule: To install extensions from AppSource or add per-tenant extensions to a tenant, you must have the right permissions and more specifically you must either be… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: using snapshot debugging
Nov03

Dynamics 365 Business Central: using snapshot debugging

One of the top requested features for Dynamics 365 Business Central from a long time is absolutely one: debugging the production environment! And now you can Dynamics 365 Business Central version 17 introduces a feature called Snapshot Debugging. Snapshot Debugging allows a delegated admin to record AL code that runs on the server side and then debug the recorded snapshot in Visual… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: handling commits behaviors on events
Oct26

Dynamics 365 Business Central: handling commits behaviors on events

When working with extensions in Dynamics 365 Business Central, you’ve always to keep in mind that you’re now in a complex ecosystem where you’re not alone and someone can breakes things. One of the sneaky problem you can have with different extensions on a SaaS tenant is related to handling commits of transactions. Let’s imagine to have an extension called MAIN_APP that has a business… Continue Reading...

Read More
Dynamics 365 Business Central: ISV telemetry for custom table’s usage
Oct21

Dynamics 365 Business Central: ISV telemetry for custom table’s usage

When developing extensions for AppSource, every partner has its own licensing model. There are extensions that are free, others that are billed by users, others that have a fixed price for each month or year of usage and so on. Everyone can have its own way of billing their customers for using an extension. But there are also some extensions that are billed for the number of generated records… Continue Reading demiliani’s...

Read More
How much my Application Insights service costs?
Oct16

How much my Application Insights service costs?

This is a question that I’ve received many times and also this morning I had a discussion with a partner about that (and that’s the reason for this quick post). Using Azure Application Insights for monitoring your Dynamics 365 Business Central SaaS tenant is a must in my opinion, but Application Insights is not a totally free service. Application Insights cost is normally very low and you… Continue Reading...

Read More
Dynamics 365 Business Central: new features for performant code
Oct12

Dynamics 365 Business Central: new features for performant code

In the training I’ve done to some partners last week, when talking about performances I shared an example of an extension with 3 features that I think are not so well known but that have a significant impact on how your code performs, expecially on a SaaS environment. That extension used the following features: Partial record loadingTemporary TablesQueryCategory The Partial record… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: using Azure Key Vault for your secrets
Oct06

Dynamics 365 Business Central: using Azure Key Vault for your secrets

Azure Key Vault is a cloud service for securely storing and accessing secrets. A secret is anything that you want to tightly control access to, such as license keys, credentials, API keys, certificates and so on. Starting form Dynamics 365 Business Central 2020 Wave 2 (version 17) you can start using Azure Key Vault service for storing your secrets and then retrieving them from AL code in a… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: I think it’s the time to clean your app.json file
Sep29

Dynamics 365 Business Central: I think it’s the time to clean your app.json file

Do you remember this post I wrote lots of time ago? This post described the new Microsoft’s Application app introduced with Dynamics 365 Business Central version 15.3. This app encapsulates all the dependencies from the System Application and Base Application apps and provides an abstraction to protect AppSource and PTE extensions running on top of that from not being able to resolve… Continue Reading demiliani’s...

Read More
“Azure DevOps Explained” book announcement
Sep25

“Azure DevOps Explained” book announcement

I’m very happy and proud to announce the hard work I’ve done during the quarantine together with two great MVPs like Sjoukje Zaal and Amit Malik… thanks guys for joining the project The book will be delivered starting from late October, but you can pre-order it now on Amazon or on the Packt website with an interesting discount. Book Description Developing applications for the… Continue Reading demiliani’s...

Read More
Tips for handling a Dynamics 365 Business Central SaaS tenant at best
Sep24

Tips for handling a Dynamics 365 Business Central SaaS tenant at best

Handling a Dynamics 365 Business Central SaaS tenant in a cloud environment is not exactly like handling it on an on-premise installation. A SaaS tenant is fully managed by Microsoft under the hood, so you don’t care about infrastructure and all the cloud stuff that need to be provisioned for having an environment ready, secure, and always updated. But for having a customer happy in the… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: Extension Management page and the “Delete Extension Data” option
Sep15

Dynamics 365 Business Central: Extension Management page and the “Delete Extension Data” option

This is a very quick post just to help on clearing doubts related on a new flag that Microsoft has introduced on the Extension Management page in Dynamics 365 Business Central starting from the 16.5 update (but announced for general availability for version 17). If you try to uninstall an extension form that page, now you have the new Delete Extension Data option: This option is… Continue Reading demiliani’s Article on...

Read More
Creating lightweight Teams bots with outgoing webhooks and Azure Functions
Sep09

Creating lightweight Teams bots with outgoing webhooks and Azure Functions

Microsoft Teams is becoming always more a central point for the everyday’s work on many of us now and often having Bots on a Teams channel that can solve our queries could be helpful. Teams bots are “automations” that allows you to interact with conversations and they can perform tasks or call external services for you. As a preface to this post (for all the Dynamics 365 Business Central… Continue Reading...

Read More
Dynamics 365 Business Central: adding partner’s telemetry on your apps
Sep01

Dynamics 365 Business Central: adding partner’s telemetry on your apps

I’ve written a lot in the past about using Azure Application Insights for monitoring a Dynamics 365 Business Central tenant (you can read here and here) and the team is actively working on improving the telemetry features by adding always more and more signals. For a complete overview of handling the Dynamics 365 Business Central telemetry with Azure Application Insights, I suggest also to… Continue Reading...

Read More
Dynamics 365 Business Central Sandbox Docker containers and multitenancy
Aug28

Dynamics 365 Business Central Sandbox Docker containers and multitenancy

I saw on different forums people having troubles on connecting to their brand new Docker containers created with the new BcContainerHelper module by using the sandbox artifacts (image of the online sandbox). The new module for creating Docker containers for Dynamics 365 Business Central (that will replace NavContainerHelper) is well explained on the Freddy’s blog, so for more details please… Continue Reading...

Read More
Handling the “HTTP 429 – Too Many Requests” error when calling external services
Aug24

Handling the “HTTP 429 – Too Many Requests” error when calling external services

I think that many of you that creates integrations with external services could have the pleasure to know the HTTP 429 error: too many requests. The HTTP 429 – Too Many Requests response status code indicates the user has sent too many requests in a given amount of time (rate limit) to a given endpoint (API or web service). When you receive this error, normally a Retry-After header might… Continue...

Read More
Dynamics 365 ERP landscape report
Aug06

Dynamics 365 ERP landscape report

Earlier this year, I was pleased to be asked to contribute my thoughts on the current ERP landscape for the twelfth annual edition of Nigel Frank’s Microsoft Dynamics Salary Survey. The most comprehensive study of its kind in the global Dynamics ecosystem, the report shines a light the skills, motivations, and sentiments of Dynamics professionals in the global partner, ISV, and customer… Continue Reading demiliani’s...

Read More
Creating a local drive mapped with an Azure File Share for your files in the cloud
Jul29

Creating a local drive mapped with an Azure File Share for your files in the cloud

File Management in the cloud is always an hot topic when using SaaS services like Dynamics 365 Business Central. A common request that I always see popping up on forums or from partners and customers is if it’s possible to automatically save a file on a local drive from Dynamics 365 Business Central (or more in general, from SaaS applications). As you can imagine, from a SaaS tenant you… Continue Reading demiliani’s...

Read More
AL language and the “missing documentation” warning
Jul22

AL language and the “missing documentation” warning

Yesterday evening I’ve received a message from a user asking me if something has changed in the AL language extension. When he loaded an AL project in Visual Studio Code, he started receiving tons of information messages like “The procedure XXX missing documentation“: Is really something changed in the AL language extension? Maybe something related to the announced plans for XML code… Continue Reading...

Read More
Dynamics 365 Business Central: loading demo data for your extensions
Jul20

Dynamics 365 Business Central: loading demo data for your extensions

I’ve received in the last days a request from a forum user asking for a way to automatically loading demo data in an extension, maybe embedding a data file inside the extension package and load it when needed, for example during the install phase. Unfortunately you cannot embed data files inside your binary .app file and read them from the binary .app file folder structure. I’ve promised a… Continue Reading...

Read More
Dynamics 365 Business Central: exploring page views with Azure Application Insights
Jul15

Dynamics 365 Business Central: exploring page views with Azure Application Insights

I think that you already know that I’m a huge fan of using Azure Application Insights for collecting telemetry for different types of applications hosted in the cloud or hosted on-premise too. At my session at Ignite Tour 2020 in Milan I showed how you can fully monitor and debug an application hosted on Azure with Application Insights and Azure Monitor. Also Dynamics 365 Business Central… Continue Reading...

Read More