QBD に関しては、アイテム クラスで使用可能な単価属性が表示されません。QBOで利用できます。Quickbooks デスクトップ バージョンで入力した項目を使用して、データベースをダウンロードして入力しようとしています。誰か助けてくれませんか?
Intuit.Ipp.Data.Qbd.Item のアイテムの単価を取得するにはどうすればよいですか?
Shivan Raptor によるコメントの後に追加された追加情報(2013 年 11 月 7 日)
Quickbooks Pro Trial 2014 UK バージョンをコンピューターにインストールしています。会社用の会社ファイルとアイテムを作成しました。アイテムを作成するときに、そのアイテムに価格を入力できます。Quickbooks はそれをどこかに保存しているに違いありません。.Net アプリケーションから Quickbooks API を使用してアクセスする必要があります。
ここの在庫品に興味があります。Intuit.Ipp.Data.Qbd.Item
クラスを使用してアクセスしています。正しいクラスを使用していますか? APIドキュメントにアクセスすると、ItemクラスにはUnit Priceというフィールドがありますが、実際に.Netアプリケーションから確認するとリストされていません。
Shivan Raptor がコードを欲しがった (2013 年 11 月 8 日)
以下にコード スニペットを示します。質問を正しく理解していれば、公開されていないオブジェクト属性を使用してコードを記述した場合、コードをコンパイルできないため、実行時エラーが発生しないことがわかります。また、コンパイラ エラーも明らかです。
ATTRIBUTE_NAME は CLASS_NAME に存在しません
この場合、ATTRIBUTE_NAME = UnitPrice
(CLASS_NAME = Intuit.Ipp.Data.Qbd.Item
これは最初の投稿自体に既にあります)
関連するコード サンプルを以下に示します。ASP.Net ページの背後にあるコードです。
Try
Dim varItemBL As New BL.ItemManagement
'Preparing Query
Dim qbdItemQuery As New Intuit.Ipp.Data.Qbd.ItemQuery
qbdItemQuery.ItemElementName = Intuit.Ipp.Data.Qbd.ItemChoiceType4.StartPage
qbdItemQuery.Item = "1"
qbdItemQuery.ChunkSize = "10"
'Quering Quickbooks Desktop
Dim qbdItems = qbdItemQuery.ExecuteQuery(Of Intuit.Ipp.Data.Qbd.Item)(context).ToList
'Synchronising Items from Quickbooks to MyDigiRep
For i As Integer = 0 To qbdItems.Count - 1
Dim varUnitPrice As Decimal
'Checking whether Unit Price is entered
If qbdItems(i).UnitPrice Is Nothing Then
varUnitPrice = 0
Else
varUnitPrice = qbdItems(i).UnitPrice.Amount
End If
'Synchronising Item with the MyDigiRep database
varItemBL.fnAddItemsAPI(qbdItems(i).Name, "NS", varUnitPrice, _
qbdItems(i).UOMAbbrv, HttpContext.Current.Session("companyID"), _
qbdItems(i).Id.Value)
Next
'Updating UI to display synchronisation results
lblItemSycnStatus.Text = qbdItems.Count & " Item Records Synchronised."
Catch ex As Exception
lblItemSycnStatus.Text = "Item Records Synchronisation Failed."
End Try
のバージョンIntuit.Ipp.Data.dll
は2.1.12.0 です