2

我正在尝试使用 V3 API 在 QuickBooks 中创建新发票。我的发票创建工作完美,除了我无法设置 3 个自定义字段的值。

我需要在此上下文中利用 AnyIntuitObject 属性的 VB 或 C# 解决方案。

这是我试图实现的代码:

Dim serviceContext As ServiceContext = getServiceContext(profile)
Dim invoiceDataService As New DataService(serviceContext)
Dim oInvoice As New Invoice()

oInvoice.DocNumber = "8675309"
oInvoice.TxnDate = DateTime.Today.Date
oInvoice.TxnDateSpecified = True
oInvoice.CustomerRef = New ReferenceType() With {.Value = "1885", .name = "QBT"}

Dim cField As New CustomField()
cField.DefinitionId = 1
cField.Name = "MyCustomFieldName"
cField.Type = CustomFieldTypeEnum.StringType
cField.AnyIntuitObject = New String() {"MyCustomFieldValue"}

oInvoice.CustomField = New CustomField() {cField}

Dim invLine As New Line()

invLine.Amount = 999.99D
invLine.AmountSpecified = True
invLine.DetailType = LineDetailTypeEnum.SalesItemLineDetail
invLine.DetailTypeSpecified = True

invLine.AnyIntuitObject = New SalesItemLineDetail With
{
    .ItemElementName = ItemChoiceType.UnitPrice,
    .AnyIntuitObject = 999.99D,
    .Qty = 1D,
    .ItemRef = New ReferenceType() With {.name = "Service", .Value = "529"}
}

oInvoice.Line = New Line() {invLine}

Dim invoiceAdded As Invoice = invoiceDataService.Add(Of Invoice)(oInvoice)

我已经查看了我能找到的与自定义字段和 API 有关的每个线程,但仍然没有找到解决方案。

任何可以提供的帮助将不胜感激!

4

1 回答 1

2

通过使用以下方法解决了该问题:

Dim customFieldList As New List(Of CustomField)
Dim cField As New CustomField()
cField.DefinitionId = 2
cField.Name = "Week ending"
cField.Type = CustomFieldTypeEnum.StringType
cField.AnyIntuitObject = inv.WeekEnding.ToString("MM/dd/yyyy")

customFieldList.Add(cField)

oInvoice.CustomField = customFieldList.ToArray
于 2014-08-15T20:34:14.687 回答