Dynamics 365 Business Central: obsoleting events
Feb13

Dynamics 365 Business Central: obsoleting events

I’ve written a lot in the past about handling breaking schema changes on extensions and the best practice to use the ObsoleteState object property to signal to your developers or third-party ISV users of your extensions that you’re planning to remove something in your codebase. You can find articles here and here. Today I want to write a quick post for talking about events and about a worst… Continue Reading...

Read More
Learning DevOps for Dynamics 365 Business Central developers
Feb11

Learning DevOps for Dynamics 365 Business Central developers

In the next months Microsoft Western Europe has planned a series of one-day training events for helping Dynamics 365 Business Central partners on improving their development process by applying DevOps techniques. Official announcement is here: Dear Microsoft partner, Learn how to manage and ensure development lifecycle in the new world of continuous development using the latest tools… Continue Reading demiliani’s Article...

Read More
Dynamics 365 Business Central and data compression
Feb04

Dynamics 365 Business Central and data compression

Yesterday Kennie Nybo Pontoppidan (from the Dynamics 365 Business Central Team) asked us an interesting question: do you use data compression on your Dynamics 365 Business Central on-premise database? If yes, what type of compression? From the answers I can see that there are partners that uses data compression widely, partners that uses data compression only on certain tables and partners… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central Wave 1 2020: what I love and what I want
Feb03

Dynamics 365 Business Central Wave 1 2020: what I love and what I want

As you already know, Microsoft last week published the 2020 release wave 1 plans for Dynamics 365 and Microsoft Power Platform document. This is the document that announces the roadmap for the next major releases of these products. Regarding Microsoft Dynamics 365 Business Central, there are lots of interesting new features announced (or planned) and the things that I think will be… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: handling BLOB fields on APIs
Jan24

Dynamics 365 Business Central: handling BLOB fields on APIs

I’m not a big fan of using BLOB fields on the Dynamics 365 Business Central database, but there are many scenarios where you need to handle BLOBs inside the database directly. As an example, imagine to have an application that handles different types of labels related to items and these labels are stored inside the Dynamics 365 Business Central database in a table called Labels. This table… Continue Reading...

Read More
Executing your .exe tasks on a Cloud environment by using Azure Functions
Jan17

Executing your .exe tasks on a Cloud environment by using Azure Functions

I think that many of you on your Dynamics NAV or Dynamics 365 Business Central projects have tasks executed by using console applications (.exe) scheduled by using Windows Task Scheduler or other systems. This works good for on-premise environments (just take your .exe application, create a new schedule with Windows Task Scheduler and you’re ready to go), but what about using these .exe… Continue Reading demiliani’s...

Read More
Microsoft Ignite The Tour – Milan
Jan16

Microsoft Ignite The Tour – Milan

Microsoft Ignite The Tour brings the very best of Microsoft Ignite to a city near you. The tour provides technical training led by Microsoft experts and your community. You’ll learn new ways to build solutions, migrate and manage infrastructure, and connect with local industry leaders and peers. This big Microsoft conference is coming to Milan on January 27–28, 2020 at Milano… Continue Reading demiliani’s Article on...

Read More
DynamicsPower! 2020 Milan
Jan10

DynamicsPower! 2020 Milan

DynamicsPower! 365 Saturday Milan is returning in 2020 at Microsoft House with the biggest Dynamics 365 italian community event covering Hands on Workshops and Deepdives into Dynamics 365 Customer Engagement, Unified Operations, Dynamics 365 Business Central, Power Platform, Finance & Operation and more! This year (thanks to Microsoft Italy) we have a dedicated ERP track with technical… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central and the "mistery" of Library Apps
Jan07

Dynamics 365 Business Central and the "mistery" of Library Apps

More than an year ago I wrote this article for Simplanova website mentioning some “architectural choices” when moving a C/AL solution to the extension model. One of the ideas mentioned here was to create an “hidden layer” that can contain common business logic and objects and then create N separated extensions on top of this layer. This permits you to “share” common logic between extensions…...

Read More
Dynamics 365 Business Central: again about obsoleting fields
Dec31

Dynamics 365 Business Central: again about obsoleting fields

More than an year ago I’ve written this post explaining how to handle breaking schema changes on a production Dynamics 365 Business Central SaaS tenant. I think that every Dynamics 365 Business Central developer now knows that in a production environment you cannot remove objects or fields (breaking schema in the database) but all schema changes must always be additive. Despite this, I see… Continue Reading...

Read More
"Mastering Dynamics 365 Business Central" is out!
Dec23

"Mastering Dynamics 365 Business Central" is out!

Just in time for Christmas, I’m very happy and proud to announce that the book “Mastering Dynamics 365 Business Central” is finally out and available on Packt website and on Amazon in all the two formats (eBook and printed copy). This was a very huge work (my biggest writing work ever), we’ve spent a lot of time on writing this book for the Dynamics 365 Business Central community and I… Continue Reading...

Read More
Planned activities for Dynamics 365 Business Central Partners in 2020: quick preview
Dec20

Planned activities for Dynamics 365 Business Central Partners in 2020: quick preview

I’ve received (and I’m receiving too) a lot of emails and messages on social networks from many of you asking for news about the future activites that Microsoft Italy has planned for Microsoft Dynamics 365 Business Central partners during 2020, so I hope that a quick public post can help you on planning your future I cannot go too much in details for now (Microsoft Italy has a great staff… Continue Reading...

Read More
LinkedObjects on Dynamics 365 Business Central: be careful now!
Dec17

LinkedObjects on Dynamics 365 Business Central: be careful now!

One of the common (and basic) way to create integrations between systems in Microsoft Dynamics NAV in the past was to directly work at the SQL Server level and create tables linked to SQL objects by using the table’s LinkedObject property. With Microsoft Dynamics NAV, you can create a SQL Server view, then create a table with the same name as the view and set the LinkedObject property to true…. Continue Reading...

Read More
Webhooks with Dynamics 365 Business Central
Dec10

Webhooks with Dynamics 365 Business Central

When integrating external applications with Dynamics 365 Business Central, one of the classical way is to use APIs (standard or custom APIs) and then call the relative endpoints from the external application. As said in the past, exposing entities by using standard or custom API pages is the recommended way for doing integrations with Dynamics 365 Business Central. By using APIs, the schema of… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central Sandbox and performance testing
Dec06

Dynamics 365 Business Central Sandbox and performance testing

During the last technical workshops done for Microsoft in Finland and Norway, I’ve discovered that many partners are doing (together with the customer) a lot of load testing and performance testing for their solutions and for the standard application in the online sandbox environment. Testing applications in the sandbox environment before moving them to the production environment is a good… Continue Reading...

Read More
New book “Migrating applications to the cloud with Azure” finally released
Nov26

New book “Migrating applications to the cloud with Azure” finally released

While waiting to officially announce to the Dynamics 365 Business Central community our latest and biggest work ever, I’m happy today to announce another work where I was involved in the last 7 months: Migrating applications to the Cloud book is out. This is an interesting project started months ago for Microsoft with other Azure MVPs. If you’re developing solutions for the cloud, I recommend… Continue Reading...

Read More
Exposing Dynamics 365 Business Central data to the outside world: my two cents
Nov22

Exposing Dynamics 365 Business Central data to the outside world: my two cents

I had a discussion in the last days on socials with some of my followers (yes, I have them :D) about what’s the best way to expose Dynamics 365 Business Central data to external systems for integrations and for data analysis. Exposing data is an hot topic on every ERP implementation. With Dynamics 365 Business Central on-premise you have the possibility to access the ERP data by directly… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: handling telemetry with Azure Application Insights
Nov18

Dynamics 365 Business Central: handling telemetry with Azure Application Insights

Handling telemetry is on of the most important activities that should always be done on a Dynamics 365 Business Central SaaS tenant. The classical way to inspect the telemetry of a tenant is going to the Admin portal of your tenant, access the Telemetry tab and here inspect the data (by applying filters and so on). Starting from Dynamics 365 Business Central version 15, you can setup your… Continue Reading demiliani’s...

Read More
CI/CD for .NET with GithHub Actions
Nov14

CI/CD for .NET with GithHub Actions

We manage all our internal projects with Azure DevOps (projects not only related to Dynamics 365 Business Central). All our code is hosted on Azure DevOps but personally I’m using also GitHub for “external” projects or for sharing codes with the community (yes, Azure DevOps has public repository too but I prefer a separation on many cases). Unfortunately, build pipelines was a big lack for the… Continue Reading...

Read More
SD Extension Pack for Dynamics 365 Business Central Developers
Nov12

SD Extension Pack for Dynamics 365 Business Central Developers

On all the Dynamics 365 Business Central training activities I’ve done in the last year for Microsoft Italy, I’ve always received the following question: why your Visual Studio Code has all these features? Are there a list of extensions that you recommend for working with Dynamics 365 Business Central? I’ve always shared a list of my recommended extensions in the training’s GitHub repository,… Continue...

Read More
Dynamics 365 Business Central: exporting a database backup from a SaaS tenant
Nov06

Dynamics 365 Business Central: exporting a database backup from a SaaS tenant

Microsoft has recently activated the feature for downloading a backup of a Dynamics 365 Business Central SaaS tenant. A database can be exported from a selected environment as a .bacpac file, can be automatically saved into an Azure Storage account and from there you can download it offline and restore it into your on-premise network (multi-tenant database). How this feature works? As a first… Continue Reading demiliani’s...

Read More
Visual Studio Online preview: coding in the browser seems promising.
Nov04

Visual Studio Online preview: coding in the browser seems promising.

Today at Ignite 2019 Microsoft has launched the public preview for Visual Studio Online, a managed cloud-based development environment based on Visual Studio Code that works in the browser. The tool is actually not finished (it’s a preview version) but I think it’s extremely promising and it opens the doors to many interesting scenarios for developers (imagine to be able to edit and review… Continue Reading...

Read More
“Azure Functions for Dynamics 365 Business Central Developers” webcast recording
Oct31

“Azure Functions for Dynamics 365 Business Central Developers” webcast recording

The recording of my last webcast for Areopa Academy is available on their YouTube channel. Again, sorry for the initial GotoMeeting problem and sorry for my error during the first demo (function deployed on the wrong subscription) In-depth explanations for some topics will follow soon.   Continue Reading demiliani’s Article on their blog “Azure Functions for Dynamics 365 Business Central Developers” webcast...

Read More
Dynamics 365 Business Central: Using Azure Traffic Manager to geo-distribute your Azure Functions
Oct30

Dynamics 365 Business Central: Using Azure Traffic Manager to geo-distribute your Azure Functions

Some months ago I’ve written this post describing an interesting solution we’ve deployed for a geo-distributed solution that involves Dynamics 365 Business Central SaaS, Azure Functions and Azure CosmosDB as a final backend. I’ve received lots of questions related to this architecture and in this post I want to explain the right part of the above diagram. The problem to solve here is: if I… Continue Reading...

Read More
Dynamics 365 Business Central: debugging the Base Application
Oct25

Dynamics 365 Business Central: debugging the Base Application

Yesterday at our “Dynamics 365 Business Central Wave 2 What’s new” event in Microsoft Italy we quickly saw hot to debug the Microsoft’s Base Application from Visual Studio Code. I’ve not spent too much time on this topic due to lack of time, but here is a summary of what I’ve done yesterday (answer to a question received after the event). As a first step, you need the Microsoft Base… Continue...

Read More
Dynamics 365 Business Central: TRANSFERFIELDS and Obsolete fields
Oct17

Dynamics 365 Business Central: TRANSFERFIELDS and Obsolete fields

Do you know the wonderful C/AL (ops, now AL) command called TRANSFERFIELDS? This command permits you to copy all matching fields in one record to another record: Record.TRANSFERFIELDS(FromRecord [, InitPrimaryKeyFields]) TRANSFERFIELDS copies fields based on the Field No. Property of the fields. For each field in Record (the destination), the contents of the field that has the same Field… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central on-premise Wave 2: how to create databases and perform technical upgrades
Oct09

Dynamics 365 Business Central on-premise Wave 2: how to create databases and perform technical upgrades

I’ve explained few days ago how to change a license from customer’s one to partner’s one when working with Dynamics 365 Business Central Wave 2 on-premise. This more tricky process occours mainly because now you don’t have the Development Environment available anymore. Another problem that you could have strictly related to this is the following: how can I create a new Dynamics 365 Business… Continue...

Read More
Landing to Directions EMEA 2019…
Oct08

Landing to Directions EMEA 2019…

This is the meeting’s week for all the european Microsoft Dynamics 365 Business Central partners (and not only them I think) and Vienna for the second time hosts a great 3 days of conference. This is the event to attend to know more about the Microsoft’s strategy for Dynamics 365 Business Central (present and future) and for making interactions with all the great partner’s community. My… Continue Reading...

Read More
Dynamics 365 Business Central on-premise Wave 2: changing license
Oct04

Dynamics 365 Business Central on-premise Wave 2: changing license

I was sure this was an obvious topic until today, but after receiving so many desperate questions from partners that are unable to change the license for an on-premise Dynamics 365 Business Central Wave 2 database for development purposes, I’ve decided to spent few minutes for sharing this. When you install Dynamics 365 Business Central on-premise Wave 2 (or version 15) release, you’ll see… Continue Reading...

Read More
Dynamics 365 Business Central: checking Users Plans in Wave 2 release
Oct01

Dynamics 365 Business Central: checking Users Plans in Wave 2 release

Checking which plan is assigned to a specific user (Essential, Premium, Team Member) is become a quite different thing with the Wave 2 release (version 15). Users plans are now managed in the System Application via the Azure AD Plan module. The Plan and User Plan tables are now marked as internal, so you must use the methods provided in this module to query them. How can you check if a user is… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central APIs, Powershell, CSV and a bit of fancy notifications
Sep26

Dynamics 365 Business Central APIs, Powershell, CSV and a bit of fancy notifications

In one of my last development workshops for Microsoft Italy, when talking about Dynamics 365 Business Central APIs, I’ve done a small demo on how to retrieve data from APIs directly from a Powershell script and save those data in a CSV file. Due to a lack of time, I’ve not talked too much about that script but (attendees will remember that) it ended in the following way: This is a classical… Continue Reading...

Read More
Dynamics 365 Business Central Wave 2: customizing the Base Application
Sep24

Dynamics 365 Business Central Wave 2: customizing the Base Application

In a previous post I described how you can start building extensions for the upcoming Dynamics 365 Business Central Wave 2 release on top of the Microsoft’s System Application. Today I want to show you how you can directly customize the Microsoft’s Base Application (alias, the standard Microsoft codebase). This is a top request I receive every day on all the partners I met, but before… Continue Reading...

Read More
Creating an Azure SQL Database backup via Powershell
Sep20

Creating an Azure SQL Database backup via Powershell

I have several Azure SQL databases (mainly Microsoft Dynamics NAV databases) on different Azure subscriptions and often I need to download a backup for some of them. Yesterday I’ve decided to automate this process by using Powershell and the Azure REST APIs (in particular the Database – Export API). I want to have a Powershell scripts that connect to an Azure SQL Database, creates a backup… Continue Reading...

Read More
Dynamics 365 BC Wave 2 Release: What happens now?
Sep17

Dynamics 365 BC Wave 2 Release: What happens now?

Microsoft Dynamics 365 Business Central Wave 2 release date is just around the corner and there are many aspects of which you should be aware. I’ve written an article for my Simplanova‘s friends that summarizes some important technical aspects to take care. You can read it at the following link: Dynamics 365 BC Wave 2 Release: What Happens Now? – Simplanova Microsoft Dynamics 365 Business Central is the latest...

Read More
Dynamics 365 Business Central Wave 2: on-premise and direct SQL integrations
Sep16

Dynamics 365 Business Central Wave 2: on-premise and direct SQL integrations

Do you remember this post? I wrote it long time ago to explain what happens on SQL Server when you create a new table or you customize an existing table with an AL extension: the new table is created by appending the extension’s ID to the table’s name and also the customization to a standard table creates a new table with the primary key of the original table plus the newly added fields and… Continue Reading...

Read More
Dynamics 365 Business Central Wave 2: building apps on top of System Application
Sep09

Dynamics 365 Business Central Wave 2: building apps on top of System Application

As you already knows from this official Microsoft post, with Dynamics 365 Business Central Wave 2 release Microsoft has splitted the application into two main modules: Base Application (that contains all the ERP business logic) and System Application (that contains all the system layer). Separation between business and system layers is a first step for a future goal to have an application… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central on-premise: checking extension’s status via Powershell
Sep04

Dynamics 365 Business Central on-premise: checking extension’s status via Powershell

An interesting question pops out yesterday: with Dynamics 365 Business Central on-premise, how can I programmatically check if a particular extension is installed or not? The standard Powershell command (in the Microsoft.Dynamics.Nav.Apps.Management module) that gets informations about an extension in a specified Business Central Server instance is the Get-NAVAppInfo cmdlet (more info about… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: access modifiers
Aug26

Dynamics 365 Business Central: access modifiers

If someone of you know C# or other object oriented languages in general, you know also that those languages have access modifiers. Access modifiers are keywords used to specify the declared accessibility of a member or a type. With Dynamics 365 Business Central Wave 2 release, this feature will appear also on the AL language. A table object can have an Access level with the following… Continue Reading demiliani’s Article...

Read More
“Mastering Dynamics 365 Business Central” book: please wait a bit more…
Aug23

“Mastering Dynamics 365 Business Central” book: please wait a bit more…

We have received in this last month lots of requests about our upcoming “Mastering Dynamics 365 Business Central” book, published by Packt: The book was planned to be released on the second half of August, but unfortunately due to a change in the management team inside Packt company (unpredictable), our book release date is delayed. I’ve explained this to all the people that contacted me… Continue Reading...

Read More
Dynamics 365 Business Central: multiple production environments and web service endpoints
Aug22

Dynamics 365 Business Central: multiple production environments and web service endpoints

One of the most interesting features announced for the Wave 2 release of Dynamics 365 Business Central is the possibility to create multiple production environments for each tenant (this will include the option for environments to be on different country-specific or region-specific versions of Dynamics 365 Business Central). In order to support this upcoming feature, endpoints of all web… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: data encryption changements for Isolated Storage
Aug20

Dynamics 365 Business Central: data encryption changements for Isolated Storage

I suggested many times in the past to every partners I met and to all the attendees to my AL courses for Microsoft Italy that the way to store sensitive data in Dynamics 365 Business Central must be the Isolated Storage usage and not custom tricks on custom tables (see here) or using the old Service Password table (deprecated in Wave 2 release). In this days, during an extension’s code… Continue Reading demiliani’s...

Read More
Azure SQL Elastic Pools: a way for saving costs with your Microsoft Dynamics ERP databases in the cloud
Aug14

Azure SQL Elastic Pools: a way for saving costs with your Microsoft Dynamics ERP databases in the cloud

I’ve written a lot in the past about how you can move your existing on-premise Microsoft Dynamics NAV / Dynamics 365 Business Central databases to the cloud, how you can use SQL Server on an Azure VM or how you can start using Azure SQL (links here and here). I’ve also talked about how you can have a very performant database in the cloud by using the Hyperscale tier of Azure SQL (link

Read More
Preview of Dynamics 365 Business Central 2019 release wave 2: few notes
Aug02

Preview of Dynamics 365 Business Central 2019 release wave 2: few notes

As you already knows, in October Microsoft will launch what is called “Dynamics 365 Business Central Release Wave 2” (platform 15) and some days ago the first public preview was available. The main “revolution” of this new release is that all is AL only. You will never find CSIDE and C/AL support from now and also no more Windows Client. Freddy Kristiansen as always has explained all in a… Continue...

Read More
Dynamics 365 Business Central: how to detect if an extension is running on SaaS or on-premise
Jul26

Dynamics 365 Business Central: how to detect if an extension is running on SaaS or on-premise

When developing extensions for Dynamics 365 Business Central, you could have scenarios where you want to execute a procedure or a business process only if the extension is running on a SaaS environment or in an on-premise environment (or maybe having a different behaviour accordingly to the environment). To check if your extension is running on a SaaS environment, you have now a method called… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central on-premise performances to the max with Azure SQL Database Hyperscale
Jul17

Dynamics 365 Business Central on-premise performances to the max with Azure SQL Database Hyperscale

When you’re start implementing Dynamics 365 Business Central on-premise (because you’re not ready for the SaaS now), one of the good decision you can take today is to move your database to the cloud. I’ve written in the past different posts on when and why using Azure SQL Database or SQL Server installed on an Azure VM with Dynamics 365 Business Central (same is for NAV if you want). You can… Continue Reading...

Read More
Dynamics 365 Business Central + Azure Cosmos DB for globally distributed integrations
Jul04

Dynamics 365 Business Central + Azure Cosmos DB for globally distributed integrations

Today’s post wants to give an overview of a successfully deployed scenario of a geo-distributed integration between Dynamics 365 Business Central and some local B2B applications and it wants to leave a message to all: enlarge your vision to other Azure services if you want to create globally distributed architectures that rocks! The scenario: The headquarter of a large commercial company is… Continue Reading...

Read More
Dynamics 365 Business Central and API calls limits – Stefano Demiliani
Jun21

Dynamics 365 Business Central and API calls limits – Stefano Demiliani

Is there a limit on the number of requests that an external application can perform with the Dynamics 365 Business Central APIs? I think that this is actually an undocumented response (please correct me if I’m wrong) but the answer is absolutely yes. As every well architectured solution, Dynamics 365 Business Central service limits the number of simultaneous calls in a certain… Continue Reading demiliani’s Article on their...

Read More
using OData V4 Bound Actions – Stefano Demiliani
Jun12

using OData V4 Bound Actions – Stefano Demiliani

I’ve promised this post to some attendees of my last Dynamics 365 Business Central development workshop in Microsoft Italy (c/o Microsoft House) last week. Question was: How can I call Dynamics 365 Business Central logic from an external application? Simple answer given by all: you can publish a codeunit as web service and use the SOAP endpoint. But if I want to use OData? You cannot… Continue Reading demiliani’s Article...

Read More
using DotNet assemblies on a Docker container sandbox – Stefano Demiliani
Jun04

using DotNet assemblies on a Docker container sandbox – Stefano Demiliani

I think that everyone of you already knows that calling custom .NET DLLs in your extension’s code is not supported in a SaaS environment, but you can still use .NET assemblies in your extensions if you explicitly target the on-premise world. You can do that by adding “target”: “Internal” in your extension’s manifest file (app.json). This is not what I normally suggest to do on… Continue Reading demiliani’s Article on their...

Read More
My 10 tips/best practices for starting with Dynamics 365 Business Central extensions – Stefano Demiliani
May23

My 10 tips/best practices for starting with Dynamics 365 Business Central extensions – Stefano Demiliani

About one month ago during the Dynamics 365 Business Central April ’19 release launch event in Microsoft Italy, I’ve presented a technical session to partners about how to start moving their existing solutions to AL and extensions. We saw practical tips and problems that you could find during this step and in the following weeks many partners asked me lots of questions about… Continue Reading demiliani’s Article on their...

Read More