Dynamics 365 Business Central, Azure SQL and Optimized Locking
Optimized locking is a new Azure SQL database engine feature recently announced that drastically reduces lock memory and the number of locks concurrently required for writes. Optimized locking helps on reducing lock memory as very few locks are held for large transactions. In addition, optimized locking also avoids lock escalations and this allows more concurrent access to the same… Continue Reading demiliani’s Article on...
Azure Logic Apps and polling: are you always doing the best choice?
How often in your real world projects have you the need to poll an external system or an external source for data? How often your customers ask you something like “Every 10 minutes I want to receive data from source X into my Dynamics 365 Business Central environment for processing”? I think this is quite a common scenario. When using Azure Logic Apps for integrations (because I assume here… Continue Reading...
Dynamics 365 Business Central on-premises and max upload file size limit
I think to have answered this question more than 20 times (live and on socials) but regularly it pops out, so I think that a quick post can help. Dynamics 365 Business Central (SaaS and on-premises versions) has its own operational limits, limits imposed at platform level to ensure the availability and quality of Business Central services. You can see a list of the operational limits <a… Continue Reading demiliani’s...
Monitoring your Azure Logic Apps workflows in an advanced way with telemetries
I talked here a lot on monitoring a Dynamics 365 Business Central tenant by using telemetry, but the telemetry practice should not be applied only on Dynamics 365 Business Central, but also on all the integrations you have and generally speaking on all your cloud services. When thinking about integrations in a Dynamics 365 Business Central SaaS project, I think that cloud-based workflows… Continue Reading demiliani’s...
Dynamics 365 Business Central and TryFunctions: be careful!
I think that most of you know what Try methods are in the Dynamics Business Central (and Dynamics NAV too) world. Try methods in AL enable you to handle errors that occur in the application during code execution. You can declare a Try method by using the TryFunction attribute as follows: [TryFunction] procedure MyTryFunction() The official documentation about TryFunctions says the… Continue Reading demiliani’s Article on...
Dynamics 365 Business Central and Dynamics NAV on-premises Security Vulnerability CVE-2022-41127: how to fix
On December 13, 2022 Microsoft disclosed a security vulnerability (coded CVE-2022-41127) that affects the on-premises versions of Dynamics 365 Business Central and Dynamics NAV. An attacker who successfully exploited this vulnerability in Dynamics NAV and BC could execute code on the host server in the context of the service account Dynamics has been configured to use. The vulnerability… Continue Reading demiliani’s...
Dynamics 365 Business Central 2023 Wave 1 release plans pillars
As on every wave period, Microsoft yesterday released the plans for 2023 Wave 1 wave for its Dynamics 365 and Power Platform products. Here are the links to the release plans. The PDF copies are available to download in each release plan when you access these links: Dynamics 365: https://aka.ms/Dynamics365Wave1ReleasePlan < ul> Power Platform: <a rel=”noreferrer noopener”...
Dynamics 365 Business Central: retrieving Azure AD User informations via AL
I saw many partners in the past days asking how to retrieve informations about the current Dynamics 365 Business Central user via AL code. In Dynamics 365 Business Central, users are retrieved from Azure Active Directory and if you check the User Card page you can see only few details on it (full name and contact email): But in your organization’s Azure Active Directory, you can… Continue Reading demiliani’s Article...
Telemetry with Azure Application Insights: prevent anomalies on data ingestion
Some days ago I was helping a partner on setting up the telemetries for one of their customer’s Dynamics 365 Business Central on-premise installations and they asked me an interesting question: is it possible to detect anomalies on telemetry ingestion, like for example if too much telemetry is ingested in a day or if no telemetry is sent to Azure Application Insights (for example, due to… Continue Reading demiliani’s...
Dataverse Virtual Table Creation Wizard (preview)
If someone of you was at Directions EMEA in Hamburg and attended the “Real world solution architecture with Dynamics 365 Business Central and Power Platform” session I made with Josh Anglesea, when explaining the implementation details of our business case there was a part related to connecting external data sources to our Dataverse environment via Virtual Tables. One of these external sources… Continue Reading...
Dynamics 365 Business Central and Power Automate connector: using environment variables
When working with Dynamics 365 Business Central using the Power Automate connector, when you sleect its actions and triggers you need to select the environment and the company name from a dropdown box: This is quite noisy if you want to move your flows between environments, because you need to specify again the connections on every trigger and action. Unfortunateky there’s no… Continue Reading demiliani’s Article on...
Dynamics 365 Business Central: new Power Automate actions for handling images and attachments
Starting from this week, the Power Automate connector for Dynamics 365 Business Central adds new actions for handling images and attachments and these new actions are available on all regions. I previewed these new actions in Microsoft Italy one at the partner events in end of November, but now we can share more details about that. The newly added actions are the following: and they… Continue Reading demiliani’s Article on...
Dynamics 365 Business Central: AL permission sets and name length errors
This is a very quick post to answer a question sent to me privately today by a Dynamics 365 Business Central partner. Question was the following: Why a permission set can have only 20 characters in the name? Is it standard or is it an AL extension bug? AL permission sets name length check has a sneaky behaviour in Visual Studio Code. Let’s create a simple permission set like the… Continue Reading demiliani’s Article...
Azure Service Bus: introducing partitioning in Premium tier
If you was at my recent training about extending Dynamics 365 Business Central with Azure services in Microsof Italy or if you attend some of my sessions about Dataverse extensions, I think you already know that I’m a huge fan of using Azure Service Bus for handling messages in the cloud. Azure Service Bus is a fully managed enterprise message broker with message queues and… Continue Reading demiliani’s Article on...
Dynamics 365 Business Central telemetry: new year improvements and news
I think that you already know that the area of telemetries is a fast moving area in the Dynamics 365 Business Central field. The new year has started, some improvements on this area are cooking and our “King of the Heroes” Kennie has just shared the monthly report about the Power BI Telemetry Apps news. Just for reference, you can download the Power BI apps from here (Power BI Pro license… Continue Reading...
Are you using proxies with Azure Functions? Start moving to Azure API Management.
When working with lots of Azure Functions apps or in microservices architectures with a moderate workload, it’s quite common to use (or at least evaluate using) a not so well-known feature of Azure Functions called proxies. What are Azure Functions proxies? With proxies, you can specify endpoints on your function app that are implemented by another resource. You can use these proxies to… Continue Reading demiliani’s...
Dynamics 365 Business Central and bulk inserts
Today I’ve discovered that not everyone knows how Dynamics 365 Business Central (but also Dynamics NAV) handles inserts on the SQL backend, so I think it’s worth writing a quick post on explaining this. Let’s consider this piece of AL code: In this code I’m retrieving an existing Item record (the first) and then I’m doing an INSERT operation that obviously fails. Then after that… Continue Reading...
Some tips to improve security of your Azure Blob Storage (expecially with Dynamics 365 Business Central)
In these days I’m happy to see that after my latest Azure training in Microsoft Italy (3 weeks ago) many partners are starting to use Azure Blob Storage in their projects with Dynamics 365 Business Central. Some of you asked about security of the Azure Blob Storage in case you want to store important informations from Dynamics 365 Business Central. Here is what I personally recommend in… Continue Reading demiliani’s...
Dynamics 365 Business Central telemetry report as Adaptive Card on Teams
During my telemetry session at last Directions EMEA in Hamburg and also on my latest Telemetry workshop in Microsoft Italy some weeks ago, when talking about being proactive with Dynamics 365 Business Central telemetry data, I’ve done a demo creating advanced alerts and one of them used Teams as a channel to redirect notifications of tenant’s anomalies. The created alert used Azure Logic… Continue Reading...
Dynamics 365 Business Central: scheduling job queue tasks via API
The Dynamics 365 Business Central 2022 Wave 2 version 21.2 update silently introduces a long requested feature: the possibility to scheule job queue tasks via APIs in an integrated session using Service-to-Service (S2S) authentication. Service-to-Service (S2S) authentication is suited for scenarios where integrations are required to run without any user interaction and prior to this new… Continue Reading demiliani’s...
Dynamics 365 Business Central and AL language: it’s the time to give us namespaces!
Naming objects is one of the hardest problems in software development. In programming, a namespace is a technique used to uniquely identifying one or more objects from other similarly named objects. A namespace defines a scope where identifiers like variables, functions, obejcts, etc., are declared. The main purpose of using a namespace is to prevent ambiguity when two identifiers have the… Continue Reading demiliani’s...
Dynamics 365 Business Central: DataTransfer on upgrades and performances
At the beginning of September 2022 I wrote this post introducing the new DataTransfer data type (available from Business Central version 21). DataTransfer is an AL data type that supports the bulk transferring of data between SQL based tables. Instead of operating on a row-by-row model, like the record API does, DataTransfer produces SQL code that operates on sets (direct operations in SQL,… Continue Reading demiliani’s...
Dynamics 365 Business Central telemetry: Grafana dashboard template
PREFACE: Microsoft has created two wonderful Power BI apps for analyzing Dynamics 365 Business Central telemetry: Dynamics 365 Business Central Usage Analytics: Power BI app that permits you to visualize different aspects of a Dynamics 365 Business Central tenant usage. Available at https://aka.ms/bctelemetryreport Dynamics 365 Business Central App Usage: Power BI app that permits you… Continue Reading demiliani’s Article...
Dynamics 365 Business Central: new option to enable/disable the “save as you type” feature.
The “save as you type” feature in Dynamics 365 Business Central is like a black cloud over your head… if you start forgotting it, than something happens Dynamics 365 Business Central 21.1 on-premise introduces a new setting in the web client’s navsettings.json file called SaveValueToDatabasePromptly. This new setting permits you to enable/disable the “save as you type” web client...
Dynamics 365 Business Central: new AL language hidden features
The new AL Language version 10.1 (released in these days) adds some small (but interesting) new features that I think it worth mentioning. The main new hidden feature is the support for handling global and workspace launch configuration. AL developers are now able to add a launch property to their code-workspace or settings.json file and it will be taken into account when creating… Continue Reading demiliani’s Article on...
Azure Blob Storage and SFTP support
I received in the past lots of requests about how to use FTP in a SaaS environment (expecially with Dynamics 365 Business Central) and I’ve also blogged about different possible solutions (just search for FTP word on this blog). But now, there’s a new easy way to move files to Azure via SFTP: starting from few weeks, Azure Blob Storage supports SFTP. You can now securely connect to the… Continue Reading...
SWIFT message processing using Azure Logic Apps
Few days ago the Azure Logic Apps Team announced the Public Preview of SWIFT MT encoder and decoder for Azure Logic Apps. This new release will enable customers to process SWIFT based payment transactions with Logic Apps Standard and build cloud native applications with full security, isolation and VNET integration. SWIFT is the Society for Worldwide Interbank Financial Telecommunication… Continue Reading demiliani’s...
Dynamics 365 Business Central and Power Automate connector: be aware of this strange issue
When working with Dynamics 365 Business Central and Power Automate, somethimes (fortunately not too often) the Business Central connector can make you crazy Randomly it could happen that when you add an action from the Business Central connector, the selected action doesn’t show you the right inputs but instead it shows you a generic “Raw inputs” field: What do you have to do here?… Continue Reading...
Azure Functions cold start: impact on Dynamics 365 Business Central webhooks
I think that many of you know what Dynamics 365 Business Central webhooks are. In few words, webhooks is the way to get notified if an entity changes in Dynamics 365 Business Central, exactly like having a push notification mechanism. I talked about Dynamics 365 Business Central webhooks here if you want to know more. Webhooks in Dynamics 365 Business Central are absolutely a cool… Continue Reading demiliani’s Article on...
Dynamics 365 Business Central and “Save as you type” feature: impact on Azure Logic App Consumption
I don’t want to return again on the topic of the impact introduced with the new “Save as you type” Dynamics 365 Business Central 2022 Wave 2 feature (we’ve talked a lot here and here and also internally with Microsoft) but I think that there’s another aspect (side effect) that partners and customers need to be aware of. I think that many of you know that I’m a huge fan of Azure Logic Apps…...
Dynamics 365 Business Central: the hidden EnableMalwareScanning feature
Security is on top of the Microsoft’s investments on every product and it should be on top of your deployment practices too… yes, also for Dynamics 365 Business Central. One of the possible holes of security in Dynamics 365 Business Central was the attachment feature. Without customizations, a user can inadventertly attach a malicious file to a document from its local machine and another… Continue Reading...
Securing your HTTP triggered flow in Power Automate: suppress workflow headers in response
The “When an HTTP request is received” trigger is one of my favourite building blocks for creating serverless processes with low-code workflows technologies like Power Automate or Azure Logic Apps (you can conquer the world with this trigger :D). Two years ago I wrote a post about some basic tricks for securing an HTTP-triggered Power Automate workflow. The post can be found here and I… Continue Reading...
Dynamics 365 Business Central 2022 Wave 2: the evil of the new field changes behaviour – THE HAPPY ENDING
I think that everyone of you reading this post remember yesterday’s post about the new “Save as you type” feature introduced with Dynamics 365 Business Central 2022 Wave 2 release. This post generated lots of reactions (inside and outside Microsoft) and now I’m happy to announce the following Microsoft’s internal decision: We have listened to your concerns and made a decision to give… Continue...
Dynamics 365 Business Central 2022 Wave 2: the evil of the new field changes behaviour
In the year 2001 after my Master Degree in Computer Engineering I joined a new team inside my company of that time (located in Turin) that had assigned a very exciting project: moving a big distributed application for the cinema industry written in Visual Basic 6 and with SQL Server as backend to a new distributed architecture based on .NET 1.0 and web services. I remember that we started… Continue Reading demiliani’s...
Me @ Directions EMEA 2022
In a month or so (exact starting date is November 9, 2022) a new edition of Directions EMEA conference will start. Directions EMEA 2022 will be organised in from 9 – 11 November in Hamburg (Germany) and as usual hundreds of Dynamics 365 partners will be there to learn new things, share experiences and doing networking. I will be one of the thousands of people in the Hamburg Congress Center… Continue Reading...
Dynamics 365 Business Central and integration workflows: why Azure Logic Apps are often a better choice than Power Automate
When talking about integrations between Dynamics 365 Business Central and external applications, in lots of real-world projects I see that low-code approaches are one of the preferred way of doing that. Although I’m not a very huge fan of doing everything with low-code technologies, I think that in many situations having an integration workflow created with a low-code approach can satisfy the… Continue Reading...
Dynamics 365 Business Central 2022 Wave 2: UI changes in the action bar
Two days ago in the Business Central event I’ve done with Microsoft Italy, someone with good eyes noted some small UI changes on a demo app I’ve used to show some Azure services in action. The UI changes was the following: These small changes are improvements in the modern action bar available starting from Dynamics 365 Business Central 2022 Wave 2 release (version 21). I talked about… Continue Reading...
Global Dynamics 365 Business Central Bootcamp 2022
We are excited to announce that the Global Business Central Bootcamp 2022 will take place on 22nd & 23rd September 2022 (online) including 2 Tracks covering Financial Management, Accounting Basics, Development, Administration and Customisation for Dynamics 365 Business Central Training from Zero to Hero! If you want to join, I’m waiting for you on September 23 at 13 GMT. Continue Reading demiliani’s Article on their...
Azure Logic Apps and Recurrence Trigger: the “At these minutes” parameter mistery.
Yesterday I received a support request from a partner regarding a Timer Triggered Azure Logic App workflow. For who don’t know, Azure Logic Apps permits you to create and run automated recurring workflows on a schedule by using the built-in Recurrence trigger. With the Recurrence trigger, you can set up complex schedules and advanced recurrences for running tasks and you can run your… Continue Reading demiliani’s...
Processing Azure Blob Storage events with Azure Event Grid, Logic Apps and Azure Functions (real case)
Problem raised by a customer: “We are using Azure Blob Storage with a Dynamics 365 Business Central solution. The solution permits to create and delete files on a blob storage container directly from Business Central. We would like to have a process that, when a file is deleted from the blob storage, it’s automatically copied into a backup storage and a notification is sent to the IT… Continue Reading...
Dynamics 365 Business Central: breaking change when adding a return value to a procedure
I’ve received a request from a partner asking why adding a return value to a procedure in a Dynamics 365 Business Central extension that previously had no return value is considered a breaking change during AppSource validation. The explicit question was: “if previously I had a dependent extension that uses the first version of this procedure (the version without return value) and now I… Continue Reading...
Dynamics 365 Business Central 2022 Wave 2: introducing the new DataTransfer data type
I’ve talked some days ago about some UI improvements in the Dynamics 365 Business Central 2022 Wave 2 release (version 21). You can read the details here. There’s another quite hidden feature that I love a lot in this new release (not yet documented) and it’s related to the availability of a new construct for writing faster upgrade code. When refactoring an app, it’s common to move a field… Continue...
Dynamics 365 Business Central 2022 Wave 2: changing the way of promoting actions
The upcoming Dynamics 365 Business Central 2022 Wave 2 release (alias version 21) will introduce some improvements on the user interface. The first that you immediately noted is the new company switcher, very appreciated from a lot of users and that helps on changing companies between environments quickly: But in order to help increasing productivity on the web client, this is not the… Continue Reading demiliani’s Article...
Introducing Azure Managed Grafana for improving your Dynamics 365 Business Central telemetry views
Have you ever heard about Grafana? Grafana is an open and composable observability and data visualization platform that permits you to visualize metrics, logs, and traces from multiple sources. Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. You can create, explore, and share dashboards with your team, you can create dynamic… Continue Reading demiliani’s Article...
Using Azure File Share: best practices
Azure Files is essentially a fully managed serverless file share hosted on Azure accessible via the industry standard protocols like SMB, NFS and Azure Files REST API. Azure file shares can be mounted concurrently by cloud or on-premises deployments and they are extremely useful for replacing or supplementing on-premise file servers. In Dynamics 365 Business Central SaaS scenarios, I think… Continue Reading demiliani’s...
Dynamics 365 Business Central: transitioning from Delegated Admins to Granular Delegated Admins
At the beginning of this year I’ve shared a post explaining the new Granular Delegated Administrator privileges for Microsoft 365 and Dynamics 365. In a recent announcement, Microsoft has shared the final plan on transitioning from Delegated Admins Privileges (DAP) to Granular Delegated Admins Privileges (GDAP) and as a Dynamics 365 Business Central partner I think you need to be aware of… Continue Reading...
Dynamics 365 Business Central: quick reminder for some upcoming changes
October will be the month where Dynamics 365 Business Central 2022 Release Wave 2 (version 21) will be publicly available. But together with this new release wave and the next wave (version 22), partners should be ready for some upcoming changes that I want to remind. With Dynamics 365 Business Central 2022 Wave 2 (version 21): The Business Central Server Administration tool for… Continue Reading demiliani’s Article on...
Dynamics 365 Business Central: filtering telemetry signals with Azure Monitor Data Collection Rules
One of the main issues on using Azure Application Insights for collecting telemetry from a Dynamics 365 Business Central tenant is that it’s not possible to filters telemetry signals on the source. When you connect Application Insights to a Dynamics 365 Business Central tenant, all telemetry signals sent from Dynamics 365 Business Central are automatically sent to your Application Insights… Continue Reading...
Testing Azure Functions performances with Azure Load Testing
If someone of you remember, in the past I wrote about doing performance testing of Azure Functions using tools like Apache JMeter. Now, the Azure platform has a nice new tool (currently listed as in preview) called Azure Load Testing. Azure Load Testing is a fully managed load-testing service that enables you to generate high-scale load. The service simulates traffic for your applications… Continue Reading demiliani’s...
Dynamics 365 Business Central: report extensions and global variables in preview mode
Today I received a call from a partner that was going crazy on a problem during the preview of some statistical reports in Dynamics 365 Business Central. The report was a custom modification of an existing one (done via a reportextension object). In this reportextension, the partner added some global variables used to perform filters and actions on the report’s dataitem, but the report… Continue Reading demiliani’s...