I am totally new to Retail customization. I watched the old archived Retail training videos and I read through the Microsoft docs which just confused me because it is so much info and sometimes there are code for D365FO version 7.1 and earlier and then just a mention to the extensibility model for later versions, no link to the more up to date page.
I tried to look at the SampleExtensions but even here some code is outdated because it will clearly state that a class that is used to derived from is depricated and shouldn't be used.
I need to add our custom that we have for the Call Center in AX to CloudPOS. For example we have custom in D365FO for Call Centre that is similar to the allow On Account on a customer. The standard field is MCRCustTable.AllowOnAccount. Our custom field is: MCRCustTable.tmc_Allowcheck. So for customers where the tmc_allowcheck flag is set to no, it should not list in the payment completion screen the payment method of Check. So it is similar to the standard that won't show the OnAccount payment method if the standard flag is set to NO.
The table that contains all the payment methods is called: RetailStoreTenderTypeTable in AOT. So somewhere in POS it must look at this table and the customer AllowOnAccount flag to determine what type of payment is allowed for the customer.
I'm using RetailSDK\Documents\SampleExtensionsInstructions\ExtensionTables as a reference and it looks like on the AOT, CDX and Channel DB side I need to do the following. So I'm fine with this part:
1) Because it seems that POS is using RetailCustTable and not MCRCustTable, I need to add the custom field to RetailCustTable in the AOT by extending the AX table and must add an extension on MCRcustTable.update() to update RetailCustTable when MCRCustTable fis updated.
2) I then have to create an SQL script for RetailCustTable that will add the extension in a separate table in the EXT schema. This will get it into the channel side database.
3) For the CDX I need to create a resource file and add a subjob for RetailCustTable that will link the AX and Channel side database tables
4) Create a class for the registerCDXSeedDataExtension delegate event handler so that I then can add my resource file .
5) Next step is to initialize the CDX module : Go to Retail> Headquarters setup> Retail scheduler> Scheduler jobs> click on Initialize retail scheduler
The above 5 steps will get the flag from D365FO to the channel database.
Now what do I do on the POS side? Where do I even begin? We will be using CloudPOS and not ModernPOS. So I assume I add my code to the CloudPOS solution, correct>?
I saw a GetChannelTenderTypesDataRequest class which looks like it is pulling all the payment methods for a channel: On-account, credit card, check, Cash, Gift card etc.
Somewhere I assume it is pulling the payment types and then look at the customer to see if On-account is allowed for the customer as a payment method.
How do I figure out where this is?
ApplicationSuite on the AOT side is also locked down for overlayering but at least I can see the code and I can do a Find all References and then read the code to figure out where to add my extension.
But with Retail I don't see any code. All I see is : RetailSDK\Documents \CommerceRuntimeMessages HTML helpfile which gives me a list of data service requests with its properties that tells me nothing.
I assume I need to create a class with a post-trigger derived from IRequestTrigger. But a trigger on what table/entity?
Any guidance will be much appreciated.
Any suggestion for online training or in-class training in Canada or the USA to at least teach me the basics for retail development will also be appreciated.