2014-05-09 35 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); 
}