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.

Azure AD and Elevated Access

Today one of my colleagues contacted me around help with Authenticating his LCS project with our Azure AD. He had created his own subscription since he had no access to out top level tenant. When I went into the Azure Portal to look for the subscription I was not able to find it, which was a bit strange since I have the Global Admin Role.

Doing some research I found that there is something called Azure Elevated Access which is sort of UAC for Azure AD. This mean that even if you have Global Admin Access you will not be able to see everything you do not have specific access to. You will need to elevate your permissions in order to see everything.

This can be very useful in order or get access to subscriptions created in your Azure AD tenant that was created by someone else, maybe even someone that has left your organization.

In the Azure Portal, go to Azure AD. Select properties in the left side menu. At the bottom of the page there is a toggle switch called Azure Management for Azure Resources. While the switch is set to yes you are able to override permissions and set new ones.

Remember to set it back when you are done…

Links
Elevate access to manage all Azure subscriptions and management groups | Microsoft Docs

Missing Azure Subscriptions

Today one of my colleagues set up a new subscription in Azure and sent me a link to it. When I tried to access it through the link everything worked but when I tried to find it in the Azure Portal I did not see it:

There should be three subscriptions here… After fiddeling around with the filters without success I resorted to some Google research. It turns out there is Über-Mega Filter called the Global Subscription Filter that you find here:

When clicking it, I found the missing subscriptions

Once this was checked I was able to see the missing subscription in UI in the Azure Portal.

User Access issues to Synapse Serverless Views

I just set up the CDMUtil for a customer to let them access Dynamics 365 for Finance and Operations Data, exported to a DataLake, through a serverless instance in Synapse. The customer had added a new user and got an error which vas not perfectly logical

Msg 15151, Level 16, State 1, Procedure CustTable, Line 1 [Batch Start Line 0]
Cannot find the CREDENTIAL 'dynamics365_financeandoperations_XXXXXXXX_sandbox', because it does not exist or you do not have permission.
Msg 4413, Level 16, State 1, Line 223
Could not use view or function 'dbo.CustTable' because of binding errors.

The issue was obiously a permission issue… but where??

When we added an earlier user we set up a Role in SQL that had read access to the SQL DataBase. When we added the user to that role it started working… The confusing part was that the error message did not mention the new user anywhere.

When you set up the Synapse connection to Data Lake and FnO… Make sure you add the correct permissions to new SQL-Native users using TSQL in Management Studio.

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 🙂