Как экспортировать счета-фактуры, созданные с помощью Quickbooks SDK, в PDF - PullRequest
0 голосов
/ 02 сентября 2011

У нас есть сценарий, в котором нам нужно использовать Quickbooks SDK для создания счетов-фактур из внешнего приложения, а затем возвращать копию этого счета в PDF-формате вызывающему приложению.

Создать счет-фактуру очень легко.с SDK для Quickbooks, поэтому с этим первым шагом проблем не возникает.

Однако я не уверен, как на самом деле распечатать или вернуть счет (в формате PDF) через приложение внешнего вызова.

Вот несколько вопросов, которые у меня есть относительно этой цели.

  1. Предоставляет ли SDK Quickbooks возможность напрямую запрашивать и возвращать визуальное представление (например, PDF) документа(например, счет-фактура)?
  2. Предоставляет ли SDK Quickbooks возможность напрямую печатать документ (например, счет-фактуру)?

Большинство этих вопросов возникли из-за моего общего недостатка знакомствас SDK Quickbooks.

Если предположить, что указанное выше число 1 невозможно, возможны следующие альтернативные стратегии для достижения нашей цели:

Стратегия A - печать и экспорт в PDF с использованием предварительно определенного имени файла

Если поддерживается, мы бы попросили Quickbooks распечатать счет в формате PDF с именем по нашему выбору.Используя Filewatcher, мы будем отслеживать каталог и программно получать распечатанный счет-фактуру.

Стратегия B - Создать собственный отчет по счетам за пределами Quickbooks

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

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

К вашему сведению, наш стек технологий использует C # / ASP.NET, QBFC, Web Connector и Quickbooks 2010.

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

Ответы на ваши вопросы ...:

Предоставляет ли Quickbooks SDK возможность напрямую запрашивать и вернуть визуальное представление (например, PDF) документа (например, счет-фактура)

Нет, это не так.

Предоставляет ли Quickbooks SDK возможность напрямую печатать документ (например, счет-фактуру)?

Нет, это не так.

Ваша стратегия B - правильная стратегия. Получите данные счета через SDK и используйте его для создания ваших собственных счетов.

0 голосов
/ 08 сентября 2011

всякий раз, когда вы создаете какой-либо счет в quickbook с использованием SDK, в ответ вы получите данные счета

найдите приведенный ниже код для сохранения значения счета в datatable

вы можете конвертировать данные в PDF или любой другой формат

Dim response As IResponse
                    response = responseList.GetAt(i)
                    If (response.StatusCode >= 0) Then
                        'the request-specific response is in the details, make sure we have some
                        If (Not response.Detail Is Nothing) Then
                            'make sure the response is the type we're expecting
                            Dim responseType As ENResponseType
                            responseType = CType(response.Type.GetValue(), ENResponseType)
                            If (responseType = ENResponseType.rtInvoiceQueryRs) Then
                                '//upcast to more specific type here, this is safe because we checked with response.Type check above
                                Dim InvoiceRet As IInvoiceRetList
                                InvoiceRet = CType(response.Detail, IInvoiceRetList)
                                Dim row As DataRow
                                row = Dt.NewRow
                                row.Item("InvoiceNo") = InvoiceRet.GetAt(i).RefNumber.GetValue.ToString()
                                row.Item("ListID") = InvoiceRet.GetAt(i).TxnID.GetValue.ToString()
                                row.Item("EditSequence") = InvoiceRet.GetAt(i).EditSequence.GetValue.ToString()
                                Dt.Rows.Add(row)
                            End If
                        End If

в твоем случае я 0

...