【问题标题】:Trying to insert QBO invoice with IPP.NET尝试使用 IPP.NET 插入 QBO 发票
【发布时间】:2013-02-25 17:38:12
【问题描述】:

我正在尝试使用 IPP.NET 将发票插入 Quickbooks Online。问题似乎在于设置项目。

这是我的第一行的 VB 代码的 sn-p,它工作正常...

Dim qboInvoiceLine1 as new intuit.ipp.data.qbo.invoiceline
qboInvoiceline1.desc="Desc1"
qboInvoiceLine1.amount=10
qboInvoiceLine1.AmountSpecified=True

如果我添加以下代码来设置项目,我会在形成 XML 时收到错误...

Dim items1 as List(Of Intuit.Ipp.Data.Qbo.Item)=New List(Of Intuit.Ipp.Data.Qbo.Item)
Dim item1 as new intuit.ipp.data.qbo.item
item1.id=new intuit.ipp.data.qbo.idtype
item1.id.value="1"
items1.add(item1)
qboInvoiceLine1.Items=items1.ToArray

我什至不明白为什么项目 ID 似乎是某种数组或项目列表。一个文档来源表明发票行有一个 itemID 属性,但情况似乎并非如此。谁能给我设置发票行的 itemID 的代码?

【问题讨论】:

    标签: intuit-partner-platform quickbooks-online


    【解决方案1】:
    ItemsChoiceType2[] invoiceItemAttributes = { ItemsChoiceType2.ItemId, ItemsChoiceType2.UnitPrice,ItemsChoiceType2.Qty  };
    object[] invoiceItemValues = { new IdType() { idDomain = idDomainEnum.QB, Value = "5" }, new decimal(33), new decimal(2) };
    var invoiceLine = new InvoiceLine();
    invoiceLine.Amount = 66;
    invoiceLine.AmountSpecified = true;
    invoiceLine.Desc = "test " + DateTime.Now.ToShortDateString();
    invoiceLine.ItemsElementName = invoiceItemAttributes;
    invoiceLine.Items = invoiceItemValues;
    invoiceLine.ServiceDate = DateTime.Now;
    invoiceLine.ServiceDateSpecified = true;
    listLine.Add(invoiceLine);
    

    【讨论】:

    • .NET DevKit 中的一些属性是通过 Items/ItemsElementName 属性设置的。对于发票,这些属性是 ItemsChoiceType2 枚举器的一部分,并且值被传递到相同的 Items 数组索引中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多