1

Quickbooks SDK を使用して外部アプリケーションから請求書を作成し、その請求書の PDF コピーを呼び出し側アプリケーションに返す必要があるシナリオがあります。

請求書の作成は Quickbooks SDK を使用すると非常に簡単なので、この最初のステップで問題はありません。

しかし、外部呼び出しアプリケーションを介して請求書を (PDF として) 実際に印刷または返送する方法がわかりません。

この目的に関連していくつか質問があります。

  1. Quickbooks SDK には、ドキュメント (請求書など) の視覚的表現 (PDF など) を直接要求して返す機能がありますか?
  2. Quickbooks SDK には、ドキュメント (請求書など) を直接印刷する機能がありますか?

これらの質問のほとんどは、Quickbooks SDK に慣れていないことが原因です。

上記の番号 1 が不可能であると仮定すると、目的を達成するための可能な代替戦略は次のとおりです。

戦略 A - 所定のファイル名を使用して印刷および PDF へのエクスポート

サポートされている場合は、Quickbooks に請求書を PDF に印刷し、選択した名前を付けるように依頼します。Filewatcher を使用してディレクトリを監視し、印刷された請求書をプログラムで取得します。

戦略 B - Quickbooks 以外で独自の請求書レポートを作成する

Quickbooks SDK を介して請求書のすべてのデータを受け取ることができることがわかっています。独自の請求書レポートを作成し、Quickbooks の外部で完全に印刷することができました。これは大変な作業であり、可能であれば回避したいと考えています。

これらの戦略に関するコメントを歓迎します。さらに良いことに、実行可能なソリューションは素晴らしいでしょう。

参考までに、当社のテクノロジ スタックは、C#/ASP.NET、QBFC、Web コネクタ、および Quickbooks 2010 を使用しています。

前もって感謝します!

4

2 に答える 2

3

あなたの質問への答えは...:

Quickbooks SDK には、ドキュメント (請求書など) の視覚的表現 (PDF など) を直接要求して返す機能がありますか?

いいえ、そうではありません。

Quickbooks SDK には、ドキュメント (請求書など) を直接印刷する機能がありますか?

いいえ、そうではありません。

あなたの戦略 B は正しい戦略です。SDK を介して請求書データを取得し、それを使用して独自の請求書を作成します。

于 2011-09-15T18:34:27.953 に答える
0

SDKを使用してquickbookで請求書を作成するたびに、それに応じて請求書データが取得されます

以下のコードを見つけて、請求書の値をデータテーブルに保存します

そのデータテーブルを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です

于 2011-09-08T08:06:12.047 に答える