2014-05-09 34 views
0

我们有要求向用户提供COPY Transaction按钮Show Journal屏幕上,单击此按钮将加载主POS屏幕上的所选交易的确切位置,得出结论。如何从AX 2012中的代码在屏幕上加载交易零售POS

我建立了形式的按钮,按钮的单击事件,我已加载并使用下面的代码发起的交易对象:

if (gridView1.SelectedRowsCount > 0) 
      { 
       DataRow Row = gridView1.GetDataRow(gridView1.GetSelectedRows()[0]); 
       selectedTransactionId = (string)Row["TRANSACTIONID"]; 
       selectedStoreId = (string)Row["STORE"]; 
       selectedTerminalId = (string)Row["TERMINAL"]; 

       PosTransaction transaction = LoadTransaction(selectedTransactionId, selectedStoreId, selectedTerminalId); 


      } 

现在我不能找到一种方法来加载这个交易主屏幕,我试过设置this.posTransaction = transaction;,但它不起作用。

我又试图暂停交易并获取暂停交易,我可以成功地从下面的代码暂停交易:

this.Application.BusinessLogic.SuspendRetrieveSystem.SuspendTransaction(transaction); 

,但使用下面的代码无法检索此交易:

this.Application.BusinessLogic.SuspendRetrieveSystem.RetrieveTransaction(transaction.TransactionId); 

我知道我可以逐一阅读物品并将它们添加到交易中,但如果将折扣用于交易或交易是忠诚交易,那么我必须重新加载确切的交易。

回答

1

你试过了吗?

if (!string.IsNullOrEmpty(this.selectedTransactionId)) { 
    application.RunOperation(PosisOperations.RecallTransaction, this.selectedTransactionId); 
}