我可以查询销售收据对象:
public bool GetSalesReceipt(string sRefNum, string sAccount, out ISalesReceiptRet ret)
{
ret = null;
IMsgSetRequest msr = sm.CreateMsgSetRequest("US", 4, 0);
msr.Attributes.OnError = ENRqOnError.roeStop;
ISalesReceiptQuery q = msr.AppendSalesReceiptQueryRq();
q.metaData.SetValue(ENmetaData.mdMetaDataAndResponseData);
q.ORTxnQuery.TxnFilter.ORRefNumberFilter.RefNumberFilter.RefNumber.SetValue(sRefNum);
q.ORTxnQuery.TxnFilter.ORRefNumberFilter.RefNumberFilter.MatchCriterion.SetValue(ENMatchCriterion.mcContains);
q.ORTxnQuery.TxnFilter.AccountFilter.ORAccountFilter.FullNameList.Add(sAccount);
q.IncludeLineItems.SetValue(true);
IMsgSetResponse resp = sm.DoRequests(msr);
if (resp.ResponseList.Count == 0)
return false;
IResponseList rl = resp.ResponseList;
if (rl.Count == 1)
{
IResponse r = rl.GetAt(0);
if (r.Detail == null)
return false;
if (r.StatusCode != 0)
return false;
if (r.Type.GetValue() == (short)ENResponseType.rtSalesReceiptQueryRs)
{
ISalesReceiptRetList crl = (ISalesReceiptRetList)r.Detail;
if (crl.Count == 1)
ret = crl.GetAt(0);
}
}
if (ret == null)
return false;
return true;
}
SalesReceipt中有一个ORSalesReceiptLineRetList的销售明细清单,但是这些明细清单中没有付款明细。我无法从SalesReceipt对象中获取付款明细的TxnLineID(至少我没找到)。
我的目的是要找到特定的TxnLineID以标记它已清算。当我进行搜索时,我可以看到有一笔交易明细(如下所示Credit Card Batches:Visa/MC account)。如何查找该特定明细的TxnLineID?
以下是屏幕截图,显示通过单击清算列中的框,在UI上将交易标记为已清算。