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
Dynamics 365 Business Central 2020 Wave 2 release plan: my favourite features
Jul08

Dynamics 365 Business Central 2020 Wave 2 release plan: my favourite features

Microsoft has shared today to the general public the Dynamics 365 Wave 2 Release plan. These are my favourite Dynamics 365 Business Central new features that will be released in the Wave 2 2020 period (October 2020 to May 2021): Improved overview and management of the available database and file capacity: tenant administrators will be able to have an overview of the database and file… Continue Reading demiliani’s Article...

Read More
Using Azure Logic Apps for creating a Dynamics 365 Business Central container on Azure Container Instances
Jul07

Using Azure Logic Apps for creating a Dynamics 365 Business Central container on Azure Container Instances

A week ago I’ve written a post explaining how to create a Dynamics 365 Business Central Docker container on Azure Container Instances (ACI) by using the new artifact way. ACI permits you to have “container as a service” and so you can rapidly create and launch containerized applications in a serverless scenario. And when going totally serverless, a task that you could have the need to… Continue Reading...

Read More
Creating a Dynamics 365 Business Central Docker container with artifacts on Azure Container Instances
Jul03

Creating a Dynamics 365 Business Central Docker container with artifacts on Azure Container Instances

Azure Container Instances (ACI) is a great service offered by Azure that permits you to run serverless Docker containers in Azure with simplicity and speed, without having to provision or manage any underlying infrastructure. I think that this service can be extremely useful when working with Dynamics 365 Business Central too, because you can spin up a container in few minutes with all the… Continue Reading demiliani’s...

Read More
Visual Studio Code and poor performances with AL language
Jun29

Visual Studio Code and poor performances with AL language

I saw different posts on forums in these days about issues related to poor Visual Studio Code performances when using AL language and opening big projects. Microsoft’s recommendation for Visual Studio Code and AL are listed here and they recommend at least 16 GB of RAM, while 32 GB is the recommended way for large projects. I think that not everyone of you have 32 GB on a local machine… Continue Reading demiliani’s...

Read More
Securing your HTTP triggered flow in Power Automate
Jun25

Securing your HTTP triggered flow in Power Automate

This is a quick post for giving a response to a question that comes out in our latest Microsoft’s webcast about creating cloud-based workflows for Dynamics 365 Business Central. In this training I’ve talked a lot about the “When an HTTP request is received” action in Power Automate (and on Azure Logic Apps too) and how it’s extremely important on many scenarios, first of all for starting a… Continue...

Read More
Microsoft Dynamics 365 Business Central 4-steps webcasts ended today
Jun24

Microsoft Dynamics 365 Business Central 4-steps webcasts ended today

Today was the last stage for this serie of 4 Microsoft’s webcasts related to Dynamics 365 Business Central integrations and DevOps. Thanks to all for joining these events! This was the last part of 6 free Microsoft’s training activities for Dynamics 365 Business Central Partners that I had the pleasure to handle with other 4 Microsoft’s guys. You can find the recorded sessions in… Continue Reading...

Read More
Auto-scaling your Azure SQL database with Logic Apps
Jun16

Auto-scaling your Azure SQL database with Logic Apps

I think that you know that I’m a huge fan of using Azure SQL database for your workloads in the cloud. With Azure SQL you can choose how many CPU you want to use (DTU), how much storage you need, and then you can dynamically change these parameters any time when needed. Obviously, in the cloud world an infinite power is also directly related to costs. As an example, imagine to have a… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: checking user permissions on specific objects
Jun09

Dynamics 365 Business Central: checking user permissions on specific objects

With the refactoring done in Dynamics 365 Business Central for better supporting the SaaS environment, is not quite easy to check if a user has a specific permission on a specific object. Permission Range table is now a system table that cannot be used on a SaaS environment, License Permission table does not give you specific user permissions and using the ReadPermission and WritePermission… Continue Reading demiliani’s...

Read More
Nigel Frank’s new white paper sets blueprint for overcoming business challenges with Microsoft Dynamics technology
Jun05

Nigel Frank’s new white paper sets blueprint for overcoming business challenges with Microsoft Dynamics technology

We find ourselves in a position where Microsoft cloud technology is in higher demand than ever before, but with uncertainty around the future, many businesses feel directionless and unable to commit to a long-term strategy. I was recently invited by Nigel Frank, the Microsoft recruitment specialist, to contribute some thoughts and actionable tips to its new Microsoft Dynamics business… Continue Reading demiliani’s Article...

Read More
Dynamics 365 Business Central, AL compiler and .NET Core
Jun04

Dynamics 365 Business Central, AL compiler and .NET Core

At the Microsoft Dynamics 365 Business Central Virtual Event yesterday a not so much emphasized slide appears: Yes, the new AL compiler is now based on .NET Core as default. There are 2 runtimes that the language server uses: .NET Framework.NET Core 3.0 .NET Core 3.0 is now the default runtime for hosting the language service (much more quicker and efficient, 3X performance gain)… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: obsoleting the WITH statement
Jun03

Dynamics 365 Business Central: obsoleting the WITH statement

As you ever used the WITH clause in C/AL or AL language? There are lovers of this clause and there are developers that hate using this clause (I’m in this second category), but despite every personal opinion the WITH clause is widely used in code and also in the Microsof’s Base Application. As announced at the Dynamics 365 Business Central Virtual Event, Microsoft is continuously evolving… Continue Reading...

Read More
Automating the creation of work items in Azure DevOps (from Powershell and from Dynamics 365 Business Central)
Jun01

Automating the creation of work items in Azure DevOps (from Powershell and from Dynamics 365 Business Central)

If you’re using Azure DevOps in yor organization for the entire product lifecycle, you know for sure that you can handle also all your project management activities by using work items, boards, backlogs, sprints and so on. I’ve talked about that in the past here. What personally we use a lot internally is the Work Items feature. By using work items you can track anything, from a task to… Continue Reading...

Read More
Sending Azure Alerts to Dynamics 365 Business Central
May25

Sending Azure Alerts to Dynamics 365 Business Central

When working with Dynamics 365 Business Central (but also on Azure applications in general) it’s a best and recommended practice to send telemetry data to the Azure Application Insights service for centralize monitoring. I’ve talked about that in the past here. Have you ever received the request to monitor some Azure Resources directly from inside Dynamics 365 Business Central and be able… Continue Reading...

Read More