Запрос с RefNumberList для счета QuickBooks QBFC
Я разрабатываю программу, которая будет запрашивать Quickbooks с набором номеров счетов, а затем по каждому счету нет. получит счет, номера счетов будут поступать в основном из файла. и числа, у которых есть проблемы, то есть у них нет соответствующей записи в быстрой книге, будут сохранены в другом файле.
Теперь, когда я добавляю все номера счетов в RefNumberList, так как я жестко закодировал два номера в следующем примере
IInvoiceQuery Invoices = msgset.AppendInvoiceQueryRq();
Invoices.ORInvoiceQuery.RefNumberList.Add("144");
Invoices.ORInvoiceQuery.RefNumberList.Add("9999");
msgset.Attributes.OnError = ENRqOnError.roeContinue;
if (sessionMgr.doRequests(ref msgset))
{
MessageBox.Show("An error was detected while processing the request. Please check the log files");
return;
}
Основная проблема заключается в том, что если даже в одном из номеров счетов-фактур отсутствует запись в быстрых книгах, весь запрос не выполняется.
1 ответ
Я бы посоветовал вам сделать каждый счет отдельным запросом. Таким образом, вы все равно получите другие запросы, возвращающие значение.
msgset.Attributes.OnError = ENRqOnError.roeContinue;
string[] InvoiceList = { "144", "9999" };
foreach (string invNum in InvoiceList)
{
IInvoiceQuery invQuery = msgset.AppendInvoiceQueryRq();
invQuery.ORInvoiceQuery.RefNumberList.Add(invNum);
}
// Process the requests and get the response IMsgSetResponse MsgResponse = SessionManager.DoRequests(msgset);
// Check each response for (int index = 0; index < MsgResponse.ResponseList.Count; index++) { IResponse response = MsgResponse.ResponseList.GetAt(index); if (response.StatusCode != 0) { // Save the invoice number in the "not found" file // and display the error MessageBox.Show("Error finding invoice " + InvoiceList[index] + ". Error: " + response.StatusMessage); } }