0

当涉及到 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.dll2.1.12.0

4

0 回答 0