In this post, I would like to draw your attention to RetailCdxSeedData class.
The RetailCdxSeedData class is called when you trigger the following option in Dynamics 365 for Operations
Retail and commerce->Headquarters setup -> Retail scheduler ->Initialise retail scheduler
If you have added some custom tables that need to be synced between your HQ and Channel Database using CDX (Commerce Data eXchange), then you should customize the RetailCdxSeedData class to include the custom tables. If you do not not customize the RetailCdxSeedData class, you will need to do the CDX table mapping manually in all the environments and in every DB refresh and increasing the chances of missing out some fields if you have a lot of tables.
Please refer the following link from Microsoft on how you can customise this class with an extension.
If you decide to refactor or rename a Commerce Runtime (CRT) entity (lets say OldEntityName to NewEntityName) inheriting from CommerceEntity, one issue that I have faced is in Retail Server extension assembly the build fails with errors due to the RetailProxy classes relying on the definition of your old entity name.
Example of the error messages that you would see in this scenario are as follows-
Could not load type OldEntityName from assembly… and the command ‘bin\CommerceProxyGenerator.exe’ ..
The solution to this issue is a little tricky one. You need to compile the CRT data dlls keeping the OldEntityName in the References folder.
You need to then comment any reference to NewEntityName in the Retail Server Extension assembly. Then do a clean and a build of the solution.
If this succeeds with no errors, you can now go ahead to uncomment all references to NewEntityName in the Retail Server Extension assembly.
<Update>This article is based on 7.1 Retail SDK </Update>
Note – This issue occurs only on few POS models so you may or may not face this issue. I do not have a list of models that have this issue, though I have experienced this on a HP RP9 POS and on D365FO 7.1 Retail SDK
When trying to scroll through MPOS using touch gesture, in the views that have a grid (examples Tender Declaration, Show Journal, Product Search) you may experience the screen layout on the row you touch, getting out of alignment with the remaining rows and the screen freezes with no further response to touch gestures.
A workaround is to use a mouse instead of touch for scrolling but obviously this can only be a temporary arrangement.
In my recent Dynamics 365 for Operations implementation on 7.1, we encountered an issue with MPOS switching to offline randomly . MPOS as we know switches to offline either when triggered manually or when the switch is seamless (automatically) when there is any issue in the communication between MPOS and D365 Retail Server, an example is a network interruption (for more information on the overall Retail Topology do refer this link MPOS Technical Architecture)
In a usual scenario, when an interruption occurs in between a transaction, cashier would get an error message the Cart State has changed. The cashier would need to void the transaction and then start all over again and end with creating an offline transaction (Not the kind of experience you want when you have a queue of customers at the billing). Another issue that coupled with this was that the MPOS logo would not switch from offline to online when the MPOS mode switched.
Make sure you uptake following binary hotfixes as soon as you can if you have enabled MPOS in offline mode
KB 4049328 – MPOS offline logo issue
KB 4058723- Set of reliability fixes for POS Offline
Also include the following X++ hotfix which complements the above binary fix
KB4058724 – Set of reliability fixes for POS Offline
This post is meant for anyone starting to explore Dynamics 365 for Operations Retail. I have included some of the resources that I have found very useful. In this video I will take a quick look at the following resources
1. The first link is the landing page on Retail on the Microsoft documentation portal docs.microsoft.com
This article is the outcome of a shared session with credit to my friend Vishal Kohli .
While creating a new store in the store master in Dyn365FO, you may face the following error.
“Cannot create a record in Global address book (DirPartyTable). The record already exists.”
The issue is that the operating number keyed is already existing in the system. Therefore you need to make sure you key in a number that does not already exist. The error message can be a little confusing in this regard, which is why I thought this warrants a post.
Note -You are most likely to face this issue when your operating unit number sequence is configured as Manual.
If you are on Dynamics 365 for Operations 7.1 and planning to uptake the latest set of binary hotfixes, expect to see the above error when trying to activate MPOS.
Sergey from Microsoft has described the change that is triggered by binary hotfix KB4051347 in below link in great detail. Just one note though if you are on 7.1 you will not find the event ID 40619 in the event viewer. Its only available 7.2 onwards.