Exam MB-300: Core Finance and Operations
Last week I took (and passed :P) exam MB-300: Microsoft Dynamics 365: Core Finance and Operations. After taking other older exams I’d like to share my views on MB-300. Role-based certifications The MB-300: Microsoft Dynamics 365: Core Finance and Operations exam is part of the new role-based certifications, and with exam MB-500 is needed to … Continue reading Exam MB-300: Core Finance and… Continue Reading Adrià...
A warning about Self-service environments: update carefully
It looks like the time has finally come and all new LCS projects will have self-service Tier 2+ environments. If you want to know a bit more about them, I wrote this post about service fabric/self-service environments in Microsoft Dynamics 365 for Finance and Operations. The last two projects we’ve started at Axazure are on … Continue reading A warning about Self-service environments: update… Continue Reading Adrià Ariste...
Secure your Azure Pipelines with Azure Key Vault
After the update of my last post about calling the LCS API from Azure DevOps Pipelines I thought that creating a pipeline with a password in plain sight was not very secure. How could we add extra security to a pipeline? Once again we can turn to an Azure tool to help us, the Azure … Continue reading Secure your Azure Pipelines with Azure Key Vault → The post Secure your Azure Pipelines with… Continue Reading Adrià...
Calling the LCS Database Movement API in your Azure DevOps pipeline
I talked about the LCS Database Movement API in a post not long ago, and in this one I’ll show how to call the API using PowerShell from your Azure DevOps Pipelines. What for? Basically, automation. Right now the API only allows the refresh from one Microsoft Dynamics 365 for Finance and Operations environment to … Continue reading Calling the LCS Database Movement API in your Azure DevOps… Continue Reading Adrià...
Add multi selection lookup to a SysOperation Framework dialog
First 2020 post! Happy new year! Yes, I know it’s already past mid January… When you add a field to a SysOperation Framework Data Contract the lookup that the framework creates (if the EDT has a lookup) is a simple, single select lookup. Let’s see how to create a multi select lookup in MSDyn365FO. The … Continue reading Add multi selection lookup to a SysOperation Framework dialog → The post
LCS Database movement REST API
Since last October we’ve been able to try the preview of Microsoft Dynamics 365 for Finance and Operations Database Movement API which allows us to list and download DB backups and start DB refreshes using a REST API. If you want to join the preview you first need to be part of the MSDyn365FO Insider Program where you can join the “Dynamics 365 for Finance and Operations Insider Community“…. Continue Reading...
Create an ISV license from a cryptographic USB token
This post is a product of not reading the full documentation. Lesson #1: read the docs thoroughly, or at least don’t stop reading when you think you’re done. Publishing an ISV solution One of the steps when you want to publish an ISV solution is generating the license for your customers. This license has to be signed using an Authenticode certificate that will enable the solution, limit… Continue Reading Adrià Ariste...
Get the T-SQL query from X++
As you might know MSDyn365FO’s data access layer pretty different from T-SQL. This means that if you copy a query on AX and paste it in SSMS it won’t validate in the 99% of the cases (the other 1% being a select * from table). The differences are specially obvious in the join clauses, for example in AX’s (not) exists join which translates to T-SQL as a WHERE NOT EXISTS (SELECT statement). To… Continue Reading...
DevOps ALM automation in Microsoft Dynamics 365 for Finance and Operations
I’ve already written some posts about development Application Lifecycle Management (ALM) for Dynamics 365 for Finance and Operations in the past: Dynamics 365 for Finance & Operations and Azure DevOps (part I) Dynamics 365 for Finance & Operations and Azure DevOps (part II) Setting up Release Pipeline in Azure DevOps for Dynamics 365 for Finance and Operations Set up the new Azure DevOps… Continue Reading Adrià...
Invent counting with AI Builder
This past weekend I’ve attended my third 365 Saturday, this time in Barcelona, as a speaker. As you can see in the post title my session has been about creating inventory counting journals using AI with the Power Platform. The event has been great, but my session has left me with a bittersweet feeling because I haven’t been able to show the full app functionality due to stupid technical issues… Continue Reading Adrià...
Setup Entity Store’s export to Azure Data Lake storage
It’s easy to start this post, because many people can ask: What’s a Data Lake? Fishing in a Data Lake. By cazapelusas. A Data Lake is not an Azure product but a term referring to a place where data is stored, regardless of whether it’s structured or unstructured. Its only purpose is storing the data ready to be consumed by other systems. It’s like a lake that stores the water of its… Continue Reading...
Manually deploy Retail packages for Microsoft Dynamics 365 for Finance and Operations
First Microsoft Dynamics 365 for Finance and Operations Retail post! I hope more will come. As you might know, one of the setbacks of the database refresh from production in LCS is that some data doesn’t get copied. This is a safety feature that prevents, among others, that emails are sent or batches run accidentally after a DB restore. Remember that it’s a good idea to have a SQL query/script… Continue Reading Adrià...
Parse XML and JSON easily in MSDyn365FO
Some time ago I had to create an interface between MSDyn365FO and a web service that returned data as XML. I decided to use X++’s XML classes (XmlDocument, XmlNodeList, XmlElement, etc…) to parse the XML and get the data. These classes are terrible. You get the job done but in an ugly way. There’s a better method to quickly parse XML or JSON in MSDyn365FO. .NET to the rescue There’s a… Continue Reading Adrià Ariste...
Feature management: create a custom feature
Feature management has been around in Microsoft Dynamics 365 for Finance and Operations for some time now. Before that features were enabled through flighting running a SQL query on dev and UAT boxes (and the DSE team would do it on production). Now we have a nice workspace showing all the available features and flighting is still around too. The main difference between flighting and features… Continue Reading Adrià Ariste...
Set up the new Azure DevOps tasks for Packaging and Model Versioning
During this past night (at least it was night for me :P) the new tasks for Azure DevOps to deploy the packages and update model versions have been published: The official @AzureDevOps task to deploy @MSFTDynamics365 F&O customizations is now added to our marketplace extension! Hot off the press! https://t.co/ExXJ3CKbUW https://t.co/q4qOScg6vv#FinOpsDevOps — Joris de Gruyter (@jorisdg) May… Continue Reading Adrià Ariste...
Application Checker: enforcing better coding practices?
Unless you’ve been working for an ISV there’s a high percentage of probabilities that you’ve never cared about Dynamics Best Practices (BP), or maybe you have. I haven’t worked for an ISV myself but back when I started working with AX I was handed the development BP document and I’ve tried to follow most of them when writing code. But BPs could be ignored and not implemented without… Continue Reading Adrià’s Article on...
Self-service deployments: the future is here
Right now Microsoft Dynamics 365 for Finance and Operations has an old style monolithic architecture, even it’s now in Azure’s cloud, what we really have is a single (or multiple for Tier 2+ environments) VM that runs everything: the AOS/IIS, Azure SQL Server, the Batch service, MR, etc. Exactly the same as AX 2009/2012. This is going to change in the coming months with the self-service… Continue Reading Adrià’s Article on...
Slow set-based operations?
In Microsoft Dynamics 365 for Finance and Operations we can execute the CRUD operations from code in two different ways, record-per-record or set-based. Microsoft’s recommendation is to always use set-based operations, if possible, as you can check on the Implementation Best Practices for Dynamics 365: Performance best practices for a successful Dynamics 365 Finance and Operations… Continue Reading Adrià’s Article on their...
Update to Visual Studio 2019 for #MSDyn365FO
Tired of developing in Visual Studio 2015? You feel you’ve been left and forgotten in the past? Worry no more, you can use Visual Studio 2017/2019 to develop Microsoft Dynamics 365 for Finance & Operations! What are the advantages? Absolutely none at all! Visual Studio will still go non-responding whatever the version is because it’s the dev tools extension what’s causing the issues. Of… Continue Reading Adrià’s...
Consume a SOAP web service in Dynamics 365 for Finance and Operations using ChannelFactory
If you ever need to consume a SOAP web service from Dynamics 365 for Finance and Operations, the first step you should take is asking the people responsible for that web service to create a REST version. If that’s not possible this post is for you. I’ll use this SOAP web service I found online at http://www.dneonline.com/calculator.asmx for the example, it’s a simple service-calculator with… Continue Reading...
Do you want to become a better X++ developer?
I’ve been a X++ developer for almost 10 years, that’s the 100% of my professional career, excluding internships. During these 10 years I’ve seen the product evolve and, in my opinion, the last three years with #MSDyn365FO have been the most exciting by far as I’ve said several times. The move from the notepad-like MorphX to Visual Studio, Azure DevOps and the asset upload and release… Continue Reading Adrià’s Article on...
Microsoft Business Applications Summit 2019
During the past week I attended the Microsoft Business Applications Summit (MBAS) with some of my colleagues at Axazure. It was my first time in an event like this and the experience has been wonderful and intense (and tiring). The event took place from Sunday to Tuesday and traveling from Madrid to Atlanta and back, including a 5 hour delay in Toronto and a 6 hour layover in Newark, in just 5… Continue Reading Adrià’s...
Override the default theme per company (proof of concept)
At this point I’m 99% sure almost all of us have been asked the “can we change the theme color to the one of our company/brand?” question. While this is unfortunately not possible what we can do is defining a different theme for each company. This is just a proof of concept. I still haven’t managed to successfully change the theme when the DataArea is changed using the company list. The… Continue Reading...
Using Azure Application Insights with MSDyn365FO
First of all… DISCLAIMER: think twice before using this on a productive environment. Then think again. And if you finally decide to use it, do it in the most cautious and light way. Why does this deserve a disclaimer? Well, even though the docs state that the system performance should not be impacted, I don’t really know its true impact. Plus it’s on an ERP. On one in which we don’t have… Continue Reading...
Generate number sequence values from REST services and OData
One of the options to integrate MSDyn365FO with external systems is using the data entities with REST services and OData. To use OData the entity must have its IsPublic property set to Yes: Otherwise, if it´s an standard entity, we´ll need to duplicate it because it´s not possible to change the property value in an extension. If we´re doing an integration with an external system using… Continue Reading Adrià’s Article on...
Dynamics 365 for Finance & Operations and Azure DevOps (part II)
In the first part of this post I wrote about Azure DevOps value and how to set it up in MSDyn365FO. I want to start this second part with a little rant. As I said in the first part, those who have been working with AX for several years were used to not using version-control systems. MSDyn365FO has taken us to uncharted territory, so it is not uncommon for different teams to work in different… Continue Reading Adrià’s...
Dynamics 365 for Finance & Operations and Azure DevOps (part I)
One of the major changes we got with Dynamics 365 has been the mandatory use of a source control system. In older versions we had MorphX VCS for AX 2009 and the option to use TFS in AX 2009 and AX 2012 (and there’s training available about this on El rincón Dynamics, in Spanish), but it wasn’t mandatory. Actually, always from my experience, I think most of projects used no source control… Continue Reading...
Unresponsive builds in Azure DevOps
It is possible that after queuing a new build, the job won’t start. It won’t be possible to cancel it either, and nothing will change after rebooting the build server VM. This can be an unusual case but it’s not something impossible. The build server Even though the build machine is exactly as a developer box it really isn’t. It has Visual Studio installed in it, the AosService folder… Continue Reading Adrià’s Article on...
The mystery of the non-filtering query
There’s no mystery here but a misperception. Recently, a colleague found a little issue when using an AOT query to feed a view with a range dynamically filtered using a SysQueryRangeUtil method. Recreating the issue The query is pretty simple, only showing ledger transaction data from the GeneralJournalEntry and GeneralJournalAccountEntry tables. A range in the Ledger field from the… Continue Reading Adrià’s Article on...
Setting up Release Pipeline in Azure DevOps for Dynamics 365 for Finance and Operations
Let’s go… Some weeks ago, the release pipeline extension for #MSDyn365FO was published in Azure DevOps Marketplace, taking us closer to the continuous integration scenario. While we wait for the official documentation we can check the notes on the announcement, and I’ve written a step by step guide to set it up on our projects. To configure the release pipeline, we need: AAD app… Continue Reading Adrià’s...