D365FO Data Entity Metadata
Sep07

D365FO Data Entity Metadata

I’ve written about D365FO data entities in the past and have had the opportunity to use them extensively from a ISV and consulting perspective. While working with them I have found myself at different times wanting to have a centralized source of information surrounding their metadata, the data sources used (both root data source and all data sources), and if there was a way to see… Continue Reading Alex’s Article on...

Read More
Import Number Sequences via Data Entity
Aug21

Import Number Sequences via Data Entity

Overview Number sequences are used to generate readable, unique identifiers for master data records and transaction records. These sequences are normally one of the first things set up after a legal entity is deployed. When either implementing or migrating these number sequences between environments you can utilize either the ‘SequenceTables’ or ‘SequenceV2Tables’ data entities to help with… Continue...

Read More
Warehouse Mobile Device Security Overview
Aug07

Warehouse Mobile Device Security Overview

The warehouse mobile app is a way for end users to have external devices (such as RF guns) to interact with D365FO to improve efficiency with warehouse tasks. I recently had the opportunity to do a deep dive into how this functionality was secured and wanted to give an overview and then a set of best practices for securing it. Warehouse Mobile App Overview Here is an overview of the setup and… Continue Reading Alex’s...

Read More
Apply Environment Update to D365FO via Command Line
Jul11

Apply Environment Update to D365FO via Command Line

Following up on my previous post about deploying a local VHD of D365FO, I wanted to show how you can then update your environment when Microsoft releases newer versions. The first step is to download the update deployable package from LCS by navigating to the Shared Asset Library: Then navigating to the ‘Software Deployable Package’: Now download the deployable package update that you would… Continue Reading...

Read More
Step by Step Guide to Deploy a Local VHD of D365FO
Jul05

Step by Step Guide to Deploy a Local VHD of D365FO

There are two main ways to deploy D365FO for development and testing purposes, the more streamlined way is to deploy a preconfigured environment via LCS. While this is extremely straightforward it does incur Azure costs as the resources (virtual machine, networking, storage, etc) are deployed within your Azure instance. The other option is to deploy these resources locally via a virtual hard… Continue Reading Alex’s...

Read More
How to Secure Form Fields Populated By Data Methods in D365FO
May15

How to Secure Form Fields Populated By Data Methods in D365FO

I have written in the past about using field level security to help secure sensitive information within your D365FO environment, but what if the field you want to secure doesn’t correlate directly to a SQL table field and instead is populated by a data method? Let’s see how you can still secure this!   Scenario Let’s say I want to secure the Bank Account Number field on the Vendors form, if I… Continue...

Read More
My First Microsoft MVP Summit
Apr24

My First Microsoft MVP Summit

Last week I got to experience my first Microsoft MVP Summit in person since becoming an MVP in November of 2019. It was great to see old friends and meet new ones (face to face!) in the Business Application for D365FO space. So many great sessions, information being shared, and connections being made! I wanted to share a few pictures from the trip and to let everyone know to keep an eye on… Continue Reading Alex’s Article...

Read More
Spring 2023 – Presenting at Upcoming User Group Conferences
Mar30

Spring 2023 – Presenting at Upcoming User Group Conferences

I’m excited to be speaking in-person at a couple upcoming conferences and sharing my knowledge and expertise! Here are two spring 2023 conferences I am speaking at! DynamicsCon Live! DynamicsCon Live! is being hosted in Scottsdale, Arizona from May 22nd – May 25th and looks to have an awesome line up of speakers and content! I am presenting two sessions at the conference, the first is D365FO… Continue Reading Alex’s...

Read More
Utilizing Telemetry Data Within D365FO
Mar28

Utilizing Telemetry Data Within D365FO

I’ve written before about the telemetry data now available in D365FO, but is there a way to consume this telemetry data within the application itself? Let’s see how we could do this! Problem Statement In our case let’s see if we could automatically disable users that have not logged in within the last 90 days. We should be able to query the telemetry data, see which users have logged in within… Continue Reading...

Read More
Potential Upcoming Licensing Changes in D365FO?
Feb21

Potential Upcoming Licensing Changes in D365FO?

Going off of recent posts where I was looking for things that have been upgraded recently, I noticed in 10.0.30 and 10.0.31 that there were some changes to the LicensingServicePlansPrivilege table within D365FO. I started noticing the ‘Activity’ license showing up in this table, which hasn’t happened before: This of course raises a lot of questions that I had to performing some testing to… Continue Reading...

Read More
Netmodule File Missing Error in 10.0.31
Feb17

Netmodule File Missing Error in 10.0.31

If you are partner, ISV, or anyone delivering custom code to end users in D365FO, there is a change in 10.0.31 that you need to know about. Issue If you have a customer that upgrades to 10.0.31 and the next time they try to check in a deployable package to their source control build pipeline and they get an error similar to ‘Netmodule file missing: Dynamics.AX.<module>.<number>.netmodule’ like… Continue...

Read More

Security & Audit Features Added in 10.0.31

The latest platform release notes for D365FO 10.0.31 has recently been made public, there were a couple security and audit related features I wanted to highlight. ‘Can Be Deleted From UI’ Security Role Property There is a new property on security roles called ‘Can Be Deleted from UI’. This setting controls where a particular security layer can be deleted via the D365FO user interface. The… Continue...

Read More

Interesting Issue With the SecurityUserRoleOrganization Data Entity in D365FO

Data entities within D365FO allow for external applications to interact with D365FO data. One data entity that I use both professionally and in my personal projects fairly regularly is SecurityUserRoleOrganization. This data entity is utilized to restrict a user role assignment to specific organizations within a D365FO environment. In most cases this is a legal entity or organization hierarchy… Continue Reading Alex’s...

Read More

Comparing Security Between D365FO Environments Solution Released

I’m happy to announce the public release of my ‘D365FO Security Comparison Utility’ available on my GitHub! Solution Download The solution download is available here: https://github.com/ameyer505/D365FOSecurityComparisonUtility/releases The source code for the application can be found here: https://github.com/ameyer505/D365FOSecurityComparisonUtility Overview of Solution Install the… Continue Reading...

Read More
Comparing Security Between D365FO Environments – Beta Solution
Dec14

Comparing Security Between D365FO Environments – Beta Solution

One complaint I hear quite often and a huge gap in the current D365FO offering from a security perspective is that there is not a good way to compare security between environments. This becomes especially difficult when upgrading to a new D365FO version or when wanting to confirm that no new security changes have been added between a testing environment and production along with many other… Continue Reading Alex’s Article...

Read More
Overview of Telemetry Data in D365FO
Oct31

Overview of Telemetry Data in D365FO

In the 10.0.30 release of D365FO, which went GA on Oct 21st 2022, Microsoft added the ability for customers to report on the telemetry data of their end users. I wanted to take a quick overview of this feature and start to look at opportunities to use this data. Prerequisites The telemetry data from Microsoft is stored in Azure Application Insights, so we have to create a resource for us to… Continue Reading Alex’s Article...

Read More
D365FO Extensible Data Security (XDS) Scenarios
Oct20

D365FO Extensible Data Security (XDS) Scenarios

I recently attended the Dynamic Communities North America Summit Conference and presented numerous sessions surrounding security and licensing in D365FO. One of my new sessions was around Extensible Data Security (XDS) and I was a little worried about such a technical session being put on the final morning of the conference. But I didn’t need to worry at all because I had a full room of… Continue Reading Alex’s...

Read More
How to Approach Advanced XDS Scenarios in D365FO
Oct03

How to Approach Advanced XDS Scenarios in D365FO

I’ve written about Extensible Data Security (XDS) in D365FO a couple times before, in those posts the XDS security policy is applied between two tables that have a direct tie to each other (ex: customers and customer groups). In this post, I wanted to show how you can use XDS even in scenarios where there isn’t a direct association or relationship between two tables. The Scenario The scenario… Continue Reading...

Read More
How to Identify and Options for Fixing Segregation of Duties and Licensing Issues in D365FO
Sep02

How to Identify and Options for Fixing Segregation of Duties and Licensing Issues in D365FO

There are many different options available to fix or address segregation of duties (SOD) and licensing issues in D365FO, I wanted to show the different options available so you can apply the best option for your particular scenario. Please note: The options provided for possible solutions are not a complete list of every possible way to address the issues With the scenarios below, if you are… Continue Reading Alex’s...

Read More
How to Handle Batch Jobs When Disabling or Deleting a User in D365FO
Aug11

How to Handle Batch Jobs When Disabling or Deleting a User in D365FO

I had someone reach out to me about the ‘right’ way to handle batch jobs when disabling or deleting a user from D365FO. Let’s look at the options you have to avoid any issues. Why This is an Issue Batch jobs within D365FO allow for a way to execute a set of instructions that can be scheduled to run on a periodic basis. These are used extensively to perform business calculations and because… Continue Reading...

Read More
How to Use a .NET Project Within a D365FO Solution
Jul07

How to Use a .NET Project Within a D365FO Solution

I wanted to write today about why I utilize .NET projects for certain scenarios when developing X++ solutions for D365FO. How Is This Possible? How is it possible that you can have two different project types under one solution? I actually wrote about the changes that were happening to the X++ compiler way back in 2017, the change we are most interested in is that X++ code now compiles and… Continue Reading Alex’s Article...

Read More
An Update to ‘Creating a Read Only Role for D365FO – User Interface’
Jun20

An Update to ‘Creating a Read Only Role for D365FO – User Interface’

I had a comment on one of my blog posts that Microsoft had updated the functionality that existed to help create a read only role from the D365FO user interface so I wanted to show how much easier it is to perform this process now. In my previous post, I showed how you had to manually manipulate an XML file and use regular expressions find/replace to achieve the desired security file to be… Continue Reading Alex’s Article...

Read More
Issue With FieldObject Method on DictTable Class in D365FO
Jun09

Issue With FieldObject Method on DictTable Class in D365FO

I recently ran into an interesting issue with using the FieldObject() method on the DictTable class when programming in X++ for D365FO. Scenario The scenario to replicate the issue is to create a DictTable object and then perform a fieldObject() method call on a field that doesn’t exist. According to Microsoft documentation, this method should return null if the object could not be created.

Read More
How to Grant Access to Navigation Modules in D365FO
Jun02

How to Grant Access to Navigation Modules in D365FO

A question I recently got asked was ‘Is there an easy way to grant access to different modules in the navigation within D365FO?’ I wanted to show how this can be done and provide some resources to hopefully help out! How is the Navigation Access Decided? Which navigation objects a user sees within D365FO is directly related to the menu items the user is assigned as the entries in the… Continue Reading Alex’s...

Read More
Segregation of Duties in D365FO
May03

Segregation of Duties in D365FO

I’ve referred to the Segregation of Duties (SOD) feature in Dynamics 365 for Finance & Operations before but haven’t really gotten into the specifics of the feature itself, what it allows you to do and the shortcomings/gaps. What is Segregation of Duties? The idea of Segregation of Duties (aka Separation of Duties) is that a single user should not be able to perform certain actions in a… Continue Reading...

Read More
Presenting at Upcoming Microsoft Dynamics Conferences
Mar01

Presenting at Upcoming Microsoft Dynamics Conferences

DynamicsCon (virtual) When: March 15 – 17th 2022 Price: Free Register Here Session Information: Common D365FO Mistakes and How to Avoid Them I am co-presenting this session with another Microsoft MVP Andre Arnaud de Calavon. In this session, we will demonstrate real-world common D365FO security mistakes that customers make, discuss why these actions can introduce risk into your organization,… Continue Reading Alex’s...

Read More
Comparing D365FO Security Between Versions
Feb22

Comparing D365FO Security Between Versions

A frequent request I get is with OneVersion updates in D365FO, how do we as end users know what security changes are occurring between D365FO versions? A fellow Microsoft MVP, Nathan Clouse, reached out to me asking about wanting to add the same information to his dynamics.fo website. He has dedicated this site to show changes that are occuring between D365FO versions. We decided to… Continue Reading Alex’s Article on...

Read More
How to Use Temp Tables as Grid Datasources for Data Analytics in D365FO
Feb01

How to Use Temp Tables as Grid Datasources for Data Analytics in D365FO

I was recently asked to find a way to perform some simple data analytics across some data within D365FO. In my case, this was audit data that could easily be millions of records so just exporting to an Excel file to do this was not really an option. Instead I wanted to build a simple form that would perform the analysis for me. Note: This could also be done very easily within a full data… Continue Reading Alex’s Article on...

Read More
Voting Now Open for DynamicsCon 2022 Sessions
Jan10

Voting Now Open for DynamicsCon 2022 Sessions

Voting has now opened for DynamicsCon 2022 sessions! I have submitted two different sessions and there are many more great sessions to check out and vote for! Be sure to get your votes in before January 19th 2022! Successfully Navigate D365FO User Licensing Do you find user licensing in D365FO confusing? Do you second guess the number and type of licenses you need? Are you worried you are… Continue Reading Alex’s Article...

Read More
Automated Solution to Find Table Relations in AX 2012 and D365FO
Jan04

Automated Solution to Find Table Relations in AX 2012 and D365FO

Problem For anyone that has dealt with creating queries in AX 2012 and D365FO, you know it can be extremely difficult to determine possible table relations between tables. To help with this Microsoft released an ERD for AX 2012 (this can still be used for D365FO), unfortunately they no longer maintain this project but do allow for others to host it themselves. This ERD helps to show the… Continue Reading Alex’s Article on...

Read More
Get Custom D365FO Objects at Runtime Using X++
Dec21

Get Custom D365FO Objects at Runtime Using X++

A while back, I asked a question on the D365FO forums about being able to generate a list of custom objects within an environment at runtime via X++. I never followed up on my answer there so I wanted to give a detailed response to how I ended up solving this. Before We Begin In the discussion on my initial question post it was brought up that you should be using a source control system (TFS,… Continue Reading Alex’s...

Read More
Restoring Deleted Security in D365FO
Dec15

Restoring Deleted Security in D365FO

Recently ran into an interesting scenario where an end user deleted a security layer from the user interface and wanted to restore it. This security layer was an out of box security layer so it existed in the AOT. Here is the process on how to perform this task. Note: The following process only works in the scenario that the security layer exists in the AOT and you remove it from the user… Continue Reading Alex’s Article...

Read More
Determine Where Form Data is Stored in D365FO
Dec08

Determine Where Form Data is Stored in D365FO

There are many scenarios in D365FO where knowing where data on a form is coming from is needed. A couple scenarios include trying to write custom reports or for tracking data changes using something like the Fastpath Audit Trail tool. There are a couple different options on how to accomplish this so I wanted to walk through them. I’ve written about a similar topic to this in the past, but… Continue Reading Alex’s...

Read More
Creating a Read Only Role for D365FO – User Interface
Nov11

Creating a Read Only Role for D365FO – User Interface

I previously wrote about how to create a read only role for D365FO via the AOT. A lot of users thought my use of the term ‘easy’ in the title was misleading, which I can’t really argue with, It does get slightly technical on how to create it. So I thought it might be a good idea to make this process a little more user friendly and make a read only role that anyone could import into their… Continue Reading...

Read More
Using TPF to Protect Sensitive Data in Grid Columns for D365FO
Oct27

Using TPF to Protect Sensitive Data in Grid Columns for D365FO

I’ve covered the topic of the Table Permission Framework previously but wanted to give an example of how it can be used for protecting columns within grids in D365FO. Scenario There is a form within D365FO that contains a grid that has a sensitive data within a particular column that you would like to hide from certain users and only allow users explicitly assigned access to see/interact with… Continue Reading Alex’s...

Read More
Presenting at Upcoming User Group Conferences
Oct05

Presenting at Upcoming User Group Conferences

I’m excited to be speaking in-person at a couple upcoming conferences. I am looking forward to seeing friends and other attendees again and sharing my knowledge and expertise! Dynamic Communities Summit North America October 12th – 15th | Houston, Texas Common Security Mistakes and How to Avoid Them In this session, we will demonstrate real-world common D365FO security mistakes that… Continue Reading Alex’s...

Read More
Creating a Zip File From Multiple MemoryStreams in D365FO
Aug30

Creating a Zip File From Multiple MemoryStreams in D365FO

I recently had a requirement to take many pieces of data from D365FO, create a CSV file out of each data piece, and then wrap these files in a zip file for easy downloading by an end user. In my case, the requirement was that all of the data should be held in memory (never written to disk). I wanted to show the process of how I achieved this. Test Scenario To show how I did this I will be… Continue Reading Alex’s Article...

Read More
How to Determine Compatible Deployable Package Versions in D365FO
Aug10

How to Determine Compatible Deployable Package Versions in D365FO

Working for an ISV, whenever we release a new deployable package I get questions surrounding its compatibility with a customer’s environment. When adding a deployable package to a shared asset library in LCS, the platform version and build information is shown: This informs the end user of the D365FO version used to build this particular deployable package. The question then is of course, is… Continue Reading Alex’s...

Read More
How to Apply Multiple XDS Policies to the Same Role in D365FO
Jul26

How to Apply Multiple XDS Policies to the Same Role in D365FO

I’ve written about XDS policies and how to apply them in the past, but what about the scenario where you want to apply multiple XDS policies to the same role in D365FO? How would you go about achieving that? Test Scenario For my test scenario, I want a role to only be able to interact with Customers and Vendors that have a group (CustGroup/VendGroup) equal to 10. Steps to Implement The first… Continue Reading Alex’s...

Read More
How to Apply D365FO Extensible Data Security Based on the Current User
Jun21

How to Apply D365FO Extensible Data Security Based on the Current User

I have written in the past about Extensible Data Security (XDS) in D365FO, it has been one of my most popular posts. I often get questions about it, but one that I get quite often is wanting to apply XDS based on the current user. The use case is something along the lines of: ‘I only want a user to see sales orders/vendors/customers they created’ ‘Users should only see records where they are… Continue Reading...

Read More

Understanding Microsoft Dynamics 365 Product Naming

< div class=”et_pb_section et_pb_section_0 et_section_regular”> <div class=”et_pb_row et_pb_row_0″> <div class=”et_pb_column et_pb_column_4_4 et_pb_column_0 et_pb_css_mix_blend_mode_passthrough et-last-child”> <div class=”et_pb_module et_pb_text et_pb_text_0 et_pb_text_align_left et_pb_bg_layout_light”> <div class=”et_pb_text_inner”>There is a lot...

Read More
How to Fix Broken Security References in D365FO
Jun03

How to Fix Broken Security References in D365FO

If you have used the Security Configuration area within D365FO to remove security layers in the past, you may have noticed that there are certain security features that still show these removed security layers. To demonstrate this we will be utilizing the Security Diagnostics feature for this blog post. For those that may not know, this feature allows you to see all roles, duties, and… Continue Reading Alex’s Article on...

Read More
The Impact of Multiplexing on User Licensing in Dynamics 365
May25

The Impact of Multiplexing on User Licensing in Dynamics 365

Blog Post Co-Writer This blog post was written in conjunction with Matthias Leplae. He reached out to me inquiring about my past D365FO licensing blog posts and asked why I hadn’t written about license multiplexing and to be honest it was a topic I knew about but had stayed away from because of the complexity of it. Luckily Matthias helped with this tough topic and helped write/edit the post… Continue Reading Alex’s...

Read More
Beta Release of D365FO Security Role Test Workspace
May19

Beta Release of D365FO Security Role Test Workspace

I recently posted a video of a new project I have been working on to help with security testing in D365FO. I am now ready to officially release the D365FO Security Test Workspace solution in a Beta state for testing and feedback so I wanted to give an overview of how it works, how to set it up, and the features it offers. Microsoft’s Answers to Security Testing In AX 2012, the Security… Continue Reading Alex’s...

Read More
How to Allow Non Admin Users to Access Security Features in D365FO
May03

How to Allow Non Admin Users to Access Security Features in D365FO

I’ve written in the past about different security features that are native to D365FO, but in most cases these features require elevated privileges or even the System Administrator role to be accessible. But is there a way to grant these security features to normal users? Page Options -> Security Diagnostics The Security Diagnostics feature on a form allows for a user to determine which roles,… Continue Reading...

Read More
D365FO User Licensing Update April 2021
Apr06

D365FO User Licensing Update April 2021

In the past, I have talked about that there are two separate licensing mechanisms in D365FO: entry point and privilege based. I have recently found that there is a third… the Dynamics 365 Licensing Guide itself. Dynamics 365 Licensing Guide This is an almost 60 page document that Microsoft releases on a semi-regular basis and gives the overview of how to license Dynamics 365, the most current… Continue Reading Alex’s...

Read More
Why You Need To Be Careful When Using The MetadataSupport Library For Enums in D365FO
Apr02

Why You Need To Be Careful When Using The MetadataSupport Library For Enums in D365FO

I have used the MetadataSupport library in X++ to help get metadata information for tables, menu items, and data entities in the past. I have also used it for enums but recently found an issue when dealing with enum extensions. I initially wrote the logic to get enum metadata information like this: Which seems to work just fine, until you find an enum that contains a base enum extension, for… Continue Reading Alex’s...

Read More
Should You Apply Company Restrictions to All User Roles?
Mar29

Should You Apply Company Restrictions to All User Roles?

One security issue I’ve seen in D365FO, especially from those that have updated from AX 2012, is the idea that company/legal entity restrictions only need to be applied to the System User role and no other roles assigned to a user. What is the rationale behind this? What issues arise if this is done? And what can be done to address this? Why Apply Company Restrictions to Only the System User… Continue Reading Alex’s...

Read More
Getting Table Field Information for Form Entry in D365FO
Mar15

Getting Table Field Information for Form Entry in D365FO

There are many instances where you need to know exactly which table field is tied to an entry on a form: Interested in applying table field level security Want to turn on some type of audit trail tracking So how do we go about doing this? Right Click -> Form Information The easiest method I have found is to right click on the form field (or in some cases the form field label) and going to… Continue Reading Alex’s...

Read More
Comparing X++ vs .NET Performance and Memory Usage on Large Collections
Mar10

Comparing X++ vs .NET Performance and Memory Usage on Large Collections

After taking a little hiatus from writing I have a backlog of things that I need to catch up on for my blog. The first is a scenario I ran into recently while helping clients and has to deal with X++ and .NET performance and memory usage differences. Some Background Information To set up this scenario, within the Fastpath application (an external SAAS-based .NET application hosted in Azure)… Continue Reading Alex’s Article...

Read More