kullanarak tüm Satış Makbuzlar listelemek için nasıl.
Şirket dosyasındaki tüm Satış Makbuzları için Not değerlerinin bir listesini oluşturmam gerekiyor. Bunun nedeni, Memo'nun yeni bir Satış Makbuzu alınmadan önce çiftler için kontrol edilmesi gereken bir satış referansı içermesidir.
Sayı
Ben şu anda kullanıyorum kodudur:
IMsgSetRequest requestMsgSet = qbSessionManager.CreateMsgSetRequest("UK", 13, 0);
ISalesReceiptQuery salesReceiptQuery = requestMsgSet.AppendSalesReceiptQueryRq();
salesReceiptQuery.metaData.SetValue(ENmetaData.mdNoMetaData);
salesReceiptQuery.IncludeRetElementList.Add("Memo");
IMsgSetResponse responseMsgSet = qbSessionManager.DoRequests(requestMsgSet);
IResponseList responseList = responseMsgSet.ResponseList;
for (int i = 0; i < responseList.Count; i++)
{
IResponse response = responseList.GetAt(i);
if (response.StatusCode == 0)
{
ExistingOrderIds.Add(response.Detail.ToString());
}
else
{
Log.Error("While building OrderId list. Error returned when listing memos from QuickBooks Sales Receipts");
Log.Error(response.StatusCode + " " + response.StatusMessage + " " + response.Detail);
}
}
Bu, yalnızca tek IResponseList öğesi ve response.detail.toString döndürür() "Sistem .__ comNesne" verir. Bu şirket dosyasında birkaç yüz Satış Makbuzu var.
Soru
yanlış burada ne yapıyorum?
ne yani örneğin .. döngü 'IResponse yanıtı = responseList.GetAt (i) içinde bu çizgiyi olur;' eklediğiniz herhangi bir öğe alıyorsanız denildiğinde ExistingOrderIds.Add() yöntemine ..? – MethodMan
Hata ayıklayıcı yanıtındaList.Count her zaman 1'dir. Response.StatusCode daha sonra sıfır verir ve "System .__ ComObject" değeriyle ExistingOrderIds öğesine tek bir öğe eklenir. – ifinlay
Daha fazla bilgi - OSR’yi okumak daha iyi bir döngü için yanlış seviyeye sahip olabileceğimi düşünüyorum. IResponse bir "ISalesReceiptRet Objects Listesi" içerir. Ancak bunu okunabilir bir forma alamıyorum. – ifinlay