A few days ago i am working on an assignment of adding Sales person to a transaction.All the things went fine.when i run the scenario and after adding sales person to the transaction and then completing the transaction i got the below mentioned error.
"Error number: 1010 An error occurred displaying the transaction (AX Retail POS)"
I was working on the AX Retail POS R3 CU8. Initially i investigated my code, but everything looks fine.
When looking in the event viewer it is showing following error:
LSRetailPosis.POSProcesses.POSApp: System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'STAFF'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.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.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at LSRetailPosis.DataAccess.DataUtil.DBUtil.Execute(SqlInsert SqlInsert)
at LSRetailPosis.DataAccess.TransactionItemData.Save(SaleLineItem saleItem)
at LSRetailPosis.DataAccess.TransactionData.SaveRetailTransaction(RetailTransaction transAction)
at LSRetailPosis.DataAccess.TransactionData.Save(PosTransaction transAction)
at LSRetailPosis.BusinessLogic.TransactionSystem.SaveTransaction(PosTransaction posTransaction)
at LSRetailPosis.BusinessLogic.TransactionSystem.ConcludeTransaction(IPosTransaction transaction)
ClientConnectionId:580cd89e-cc82-41eb-858c-396d5f7f3ecd.
After detailed investigation and research i came to know that adding "Sales person" is one of the depreciated feature for AX 2012, that is why it was deactivated from backend. If you want to make it work, Add a new column Staff in the below mentioned table and views.at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.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.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at LSRetailPosis.DataAccess.DataUtil.DBUtil.Execute(SqlInsert SqlInsert)
at LSRetailPosis.DataAccess.TransactionItemData.Save(SaleLineItem saleItem)
at LSRetailPosis.DataAccess.TransactionData.SaveRetailTransaction(RetailTransaction transAction)
at LSRetailPosis.DataAccess.TransactionData.Save(PosTransaction transAction)
at LSRetailPosis.BusinessLogic.TransactionSystem.SaveTransaction(PosTransaction posTransaction)
at LSRetailPosis.BusinessLogic.TransactionSystem.ConcludeTransaction(IPosTransaction transaction)
ClientConnectionId:580cd89e-cc82-41eb-858c-396d5f7f3ecd.
In Store DB,
- Add STAFF column to ax.RETAILTRANSACTIONSALESTRANS table - nvarchar(25)
- Add STAFF column to RETAILTRANSACTIONSALESTRANS view- nvarchar(25)
- Add STAFF column to RETAILTRANSACTIONSALESTRANSVIEW view- nvarchar(25)
This fix has resolved my issue and now i am able to post transaction with the sales person.

Like
Report
*This post is locked for comments