我们要求用户在COPY Transaction
屏幕上为用户提供Show Journal
按钮,点击此按钮将在主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);
我知道我可以逐个阅读项目并将它们添加到交易中,但如果对交易应用了折扣或者交易是忠诚度交易,那么我必须重新加载确切的交易。
答案 0 :(得分:1)
你试过吗?
if (!string.IsNullOrEmpty(this.selectedTransactionId)) {
application.RunOperation(PosisOperations.RecallTransaction, this.selectedTransactionId);
}