Monday, February 27, 2017

Modern POS Offline Service stuck in stopping status


If you run into a problem where you're trying to stop the Modern POS Offline Sync Service, and it's stuck in "Stopping" status. Then there is another way to completely stop this service using command prompt. The first command we want to type is sc queryex DynamicsRetailModernPOSOfflineSyncService.

You might wonder where the heck did I get that service name from? You can find that out by going into your offline service, right-click and click properties and you should be able to see your service name. After executing that command you should find what's the PID for the offline sync service. The next command we need to run is taskkill /f /pid <PID>. The PID changes over time so make sure to run the first command so you don't end up killing a random service. If you did it correctly you should get a message of "SUCCESS" and the service should be completely stopped. You can check by refreshing your services window.



Friday, February 24, 2017

Can't Close Shift in mPOS Error

I ran into an issue today and finally found a solution so I want to make a post about it just in case if someone else run into the same problem.  The issue I was having was I wasn't able to open a new shift, because there was already a shift open with a pending transaction. So let's us back up a little bit because at this time I was installing offline database and I was just jumping everywhere and was able to get my mPOS to go in offline mode (great! not great...). I had issue provisioning my offline DB and after getting support from Microsoft I was able to provisioned my offline DB successfully! So I signed in to my mPOS and it asked me if I wanted to open a new shift (strange) because I never really closed my previous shift and I had a pending transaction that I never finished. So I clicked "Open a new shift" and was immediately presented with an error saying that there was already a shift opened and I need to close that shift before opening a new shift.

So I began to delete all the transactions from "RetailTransactionTable" in my channel DB and Offline DB from SQL Server Management Studio. Then tried again but no luck. After digging around a little more I found out that I can delete shifts! Awesome! The table that hold information about the shifts are  CRT.RETAILSHIFTSTAGINGTABLE, CRT.RETAILSHIFTSTAGINGTABLE_tracking, and CRT.RETAILSHIFTUSERSTAGINGTABLE. In those tables I want to find  the TERMINALID, and SHIFTID  columns that matches with the terminal and shift that you are currently on and delete those row(s). I did this both on my channel DB and Offline DB. After that I was able to log in to mPOS and was given a new shift without an error! YAY! 

I hope this little post will help those who might run into these issues! Cheers!

Thursday, February 23, 2017

Windows Installer package error

You might run into an error "There is a problem with this Windows installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor" when you're installing component from AX Setup. This error can be very frustrating as it doesn't give us much hints on why it is being thrown.  After digging around I was able to find some solutions to bypass this error.

I found that you can fix this issue by going to "Services" (click start and type services) should be a gear icon. Then you want to scroll down and find "Window Installer" and make sure the service is running. Try to install your AX component again and see if you can proceed without any error. If the error still persist then you want to restart the AOS in Services and try again. These were the steps I took to bypass this error, and I hope this will help you with this annoying error as well! Cheers!

Monday, February 20, 2017

mPOS screen layout Sale button error

I'm sure we all run into this issue before so I want to make a post about it. When we are configuring the button on mPOS especially for "Product sale" it required us to enter a Bar code. So we would then go ahead and select a bar code from the list, and DONE! When we open up mPOS and click the "Sale" button we quickly realized that it just sold the product from the bar code that we have selected earlier when we were configuring the button properties. However, it should take us to the sales screen should it not? So I found out that instead of selecting a bar code you can add  S P A C E S  in the bar code selection of the button configuration and it should bypass the error where it required you to enter a bar code. Next time you open mPOS and click the "Sale" button it should take you to the sale screen. Not sure why Microsoft code the logic to work like that  ¯\_(ツ)_/¯ I guess it was like an easter egg you find on your own.


Loyalty Points not showing in mPOS

Today I want to go over loyalty in mPOS. I originally had everything setup in AX and thought it was correct, but for some weird reason the loyalty points will not show up in the customer account in mPOS. I started debugging and found out that I never setup a loyalty tier (the client said they don't really use tiers). The client still wanted to see the customer loyalty points in mPOS. So I figured I created a dummy tier to see if it will fix the problem and behold it works! Tiers is very crucial in AX, because without setting up a tier the customer loyalty points will not show up in mPOS. So here are the steps I took in order for loyalty points to show up in mPOS.

1) Go to Retail > Setup > Loyalty > Loyalty Reward points. Go ahead and create a new reward points and set it up similar to what I have. Make sure to check Redeemable as it is crucial for the points to display in mPOS.




2) Go to Retail > Setup > Loyalty > Loyalty Program. We want to create a new program and set it up similar to what I have.


3) Go to Retail > Common > Loyalty Scheme. Create a new loyalty scheme and then edit the loyalty scheme. We want to create a new Earning rules, Redemption rules and which retail channel we want to have this loyalty scheme setup for.


Once everything is setup in AX, open up mPOS and issue a new loyalty card to a customer. Once that is done we want to go back to Retail > Common > Loyalty card and assign a Loyalty program for the new loyalty card.

Make sure to run 1050 job which is Loyalty Information to push the data down to the channel database. If everything was setup correctly you should be able to go into mPOS, open up your customer and their loyalty points should show up.



UPDATE:
If you still having problem with the loyalty points not showing up. The cause could be because you are using a "Direct Database Connection". This setting is in the Retail Channel Configuration Utility. I originally did not use direct database connection and my points was showing up. Then when I turned on Direct Database Connection my points were no longer showing. It could be how mPOS API calls to get the loyalty points information to display. Hopefully this will help those who still have an issue with the loyalty points now showing.