2013-02-26 2 views
1

Я использую IntuitBatchRequest для вставки нескольких счетов в Quickbooks Online. Я пытаюсь понять свойства ответа, чтобы узнать, какие счета-фактуры были успешными, и какова конкретная проблема для тех, кто не был успешным. Я пытаюсь использовать два разных метода для оценки результатов. Как только процедура проходит через них для ведения журнала. Упрощенная версия кода выглядит следующим образом:Получение статуса от IntuitBatchResponse

Dim invcResponse as BatchItemResponse 
For each invcResponse in lclBatchResponse.BatchItemResp 
    batchID=invcResponse.bId 
    faultType=invcResponse.Fault.type 
Next invcResponse 

другой код связывает ответ на сетке для моего обзора. Фрагмент кода сетки выглядит так:

<asp:GridView id="gv_BatchStatus" runat="server"> 
<Columns> 
<asp:TemplateField> 
    <ItemTemplate> 
    Item<asp:Label id="lbl_item" runat="server" text='<%# Bind("Item.Id.value") %>'></asp:Label> 
    Fault<asp:Label id="lbl_flt" runat="server" text='<%# Bind("Fault.type") %>'></asp:Label> 

Указанные выше свойства работают. Но, когда я пытаюсь связать с Fault.Error.Code, он сообщает мне, что Intuit.Ipp.Data.Error [] не содержит свойства с именем «code». Однако в списке классов для Error указано, что у него есть свойства, включая код, деталь, элемент и сообщение. Эти свойства также отображаются как строковые свойства Error в обозревателе объектов в Visual Studio. Итак, вот мои вопросы ... 1. Какая собственность и ценность являются окончательным определением успеха? 2. Как получить дополнительную информацию об ошибке? Единственное свойство ошибки, которое я могу выяснить (Fault.type), просто говорит мне, что я получаю исключение ID.

+1

Коррекция: привязка сетки Item.id.value ничего не возвращает - возможно, потому что сбой вставки. Я не уверен. Однако bId (идентификатор партии) отображается путем автогенерации столбцов. –

+1

После более близкого взгляда я считаю, что проблема может заключаться в том, что свойство Error Fault является массивом ошибок. Я попробую код, чтобы узнать, могу ли я получить значения. –

+1

Вы можете получить данные об ошибках, итерации через массив ошибок. Каждый объект ошибки в списке имеет свойства: код, деталь, элемент и сообщение. Сообщение является наиболее удобным для пользователя описанием. Было бы очень полезно знать определенный способ узнать, был ли успех. Вы проверяете объект Fault - это ничего? ... или если объект объекта не является ничем? –

ответ

2

Я только что завершил успешный пакетный запрос. Внутри итеративного кода, упомянутого выше, для обработки элементов ответа, я использую следующий код, чтобы определить, был ли каждый счет-фактура успешным.

`If invcResponse.Fault is Nothing then 
    sStatus="OK" 
else 
    For each error in invcResponse.Fault.Error 
     sStatus=sStatus & oError.Message &", " 
    Next oError 
End If` 

Это похоже на документацию и ответ, который я получаю.

Смежные вопросы