Microsoft 365 add-ins blocked

Today one of ´my colleagues had an issue on her customer laptop. The issue was that she was not able to use the “Open in Excel” funcitonality in Dynamics 365 for Operations and Supply Chain. Apparently someone had blocked the Office addin that was required to make it work.

There are 2 options to handle this… the easiest (and less secure) option is to allow the user to run and install Office Addins. The setting resides in the Office Admin Center and requires an Admin to change it. If some one has disabled it, go the Office Admin Portal – Setting – Org Setting – User owned apps and services and enable “Let users access the Office Store”

The second option is to provision the specific apps to the users that need them. This is also done by an admin in the Office Admin Portal.

In the Office Admin Portal, go to Settings, Integrated Apps and click Add-ins

Click Deploy Add-in

Click Next

Click Choose from the Store

Seach for Dynamics and click Add next to the Microsoft Dynamics Office Add-in

Click Continue

Now you will get the option to set which users will get the add.in deployed. You have the options of Everyone, an Azure AD Group (preferred) and just you. The last option is used for testing and you will later in the wizard get the option to change.

Note: If you are logged in ad Global Admin, that is the user that will get the add-in. You should preferably not use your “regular user” to manage your organizations infrastructure. If you are curious, google Tiering…

Verify that your deployment was successful

You are now done. If everything works, now you get another option to assign which users should get the app.

You can click on the add-in and adjust the deployment scope.

That is it… Good Luck

Links
Prevent add-in downloads by turning off the Office Store across all clients (Except Outlook)
Deploy add-ins in the Microsoft 365 admin center

Cost for Azure Hosted Build Pipelines

In Dynamics 365 For Finance and Supply Chain we rely heavily on Azure DevOps for managing aspects of our projects, especially development and deploying packages.

Today a customer told me that they hit the roof on the free/included alotment for parallell build in Azure Hosted Pipelines. They wanted to understand what it had been used for. I found a very handy new preview feature called Historical Views for Pipelines.

To turn it on you you click on the settings icon in the top right corner and click Preview Features. The feature can be turned on for single users or entire organizations.

This feature will help you understand your usage.

The first thing you need to in order to purchase more parallel jobs is to set up billing for your Azure DevOps organization. Go to Organization Setting – Billing. The billing options are the same ones that you are using for “regular” Azure.

After you have set up billing, go to Organization Settings – Parallel Jobs and select Purchase Parallel jobs.

The pricing for additional paralell jobs are $40/month which gives you 1 paralell job with unlimited minutes.

Links
Historical graph for agent pools – Azure Pipelines | Microsoft Docs
Microsoft-hosted agents for Azure Pipelines – Azure Pipelines | Microsoft Docs
Configure and pay for parallel jobs – Azure DevOps | Microsoft Docs
Manage preview features – Azure DevOps Services | Microsoft Docs
Set up billing for your organization – Azure DevOps Services | Microsoft Docs
Azure DevOps Services Pricing | Microsoft Azure

Uppdating the e-Commerce solution in Dynamics 365 FO

A while ago Microsoft launched an e-Commerce platform for Dynamics 365 and they keep release updated versions in line with the OneVersion vision. Since I have not had the opportunity to work a lot with the solution I thought I would write down some learnings… if nothing else for myself. In this article I will look at how to update.

The first step is getting the update from Microsoft. As usual we start in the Asset Library. From the D365FO environment page click Manage to go to the Management console for e-Commerce.

Select the e-Commerce tab

Go to the Assett Libabry

Go to e-Commerce Packages and click Import

On the Import screen, note that all of the packages have notification marking the mail FnO version. Choose the latest package with your FnO version and click Pick.

When you are back in LCS, select the imported package and click Release Candidate

Once the package is set to Release Candidate it will show up in package deploy of the e-Commerce Management. To deploy it, click Apply Extension

DMF not creating new project

I had a question today regarding a user that, when she tried to create a new Import project in the Data Management Framework, she ended up in an old existing project.

We tried to clean out usage data and also restarted the server and browser to clear potential cache issues.

Another colleague told me that the issue is relates to saved views… and low an behold, when changing the standard view to be the default it all worked again.

Warning:[DWCE0001] Export was skipped. Max lookup count supported in Initial Sync stage is 10. Current lookup count 11

Today I was setting up the Dual-Write sync for one of my customers and I bumped into this error message:

Warning:[DWCE0001] Export was skipped. Max lookup count supported in Initial Sync stage is 10. Current lookup count 11

The issue here is that there is a limit in DataVerse that (I would guess) for performance issues there is a hard limit on a maximum of lookup fields.

In our case we had these fields in the default mapping for Customer V3 -> Account using lookup:

transactioncurrencyid.isocurrencycode
msdyn_customergroupid.msdyn_groupid
msdyn_billingaccount.accountnumber
msdyn_paymentday.msdyn_name
msdyn_customerpaymentmethod.msdyn_name
msdyn_paymentschedule.msdyn_name
msdyn_paymentterm.msdyn_name
msdyn_vendor.msdyn_vendoraccountnumber
primarycontactid.msdyn_contactpersonid
msdyn_salestaxgroup.msdyn_name
msdyn_company.cdm_companycode

The workaround is to remove one of the problematic mappings, do the initial sync and add it back. Remember to take a screenshot of the mapping that you are removing so you can put it back exactly the same.

Missing Warehouse app step instructions in D365FO

This week we have been having an issue with the warehouse at a customer. We are in the process of rolling out a new Legal entity and when moving the Legal entity to a new environment using DMF we noticed that the Warehouse app step instructions stopped working and was replaces with very cryptic labels

This issue was not present in the environment we used to set up the legal entity, but rather it occurred when we moved it.

Turns your enabling the feature (Warehouse app step instructions) sets the default steps in all existing Legal Entities but if we create a new one they are not.

To create these in a new legal entity we need to click “Create Default Steps” in the Mobile Device Steps module.

There is also no data entity for moving mobile device steps from one environment to another which might be a good idea for future improvement.

That is all for today

Finding the PC name of a POS register

In my previous post I showed you how to get the installed version of the POS software on each register. In some cases you might need to manually update this if the update has not worked correctly you will need to connect to the actual PC (or even go on site).

Unfortunately the information in D365FO does not contain the computer name. To get the computer name we need to look in LCS Telemetry. The only value I found to map between the export from D365FO and LCS is Physical Device ID. In order to be able to match the two Excel spread sheets we will need to add the field Physical Device ID to the Export from D365FO.

To export telemetry from LifeCycleServices, Log into LCS, select the environment you are looking at and click in Environment Monitoring.

The maximum number of loglines is 5000 and in order to see what we want to see we will need to limit the results a bit. First of all set Query Name to Retail Channel events. Select a time interval (10 days or so) and set log source to Retail Modern POS. To further limit the results the query return I add 1018 on the search terms. Export the information by clicking Export Grid.

Copy the entire sheet and paste it into a second tab in the D365FO Excel. Name the two tabs D365FO and Telemetry. In the Telemetry tab go to Data and click Remove Duplicates. Click Unselect All and then choose the Role Instance column and click OK.

In the D365FO tab, choose the first cell in the first empty column and paste the following in the formula field

=XLOOKUP(LEFT([@[Physical device ID]];25);Telemetry!Q:Q;Telemetry!G:G;;-1)

Note: You might need to adjust the Column name at the start of the formula in order to fit your export. The columns pointing to the Telemetry tab should be OK if you keep it standard. Fill all the cells in the columns with the same formula. This should add the PC Name to the Excel.

That is it for today 🙂

Article: DynamicsCon Fall 2021 Preview: Why microservices matter to the future of Dynamics 365 for Finance and Operations

Microsoft Dynamics 365 for Finance and Operations (D365FO) is Microsoft’s latest iteration of their flagship ERP system that used to be called Dynamics AX (and before that Axapta). Over all those years of software evolution, the ongoing goal has been to build a modern ERP system that is easier to support, maintain, and innovate on with new types of application development.

With D365FO, Microsoft has introduced many important changes that modernize the ERP experience and make it more attractive to customers. Key differences from the AX era include a new model for development, a One-Version policy for periodic updates, and an evolving approach to adding features to the ERP system.

For those of you who are already using D365FO, you have probably noticed feature management, where new features appear after updating to the latest version. Most new features represent new or improved capabilities that are based on what was already in the product, but sometimes a large new feature appears that provides a significant new tool or something that has been totally rebuilt from scratch.

When Microsoft create these large changes, they are probably thinking (I do not work for Microsoft so I cannot be sure) “Should this really become part of the core product?”. There are some historic examples of this type of decision making from the product team: The retail components in Dynamics AX 2012, integrations in AX moved to an external integration platform, and using SSRS instead of a built-in reporting engine.

Today, Microsoft are continuing to move traditional features out of D365FO and deploy modernized versions of them as cloud services that are accessible from the core ERP with APIs. The first one that became available was resource planning. The built-in MRP functionality has been deprecated and completely removed from the core product and it is instead available as a plugin to install from LCS. Another example is the configuration of exports to Data Lake (which will replace the Entity Store). In fact, Data Lake and Dataverse are an integral part in other microservice integrations.

A lot of these services are in preview now and will soon be available. A few other examples include Finance Insights, Tax Calculation, Electronic Invoicing, and Expense Management. I suspect we will be seeing a lot more of these in the future.

There are many reasons to why this change is happening right now. When Microsoft “moved” AX to the cloud, “AX7” was mostly Dynamics AX 2012 R3 with a web interface. In the five or so years since then, we have seen a lot of change. The entire architecture has changed from a traditional on-prem software stack with a database and a Win32 frontend to a containerized solution with near zero-downtime maintenance. In order to improve the product even more, reduce the complexity, increase performance, and improve resilience to developing customizations, Microsoft are building a more modularized solution that scales better and does not affect the speed of the core product. We see this clearly in MRP where a resource planning job that used to take multiple hours now finishes in 15 minutes.

Another upside of this design is that these services can be updated without having to “respect” customizations made by customers and partners outside of Microsoft’s control. With just a lightweight interface for all parties to respect, Microsoft is free to iterate even faster than the monthly cadence of One-Version.

We are also seeing customers and ISV vendors using the same methodology when building code… “If it doesn’t need to be in the ERP system, we should probably move it out”. If you look in Microsoft Azure, you will also notice that there is a whole slew of services available for building these modular solutions.

If you want to learn more about these services, why they exist, how to use them and whether you can build your own; please register for DynamicsCon and see my session called “Why Micro Services in Dynamics 365 for Finance and Operations”. I will be there for the session and of course to answer all your questions.

The article was originally posted in MSDynamicsWorld on Aug 20:th 2021

Build Pipelines with D365FO version 10.0.21

Hi all

Yesterday Microsoft released the PEAP version of 10.0.21 and on the new VM images they have decided to update a whole lot of stuff (Yay!!).

The new VMs are based on Windows Server 2019, SQL Server 2019 and Visual Server 2019 which means that your existing pipelines in Azure Devops will not work any more if you do not do some minor changes. I basically made some adjustments to this article by Joris de Gruyter and added a final step to mitigate a SQL server issue

  • In the Build Solution change MSBuild Version to MSBuild 16.0
  • In the Database Sync step change MSBuild Verson to MSBuild 16.0
  • In the Execute Tests step change Test Platform version till Visual Studio 2019
  • In the script “C:\DynamicsSDK\DeploySSRSReports.ps1” on line 127, change
    Restart-Service -Name “ReportServer” -Force
    to
    Restart-Service -Name “SQLServerReportingServices” -Force
That´s it... the SQL issue will most certanly be fixed in the released version of the VMs        

Links
Updating The Legacy Pipeline for Visual Studio 2017 (codecrib.com)

Fixing: The model version ‘3.6’ is not supported

When doing a refresh today of one of our D365FO Dev environments I encountered an issue that puzzled me a bit. I ran the following script to import the BacPac file:

cd C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin

SqlPackage.exe /a:export /ssn:<server>.database.windows.net /sdn:MyNewCopy /tf:D:\Exportedbacpac\my.bacpac /p:CommandTimeout=1200 /p:VerifyFullTextDocumentTypesSupported=false /sp:<SQLAdmin password> /su:sqladmin

At first it was not able to find the folder 140\DAC\bin but there was a folder called 130\DAC\BIN

Unfortunately this SqlPackage file was too old to handle the BacPac file.

First I tried to update Management Studio… unfortunately that did not help. After researching a bit online I found Microsoft® SQL Server® Data-Tier Application Framework (18.2) which installed a later version of SqlPackage in C:\Program Files\Microsoft SQL Server\150\DAC\bin. That did the trick.

Links:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=58207