当涉及到 QBD 时,我没有看到 Item Class 中可用的 Unit Price 属性。它在 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 日)
下面给出的是代码片段。如果您正确理解了这个问题,您会意识到它不会给出运行时错误,因为如果您使用未公开的对象属性编写代码,则无法编译代码。编译器错误也很明显:
CLASS_NAME 中不存在 ATTRIBUTE_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