-
Customer Search and Creation
Suggested by Andrew Newnham – Rejected – 0 Comments
With the recently added abilities to search for customers based on email address, name, phone number etc. a common comment is that it is frustrating that the information you have typed in your search does not automatically populate when you create a new customer. Take the following scenario; Customer comes in, cashier asks - "Are you already registered with us?" Customer responds - "I don't know, but I would be interested in email updates" Cashier - "Let me take your email address and I will check" Cashier enters the email address provided in the search box, and searches by email No results are returned Cashier - "It looks like you are not in our systems, let me create a record for you quickly" Cashier opens the new customer form, and needs to ask for the email address again. Often customers have complicated email addresses, with numbers or complex spelling - having to ask for it twice is embarrising and customers often then just say, don't worry about it. It would be great if using your last search, when you click the 'Create New Customer' button, it pre-populates the relevant field, based on the criteria you selected.
-
Up-sell/cross-sell item functionality from the POS
Suggested by Maria Refalo – Rejected – 1 Comments
Within FinOps Up-sell/cross-sell functionality is available within Call Center. Many of our clients are requesting this functionality within the mPOS and cPOS to drive sales. Please extend this functionality to be available from within the POS.
-
Maintain Version history of Button Grids
Request to add a feature to maintain version history of button grids, this will help in Configuring new designs and reverting to previous versions in case of any issues once applied to MPOS/CPOS.
-
Ability to view product details directly from sales transaction screen in POS
Suggested by Libor Å tejdýř – Rejected – 1 Comments
Our customer requires the ability to view product details directly from sales transaction line in POS (e.g. add new button “Show product detail” for current line/product). This means displaying the product detail in POS directly from the shopping cart screen.
-
Allow foreign key constraints in ext schema tables
Suggested by Alexander J. Evans – Rejected – 0 Comments
Please see my post in Yammer. I uploaded a sample there. https://www.yammer.com/dynamicsaxfeedbackprograms/#/Threads/show?threadId=79299511926784 For updating the AX7 retail channel schema with tables we introduce in our extensions, we found that we are not able to add table dependencies using the current CDX seed data extension points. We found that since replication happens in alphabetical order some of our tables have data pushed before the tables that it had foreign key references to, which caused an error. For example, I have tables dbo.TableA, ext.TableA, dbo.TableB, and ext.TableB. ext.TableA has a foreign key constraint to a field in ext.TableB. When replication happens, it appears that it tries to replicate to ext.TableA before ext.TableB, resulting in a foreign key constraint error. This is a sample create script for the ext tables: ``` use AxDB CREATE TABLE [ext].[TableA] ( [RECID] [bigint] NOT NULL, [TableBRecID] [bigint] NOT NULL, CONSTRAINT [PK_ext.TableA] PRIMARY KEY ([RECID]) ) GRANT SELECT ON OBJECT::ext.TableA TO [DataSyncUsersRole] GRANT INSERT ON OBJECT::ext.TableA TO [DataSyncUsersRole] GRANT UPDATE ON OBJECT::ext.TableA TO [DataSyncUsersRole] GRANT DELETE ON OBJECT::ext.TableA TO [DataSyncUsersRole] CREATE TABLE [ext].[TableB] ( [RECID] [bigint] NOT NULL, CONSTRAINT [PK_ext.TableB] PRIMARY KEY ([RECID]) ) GRANT SELECT ON OBJECT::ext.TableB TO [DataSyncUsersRole] GRANT INSERT ON OBJECT::ext.TableB TO [DataSyncUsersRole] GRANT UPDATE ON OBJECT::ext.TableB TO [DataSyncUsersRole] GRANT DELETE ON OBJECT::ext.TableB TO [DataSyncUsersRole] ALTER TABLE [ext].[TableA] ADD CONSTRAINT [FK_ext.TableA_ext.TableB_TableBRECID] FOREIGN KEY ([TableBRecId]) REFERENCES [ext].[TableB] ([RECID]) ON DELETE CASCADE ``` Our current solution is an event handler we added to the initialize retail scheduler ok button, which triggers code that inserts our tables into the AX7 schema. We'd like to keep the foreign key constraints for data integrity (again, see my yammer post). Error message: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Dynamics.Retail.CommerceDataExchange.ProcessDataPackageException: Error occurred when running SqlTargetRequestHandler. ---> Microsoft.Dynamics.Retail.CommerceDataExchange.SqlMergeRequestRunException: Failed to merge data into table [EXT].[TABLEA]. Query: DELETE FROM [EXT].[TABLEA];MERGE [EXT].[TABLEA] AS dst USING (SELECT [RECID],[TABLEBRECID] FROM [#EXT_TABLEA_59e33b4a-9995-4239-a32f-0a6314754d94]) AS src ON (dst.[RECID]=src.[RECID])WHEN MATCHED THEN UPDATE SET [TABLEBRECID]=src.[TABLEBRECID] WHEN NOT MATCHED THEN INSERT ([RECID],[TABLEBRECID]) VALUES (src.[RECID],src.[TABLEBRECID]);DROP TABLE [#EXT_TABLEA_59e33b4a-9995-4239-a32f-0a6314754d94]; ---> Microsoft.Dynamics.Retail.CommerceDataExchange.SqlWriteRequestRunException: Failed to run SqlWriteRequestRunner for table [EXT].[TABLEA]. Query: DELETE FROM [EXT].[TABLEA];MERGE [EXT].[TABLEA] AS dst USING (SELECT [RECID],[TABLEBRECID] FROM [#EXT_TABLEA_59e33b4a-9995-4239-a32f-0a6314754d94]) AS src ON (dst.[RECID]=src.[RECID])WHEN MATCHED THEN UPDATE SET [TABLEBRECID]=src.[TABLEBRECID]WHEN NOT MATCHED THEN INSERT ([RECID],[TABLEBRECID]) VALUES (src.[RECID],src.[TABLEBRECID]);DROP TABLE [#EXT_TABLEA_59e33b4a-9995-4239-a32f-0a6314754d94]; ---> Microsoft.Dynamics.Retail.CommerceDataExchange.PerformWriteOperationException: Error when writing data to table [EXT].[TABLEA]. Query: DELETE FROM [EXT].[TABLEA];MERGE [EXT].[TABLEA] AS dst USING (SELECT [RECID],[TABLEBRECID] FROM [#EXT_TABLEA_59e33b4a-9995-4239-a32f-0a6314754d94]) AS src ON (dst.[RECID]=src.[RECID])WHEN MATCHED THEN UPDATE SET [TABLEBRECID]=src.[TABLEBRECID]WHEN NOT MATCHED THEN INSERT ([RECID],[TABLEBRECID]) VALUES (src.[RECID],src.[TABLEBRECID]);DROP TABLE [#EXT_TABLEA_59e33b4a-9995-4239-a32f-0a6314754d94]; ---> System.Data.SqlClient.SqlException: The MERGE statement conflicted with the FOREIGN KEY constraint "FK_ext.TableA_ext.TableB_TableBRECID". The conflict occurred in database "AxDB", table "ext.TableB", column 'RECID'.The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.Dynamics.Retail.CommerceDataExchange.SqlWriteRequestRunner.PerformWriteOperation(SqlConnection connection) --- End of inner exception stack trace --- at Microsoft.Dynamics.Retail.CommerceDataExchange.SqlWriteRequestRunner.PerformWriteOperation(SqlConnection connection) at Microsoft.Dynamics.Retail.CommerceDataExchange.SqlWriteRequestRunner.Run(SqlConnection connection) --- End of inner exception stack trace --- at Microsoft.Dynamics.Retail.CommerceDataExchange.SqlWriteRequestRunner.Run(SqlConnection connection) at Microsoft.Dynamics.Retail.CommerceDataExchange.SqlMergeRequestRunner.Run(SqlConnection connection) --- End of inner exception stack trace --- at Microsoft.Dynamics.Retail.CommerceDataExchange.SqlMergeRequestRunner.Run(SqlConnection connection) at Microsoft.Dynamics.Retail.CommerceDataExchange.SqlTargetRequestHandler.ProcessWriteRequest(SqlConnection connection) at Microsoft.Dynamics.Retail.CommerceDataExchan Repro steps: 1. Create dbo.TableA, dbo.TableB in a back office project. 1. Add a int64 field to dbo.TableA named TableBRecId. 1. Add a foreign key relation to dbo.TableA that relates dbo.TableA.TableBRecId to dbo.TableB.RecId 2. Run create script in other text box to create ext.TableA and ext.TableB. 3. Add code necessary to replicate dbo.TableA to ext.TableA and dbo.TableB to ext.TableB. 4. Go into SQL management studio and manually add a row to dbo.TableA and dbo.TableB. 5. Run the replication job. -
MPOS Payment Screen - Amount Maximum Digits to avoid scanning bar-code as amount
Suggested by Abdulmajeed Alghazali – Rejected – 1 Comments
Part of retail parameters/shared parameters, it will be grate idea to allow us to specify the maximum number of digits the should n=be accepted MPOS payment screen, currently it si hard coded as 12 digits. For example in my case our MPOS should not accept more than 8 digits as payment a amount. any number more than this will be wrong and need from me to do SQL scrip to maintain it.
-
InventDimId not updated for sales lines transactions from Online Store channel
Suggested by Jaroslaw Piekarz – Rejected – 0 Comments
Data Entity RetailTransactionSalesLineEntity for Retail store on Online store transactions : ItemColor, ItemSize, ItemStyle, ItemConfigId There are columns ItemColor, ItemSize, ItemStyle, ItemConfigId in Data Entity RetailTransactionSalesLineEntity. When there is performed sales for Products with VariantId then these values are populated but only for Store transactions. They are empty for Online store transaction (E-Commerce). It is caused because InventDimId is not updated for Online Store transactions in RetailTransactionSalesTrans. Please update InventDimId for Online Store transactions (E-Commerce transactions) in RetailTransactionSalesTrans like it happens for Store transactions comings from POS. These values are required for reporting purpose. Repro steps: 1. Register one sales transaction from Online store for Product with VariantId 2. Register one sales transaction from Store for Product with VariantId 3. Upload data by P job to HQ 4. Synchronize order for Online store transaction 5. Create, Calculate and Post Statement for POS Store transaction 6. Export data by Data Entity RetailTransactionSalesLineEntity Verify that ItemColor, ItemSize, ItemStyle, ItemConfigId are null for Online store transactions but not null for POS store transactions.
-
Allow custom validators on default view fields.
Suggested by Andrew Dennis – Rejected – 0 Comments
Allow extensions to change or extend the validators used for the field. As an example, adding a custom validator to the customer phone number field would allow us to force a phone number format with front end validation with tool tips. -
Loyalty payment should max out at the transaction amount
Suggested by Andrew Dennis – Rejected – 0 Comments
When a customer has more loyalty points/dollars than the transaction total, the amount should round down to the total of the transaction to not get an error of overtender.
-
USD with Chromium Extensions
Suggested by Leandro Ribeiro – Rejected – 0 Comments
Hello. In my company we are using the latest version of USD that uses the CefSharpBrowser which uses Chromium Engine. Here we have the possibility to use a Chromme Extension developed by Dynatrace. That extension is part of a terrific monitoring tool. It would be extremely important be able to install that Dynatrace's extension in our USD clients to monitor our Dynamics 365 instances. I think this would be a very interesting possibility for the USD consumers, since the USD does not have a native monitoring tool. Checking the Git Hub of the CefSharpBrowser project, there is a issue requesting the implementation of support for Chromium extensions - https://github.com/cefsharp/CefSharp/pull/2613