Peripheral Simulator in new release of Dynamics 365 Operations

With one of the latest releases of Dynamics 365 Operations we have the option of simulating hardware peripherals like printers, cash drawers and so on.

The idea is to allow the user to simulate the flow of the retail processes including printers, drawers, scales, payments and so on but without having to occupy your co-workers desk piling up all of your retail hardware.

Here is what you need to do. Start by going to the hardware profiles. In the demo data a new profile has been added called Virtual. It has been set up with a profile that will work pretty much out of the box.

Besides the data a new button has been added allowing the download of the simulator:

hardware-profile-and-download-button

The simulator download hasn’t received the prettiest name, but that aside it is working great.

peripheralsimulator

The installer is very much a next-next-next installer and does not require any action taken unless you have specific wishes regarding installation folder.

Once installed you get this new application:

retail-peripheral-simulator

Already at this point we get an idea of what to expect. But before getting everything up and running you need to do a couple of more things.

First, we need to tell the store that the hardware station should use the new hardware profile:

hardware-profile-o

Run your 1070 and 1090 jobs (depending on which setup changes you made).

Now, starting up the POS you might end up with a series of hardware station errors that could look something like this:

hardware-station-error-3hardware-station-error-2comm-error-cash-drawer

To get passed this we should shortly touch upon how this works. According to the hardware profile we are using all communication is OPOS based so we need to get that onboard our POS machine as well. I used this one that previously was recommended during the installation of the POS software: Link to OPOS software

With that done you should be ready to start up your POS. You might have to manually go in and enable the use of the hardware station.

So first test could be a safe drop. In this case I pull out 10 USD:

make-safe-drop

That leaves a safe drop receipt in the printer:

safe-drop-receipt

And the drawer needs to be closed again:

cash-drawer-open

Click the Close drawer button to close it:

cash-drawer-closed

Let’s sell something. In this case a shirt:

transaction

I would like to pay this with a credit card so I switch to my simulator and select the MSR.

no-card-created

Click the + button to create new card:

create-master-card

The number is found on this page: credit card generator

Next step is to click the Pay card button in the POS followed by the Swipe card button in the Simulator. This adds the card info to the tender information in the POS:

card-details-in-pos

Completing the transaction you get a receipt in the printer:

receipt-from-transaction

This will definitely change the way we make demos of the POS with Dynamics 365 Operations.

 

Running the CRT samples on AX7

The RetailSDK delivered with AX7 includes a lot of great sample code making it easier to get things rolling when learning how to customise the solution.

One of the sample projects is the CommerceRuntimeSamples. Before you are able to run it you need to do a couple of tweaks though. If not it will crash and burn with error messages that do point you in the right direction on how to fix it. This blog post is made to safe you some time and getting it fixed without having to go troubleshooting.

The first error that pops up is this one:

operatinguniterror

A configuration error in the Microsoft.Dynamics.Commerce.Runtime.dll. The reason is that it cannot find the right Operation Unit Id. It is specified in the commerceruntime.config and all you have to do is put in the operating id of the channel you would like to work with. In this case I use Houston, which has the id 039:

operating-unit

Next is this error:

storageerror

A storage exception in the same dll and same piece of code. This time we have to look in the app.config file. In here we have a list of connection strings that all point at database names as they appeared in AX 2012 Retail. In AX7 demo servers all data for all channels is in the AxDB database so the fix is to change the database names in the connection strings to AxDB:

catalog-db-name

Now you are able to run the samples and start debugging to learn.

debugactive

 

 

No icon on buttons in LCS or AX7

In LCS or New Dynamics AX you might have noticed that you have buttons missing their icon/image. It looks like this:

The solution is really simple. Add the sites as trusted sites and you’re good.

Open Internet Options in your browser and go to the Security tab. Select Trusted sites and click Sites:

internetoptionssecurity

Add the current site to the list:

trustedsites

You’ll need both LCS and AX on the list to keep them both looking good.

Lifecycle Services and Azure Resource Manager – First bump on the road…

We have been using Lifecycle Services (LCS) for hosting environments for both AX 2012 and AX7 (sorry, New Dynamics AX) so it was somewhat a trivial task deploying new servers. Until we met Azure Resource Manager, that is. Adding servers to an old project ended up giving us this error message:

Lifecycle Services can’t connect to the Azure subscription using Azure Resource Manager. Click the Microsoft Azure Settings button and edit the selected Connector to provide the required permissions to ERP applications in your Azure subscription.

Error_message

The fix is fairly simple. Go to the Azure connector in your project. You’ll find it in the Project settings. Select it and click Edit. What you need to do is to flip this one to Yes:

Project_Flip_This

It will then lead you through a couple of steps regarding your management certificate and how you need to download it and upload it to the Azure Portal. No need to worry about that because you already did that when you created the connector so just click Next.

You could then end up with another obstacle in the form of missing rights on the Azure tier:

Project_Need_To_Add_Role

Go to Azure Portal and go to your subscription. Click this button to do add access:

Azure_Add_Access_Add

The following is pretty straight forward. Select a role and select the user:

Azure_Add_Access

Azure_Add_Access_Select_User

Azure_Add_Access_User_Done

Going back into LCS and click Next might present you with the same error like above with the Dynamics Deployment Service needs access but hang in there. It seems like there’s a bit of delay, so just give it another go after a minute or two.

As soon as your connector has been updated you’re good to go and can deploy the server.

Test access to Retail server on The New Dynamics AX

Just a quick heads-up on a feature allowing you to test the access to the Retail server in The New Dynamics AX.

From a browser open the site:

https://<my server name>ret.cloudax.dynamics.com/healthcheck?testname=ping

It shows you a ping test result looking like this:

RetailServerTest

If you need the results in a more developer-friendly format you can add a &resultFormat=xml which gives you something like this:

RetailServerTestXML