我可以查询 SalesReceipt 对象:
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 行列表,但这些行都不是付款行。无法从付款行的 SalesReceipt 对象中获取 TxnLineID(我可以找到)。
我要做的是从 SalesReceipt 中找到一个特定的 TxnLineID,以便我可以将其标记为已清除。当我进行搜索时,我可以看到有一条交易行(信用卡批次:Visa/MC 账户中的以下行)。如何找到该特定行的 TxnLineID?
这是一个屏幕截图,显示了标记为已清除的交易,我通过单击已清除列中的框通过 UI 完成。