“Mastering Dynamics 365 Business Central” 2nd Edition: THANK YOU!
Jul22

“Mastering Dynamics 365 Business Central” 2nd Edition: THANK YOU!

It’s about a bit more than 5 months that our Mastering Microsoft Dynamics 365 Business Central 2nd Edition book was released to the public. We have received (and continuously receiving) lots of appreciations and comments for our work and I think it’s the time to say you THANK YOU! There is no better way to thank you than to let some of your wonderful images that you shared with us speak for… Continue Reading...

Read More
Dynamics 365 Business Central: subfolding AL symbols
Jul19

Dynamics 365 Business Central: subfolding AL symbols

This is a very quick post, borned from a training I had today with a partner. When showing a demo related to integrating some Azure services into Dynamics 365 Business Central, I opened (without thinking) an AL extension with the following symbols package structure: My package cache folder (.alpackages) has two subfolders, one called Microsoft (containing the Microsoft’s symbols) and… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central v25: what’s coming for developers.
Jul16

Dynamics 365 Business Central v25: what’s coming for developers.

Microsoft has publicly announced today the plans for the 2024 Wave 2 release of their Dynamics 365 and Power Platform products. Lots of interesting features are coming also for Dynamics 365 Business Central on every aspect and to know more I encourage you to check this link. In this post I want to emphasize some of my favourite developer-related features that will be available on Dynamics… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central and Power Automate Connector: create, modify, delete triggers things to know.
Jul15

Dynamics 365 Business Central and Power Automate Connector: create, modify, delete triggers things to know.

Power Automate (and as I always say in this case, Azure Logic Apps too) has a great connector for Dynamics 365 Business Central that permits you to interact with triggers occurring on our favourite ERP and automate actions. In the Dynamics 365 Business Central connector, you have a set of triggers related to data changes in Dynamics 365 Business Central records: These triggers starts… Continue Reading demiliani’s Article...

Read More
Prevent prompt injections in your Azure OpenAI and Copilots implementations.
Jul10

Prevent prompt injections in your Azure OpenAI and Copilots implementations.

If any of you have ever developed Windows or Web applications connected to a SQL database in C# or other similar languages, you will surely have heard of sql injection. SQL injection is a web security vulnerability that allows an attacker to interfere with the queries that an application makes to its database. This can allow an attacker to view data that they are not normally able to retrieve… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: Partner Sandbox Environments clarifications
Jun26

Dynamics 365 Business Central: Partner Sandbox Environments clarifications

More than two years ago I wrote this post explaining the concept of Partner Sandbox Environments and providing the link to use in order to ask for its activation. This was a post with a lot of readers that generated lots of questions and after more than 2 years I’m sometimes receiving questions from partners around this topic. I see that often questions are related to the Tenant ID asked in… Continue Reading...

Read More
Dynamics 365 Business Central: linked Power Platform environment
Jun20

Dynamics 365 Business Central: linked Power Platform environment

In the last days, a new Linked Power Platform Environment option is appeared in the Administration Center of your Dynamics 365 Business Central tenant: This new option introduces the ability to link a Business Central environment to a Power Platform environment. Linking environments will let the Business Central environment inherit settings from the linked Power Platform environment and… Continue Reading demiliani’s...

Read More
Azure Managed Grafana for Dynamics 365 Business Central telemetry? It’s time to upgrade.
Jun18

Azure Managed Grafana for Dynamics 365 Business Central telemetry? It’s time to upgrade.

About two years ago at Directions EMEA 2022 I did a demo on exposing Dynamics 365 Business Central telemetry with Azure Managed Grafana (a fully managed service for analytics and monitoring solutions) and I’ve also shared a dashboard template with some Business Central telemetry metrics. You can read my posts here and here. All was based on Azure Managed Grafana version 9. If you’re one… Continue Reading...

Read More
Dynamics 365 Business Central: why not reviewing the SaaS storage cost policy?
Jun07

Dynamics 365 Business Central: why not reviewing the SaaS storage cost policy?

In these days I had a talk with some partners asking me some guidelines and suggestions on how trying to convince some Dynamics 365 Business Central on-premises customers on moving to the SaaS platform. The two partners I’ve talked with in these days have both the same situation: they have some big Dynamics 365 Business Central on-premises customers, totally happy with the product, that… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: the power of NumberSequence
Jun04

Dynamics 365 Business Central: the power of NumberSequence

Assigning number series to documents seems a simple task to users but in an ERP (where concurrency is always present) it’s instead a quite complicated task to handle. Number series in Dynamics 365 Business Central are a source of locking when you have lots of concurrency. Number series are specially designed for scenarios where you have to use a continuous numbering system on transactional… Continue Reading...

Read More
Semantic Search and Vectors support on Dynamics 365 Business Central: this is the right moment.
May31

Semantic Search and Vectors support on Dynamics 365 Business Central: this is the right moment.

Some weeks ago we had a nice interview with two amazing US guys (Brad Prendergast and Kristoffer Ruyeras aka Kris Kris Kris) about our semantic search implementation for the Business Central AI Hackathon. You can see the interview here and also I recommend to check the post about my friend’s Dmitry Katson here, where you can see the pitch describing the solution. Why we need a Semantic… Continue Reading demiliani’s...

Read More
Are you ready for the most mystical conference of the year?
May23

Are you ready for the most mystical conference of the year?

3 days until DynamicsMinds 2024 in Portoroz (Slovenia) starts, a 4 days community conference covering Microsoft Dynamics 365 and Power Platform world in full in a mystical atmosphere based on witches, goblins, monsters, wizards and magical minds within the fairytale convention center overlooking the Adriatic Sea. I will be at the conference waiting for you in the following sessions: May… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: monitoring field changes with telemetry is better…
May21

Dynamics 365 Business Central: monitoring field changes with telemetry is better…

In a traditional Dynamics 365 Business Central project, expecially when the customer is a large company, it’s quite often requested to monitor the changes of some important or sensitive fields on specific entities. Dynamics 365 Business Central supports logging changes on fields for entities that you can specify (standard or custom ones). On the Change Log Setup page, you can turn on… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: clarifications on changing the identity of an app.
May13

Dynamics 365 Business Central: clarifications on changing the identity of an app.

When talking with some partners trying to approach the AppSource marketplace during the last week, I’ve discovered that for many the extension’s identity rules are not clear. Lots of them have apps currently running in live environments with a particular id, name, publisher and version (as specified in the app.json manifest file of the extension). Don’t ask me why, but for some of them the… Continue Reading...

Read More
Dynamics 365 Business Central: “this” is a nice AL addition.
May06

Dynamics 365 Business Central: “this” is a nice AL addition.

If someone is familiar with C#, probably knows that the this keyword is used to refer to the current instance of the class. It is used to access members from the constructors, instance methods, and instance accessors. this keyword is also used to track the instance which is invoked to perform some calculation or further processing related to that instance. The AL language version 14… Continue Reading demiliani’s Article on...

Read More
AI in fully locked Dynamics 365 Business Central environment? Yes, you can!
May02

AI in fully locked Dynamics 365 Business Central environment? Yes, you can!

AI features in Dynamics 365 Business Central are growing always more on each release wave and lots of new interesting features are planned for the next waves too. AI features in Dynamics 365 Business Central belong to the following two main categories: Microsoft-owned AI features: these features work with a Microsoft-owned AI model in a Microsoft’s owned Azure OpenAI instance and are… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: Edit in Excel and Long Running SQL queries
Apr24

Dynamics 365 Business Central: Edit in Excel and Long Running SQL queries

Dynamics 365 Business Central has (from a long time) a nice feature for the end user called Edit in Excel. With the Edit in Excel action, you can make changes to Business Central records in Excel and then publish the changes back to Business Central. The Edit in Excel action requires that the Business Central add-in is installed in Excel: Despite I personally always try to discourage… Continue Reading...

Read More
Dynamics 365 Business Central 2024 Wave 2 release plans: “as is” and “to be”
Apr15

Dynamics 365 Business Central 2024 Wave 2 release plans: “as is” and “to be”

We’re just launching the Dynamics 365 Business Central 2024 Wave 1 release (version 24) and at the same time Microsoft officially announced the plans for the future 2024 Wave 2 release (version 25) coming in October. The official plan at the moment is the following: It’s not the time to say more about each of these points, but as you can see there are some important focus… Continue Reading demiliani’s Article...

Read More
Dynamics 365 Business Central and Shopify connection: access key rotation.
Apr10

Dynamics 365 Business Central and Shopify connection: access key rotation.

If you’re currently using Dynamics 365 Business Central connected with Shopify, there’s an important announcement that you should be aware of and that I want to emphasize. As part of periodic security updates, Microsoft will rotate Shopify app’s (Dynamics 365 Business Central) secret. This means that existing connections with access keys associated with the old secret will stop working. You… Continue Reading...

Read More
Azure Functions: .NET 7 support is ending and you should upgrade to .NET 8.
Apr10

Azure Functions: .NET 7 support is ending and you should upgrade to .NET 8.

On 14 May 2024, support for .NET 7 in Azure Functions will end. Your Function apps that are currently using .NET 7 will continue to run, but security updates will no longer be available. This means that there’s no best time to start upgrading your Azure Functions apps to use .NET 8 The upgrade of Azure Function apps to .NET 8 can be easy or not easy mainly depending on the Aure Functions… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central 2024 Wave 1 release: important server changes to remember.
Apr04

Dynamics 365 Business Central 2024 Wave 1 release: important server changes to remember.

Dynamics 365 Business Central 2024 Wave 1 release (version 24) is out now and you should be aware of some important hidden changes on the server runtime. The first important change is that now Dynamics 365 Business Central server runs on .NET 8. .NET 8 is not only the newest but also the fastest .NET version available at the moment, with lots of performance optimizations on handling… Continue Reading demiliani’s Article on...

Read More
Handling company’s carbon footprint with Business Central and Azure
Apr02

Handling company’s carbon footprint with Business Central and Azure

Corporate environmental responsibility has become a cornerstone of modern business strategy. Companies are under increasing pressure to demonstrate their commitment to sustainability, not only to meet regulatory requirements but also to align with consumer preferences and investor expectations. An organisational carbon footprint is an essential component on the journey towards net-zero… Continue Reading demiliani’s Article...

Read More
Dynamics 365 Business Central: receive notifications when AppSource apps updates are available in a tenant
Mar21

Dynamics 365 Business Central: receive notifications when AppSource apps updates are available in a tenant

When you install AppSource apps in a Dynamics 365 Business Central tenant, app updates are automatically handled by Microsoft during a major or a minor update of the tenant (this is handled by the value of the App Update Cadence parameter in the tenant’s Admin Center): But during the lifetime of a minor update (tipically a month) you could have the need to discover if an AppSource app… Continue Reading demiliani’s...

Read More
The 2nd edition of “Mastering Dynamics 365 Business Central” is here…
Mar18

The 2nd edition of “Mastering Dynamics 365 Business Central” is here…

More than one year of work, many updates and reviews, lots of energies spent. But now I’m proud to announce that the second edition of our best seller “Mastering Dynamics 365 Business Central” book is here: We wrote this second edition of the book with a clear goal: we want to create a great and practical guide for Dynamics 365 Business Central developers, a book that can stay near you… Continue Reading...

Read More
Dynamics 365 Business Central: introducing the Page Scripting tool
Mar13

Dynamics 365 Business Central: introducing the Page Scripting tool

If someone of you have ever worked with web applications development, probably you have earned about Playwright. Playwright is an open-source automation library for browser testing and web scraping developed by Microsoft and launched on 31 January 2020, which has since become popular among programmers and web developers. Playwright provides the ability to automate browser tasks in Chromium,… Continue Reading demiliani’s...

Read More
Azure Spring Clean: Deploying Azure OpenAI in the enterprise world.
Mar06

Azure Spring Clean: Deploying Azure OpenAI in the enterprise world.

This post is my contribution to the Azure Spring Clean 2024 event, an initiative to promote well managed Azure tenants. Azure OpenAI Service provides REST API access to OpenAI’s powerful language models including the GPT-4, GPT-4 Turbo with Vision, GPT-3.5-Turbo, and Embeddings model series. These models can be easily adapted to your specific task including but not limited to… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: support for multiple extensions to same target in the same app
Mar04

Dynamics 365 Business Central: support for multiple extensions to same target in the same app

I talked about this upcoming feature with some of you last week, but now that Dynamics 365 Business Central 2024 Wave 1 release (v24) is in a public preview stage, I can talk about that more in detail. The new AL version coming with Dynamics 365 Business Central v24 add the support for multiple extensions to same target in the same application. In order to help achieve better separation… Continue Reading demiliani’s...

Read More
Copilot for Finance and Dynamics 365 Business Central
Mar01

Copilot for Finance and Dynamics 365 Business Central

Yesterday Microsoft announced the public preview of Microsoft Copilot for Finance, the newest Copilot offering designed for business functions that extends Microsoft Copilot for Microsoft 365 and revolutionizes how finance teams approach their daily work. Copilot for Finance joins Copilot for Sales and Copilot for Service, now generally available, to provide AI-powered, role-based workflow… Continue Reading demiliani’s...

Read More
How we (probably) broke limits at the #BCAIHackathon
Feb27

How we (probably) broke limits at the #BCAIHackathon

Last week Microsoft organized the #BCAIHackathon initiative, a 3 days dedicated to create innovative solutions using generative AI in Dynamics 365 Business Central and (probably) to bring new ideas on how to apply AI in useful scenarios inside the ERP. In the previous days I had some discussions with my (not AI-generated) friend Dmitry Katson about this initiative and we decided to be part… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: introducing the new Table Key module
Feb20

Dynamics 365 Business Central: introducing the new Table Key module

One of the announced features for Dynamics 365 Business Central 2024 Wave 1 release is the possibility to enable or disable indexes via AL code. For that scope (at the moment unfortunately only available for on-premises scenarios) Microsoft is introducing a new AlterKey method in the Database object that permits you to select a non -clustered index and enable or disable it. The new syntax… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central and Power Automate connector: deprecation of  V2 triggers and actions
Feb15

Dynamics 365 Business Central and Power Automate connector: deprecation of V2 triggers and actions

If you have created in the past workflows with Power Automate using the Dynamics 365 Business Central connector, probably you have used some of the connector’s actions marked as V2: Starting from now, the V2 triggers and actions in the Power Automate connector will be hidden and they will be fully deprecated in a near future (probably next year). The change is rolling out gradually on… Continue Reading demiliani’s...

Read More
REST APIs and the importance of Versioning.
Feb07

REST APIs and the importance of Versioning.

A REST API (also known as RESTful API) is an application programming interface that conforms to the constraints of REST architecture and it’s one of the main building block for integration between applicartions running in the cloud (but not only). In a traditional Dynamics 365 Business Central project, it’s quite common to work with APIs for integrations and usually you can have the… Continue Reading...

Read More
Dynamics 365 Business Central: transfer environments between Microsoft Entra tenants
Feb01

Dynamics 365 Business Central: transfer environments between Microsoft Entra tenants

Starting from today, it’s possible to transfer a Dynamics 365 Business Central SaaS tenant to a different tenant without opening a support request to Microsoft. If you check the Admin Center, you will find a new Environment Transfer action: After clicking on this action, you can select the environment(s) to be transferred, specify the Entra tenant ID of the destination tenant, choose a… Continue Reading demiliani’s...

Read More
Audit Dynamics 365 Business Central operations in Microsoft Purview: what is it?
Jan31

Audit Dynamics 365 Business Central operations in Microsoft Purview: what is it?

Some days ago Microsoft announced the upcoming new features for the new products wave and also Dynamics 365 Business Central is on the list and you can read more about the upcoming planned features for 2024 Wave 1 release here. One of the announced features that has generated quite a lot of confusion is the following: In 2024 release wave 1, auditable events occurring in Dynamics 365… Continue Reading demiliani’s Article...

Read More
List all Azure Functions with older runtime with Powershell
Jan30

List all Azure Functions with older runtime with Powershell

When you create an Azure Function app, the runtime is responsible for executing function code on the underlying WebJobs SDK host. Azure Functions currently supports two versions of the runtime host: 4.x: Recommended runtime version for functions in all languages.  1.x: Supported only for C# apps that must use .NET Framework. This version is in maintenance mode, with enhancements… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: how can I disable Copilot for everyone?
Jan25

Dynamics 365 Business Central: how can I disable Copilot for everyone?

Dynamics 365 Business Central now has embedded generative AI features powered by Azure OpenAI and this is something cool that I encourage everyone to try. When individual Copilot capabilities are released in Dynamics 365 Business Central during minor updates, these capabilities are optional until the next major update. To turn on or off these features (like for example bank reconciliation… Continue Reading demiliani’s...

Read More
Azure Basic Load Balancer: it’s time to plan the update to Standard.
Jan24

Azure Basic Load Balancer: it’s time to plan the update to Standard.

Azure Load Balancer is a high-performance, ultra-low-latency Layer 4 load-balancing service (inbound and outbound) for all UDP and TCP protocols. It’s built to handle millions of requests per second while ensuring your solution is highly available.  With Azure Load Balancer, you can scale your applications and create highly available services. Load balancer supports both inbound and… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: introducing the Azure File Share module
Jan19

Dynamics 365 Business Central: introducing the Azure File Share module

I wrote in the past some articles about how it’s important to use Azure Storage for storing files in a Dynamics 365 Business Central project (avoid using blobs and media as much as possible) and I’ve talked about the differences between Azure Blob Storage and Azure File Share, also providing a solution for mapping an Azure File Share as a local drive for data exchange with Dynamics 365… Continue Reading...

Read More
Monitoring your Azure OpenAI usage (part 2)
Jan15

Monitoring your Azure OpenAI usage (part 2)

In a previous post I wrote about how you can monitor your Azure OpenAI usage with Azure Monitor and Application Insights. Monitoring Azure OpenAI usage is an important practice to adopt and if you plan to start using generative AI features with Dynamics 365 Business Central, please also activate AI monitoring. In this post I want to talk about another interesting (and very easy to setup)… Continue Reading demiliani’s...

Read More
Azure Functions and Data Parallelism: things to know.
Jan10

Azure Functions and Data Parallelism: things to know.

When working with code on some complex data operations, sometimes to improve performances it’s possible to use code techniques like parallel programming and/or data parallelism. Data parallelism refers to scenarios in which the same operation is performed concurrently (in parallel) on elements in a source collection or array. In data parallel operations, the source collection is… Continue Reading demiliani’s Article...

Read More
Power Automate: retrieving the first item of a recordset avoiding a loop.
Jan05

Power Automate: retrieving the first item of a recordset avoiding a loop.

In Dynamics 365 Business Central it’s quite common to do operations in AL code for filtering a set of records and then retrieving a value of the first record of the filtered recordset. Something like in the following code, where we filter the Item table for retrieving the first item with Unit Price greater than 1000: Let’s imagine now to use Power Automate to do the same thing. We can… Continue Reading...

Read More
Dynamics 365 Business Central: how the BCApps repo is moving?
Jan04

Dynamics 365 Business Central: how the BCApps repo is moving?

Can you see the image on top of this post? They’re not fireworks of the new year 2024 but instead something different… I think that you already know that Microsoft embraced the open source initiative also for Dynamics 365 Business Central. Everyone can collaborate on it and the BCApps repo in GitHub is the place to go. This repository contains the source code for several Business… Continue Reading...

Read More
Dynamics 365 Business Central: Isolated Storage and SecretText support.
Jan02

Dynamics 365 Business Central: Isolated Storage and SecretText support.

With Dynamics 365 Business Central 2023 Wave 2 release (version 23) Microsoft introduced a new data type called SecretText. This new data type is useful to protect secrets in AL code from being revealed through debugging (a SecretText variable is always displayed as <HiddenValue> during a debugging session) and I’ve talked about it in this post. The SecretText data type is in my opinion an… Continue Reading...

Read More
Azure Functions: .NET 7 and .NET 8 local debugging bug on Visual Studio Code.
Dec29

Azure Functions: .NET 7 and .NET 8 local debugging bug on Visual Studio Code.

This is a very quick post signaling a bug that makes me spending hours of troubleshooting. If you’re developing Azure Functions with Visual Studio Code and .NET 7 or .NET 8, when you create a new Azure Function Isolated app project the assembly Microsoft.Azure.Functions.Worker.Sdk version 1.16.x is automatically referenced in your .csproj file: If you try to debug the Azure Function… Continue Reading demiliani’s...

Read More
Happy New Year 2024!
Dec29

Happy New Year 2024!

And also another year it’s coming to an end. To everyone reading this blog, to everyone of you I met in person and online during this year, to everyone I had the pleasure to work with, to all those who simply read this post just because it appears in front of their eyes… I wish you a great start to the new year , full of energy and desire to grow. See you in 2024, more energized than… Continue Reading...

Read More
Azure Logic Apps: securing HTTP Triggers with Microsoft Entra ID authentication
Dec28

Azure Logic Apps: securing HTTP Triggers with Microsoft Entra ID authentication

Lots of time ago I wrote a post about securing the HTTP triggered workflows created with Power Automate. You can read this post here. When you create a workflow with Power Automate or Azure Logic Apps and you use the “When an HTTP request is received” trigger, a public url to invoke the workflow via an HTTP request is automatically generated when saving the flow. The url has the… Continue Reading demiliani’s Article on...

Read More
Dynamics 365 Business Central: new additions in Excel Layouts reporting.
Dec27

Dynamics 365 Business Central: new additions in Excel Layouts reporting.

One of the reporting features I like the most in Dynamics 365 Business Central is the possibility to create Excel Layout reports. Excel Layout reports are essentially reports based on Excel workbooks, with all the fancy stuffs of Microsoft excel available. With Excel Layouts, when you create a new report first you define the report dataset in code (dataitems, fields etc.) Then you design a… Continue Reading demiliani’s...

Read More
Dynamics 365 Business Central: remember to delete the Media orphans.
Dec20

Dynamics 365 Business Central: remember to delete the Media orphans.

In all my trainings and sessions I always say that when you have a blob file to import in Dynamics 365 Business Central (image, pdf, etc), you need to stop for a minute and think if you can store it outside of the database. For this scope, Dynamics 365 Business Central has a nice Azure Blob Storage module that permits you to store your files in a blob container on Azure Storage. In this… Continue Reading demiliani’s...

Read More
Monitoring your Azure OpenAI usage
Dec19

Monitoring your Azure OpenAI usage

I want to continue the saga of “using Azure OpenAI in a professional way” by talking a bit about a practice that you should always act: monitoring the AI usage. As said in previous posts, using Azure OpenAI in a real world is not just sending prompts to a model, but you need to carefully handle requests and monitor the underlying deployments. Azure OpenAI uses Azure Monitor under the hood… Continue Reading...

Read More
Dynamics 365 Business Central: Microsoft standard AI features and prompts.
Dec13

Dynamics 365 Business Central: Microsoft standard AI features and prompts.

The new Dynamics 365 Business Central 23.2 release unlocks the new Copilot Developer Toolkit (more info here) for creating generative-AI experiences inside the ERP on online sandboxes. The advantages of using this toolkit include: Designing solutions that adhere to Responsible AI principles. Creating a unified Copilot experience. Accelerating time to market. You can now spin… Continue Reading demiliani’s Article on their...

Read More