使用 ItemAggregate 将空白行插入到 Quickbooks 采购订单中

Insert blank row into a Quickbooks purchase order using ItemAggregate

我希望在 Quickbooks 中自动生成采购订单 (PO)。

我们正在使用 CData ADO.NET provider for Quickbooks(桌面),但由于我们正在使用 ItemAggregate 向 PO 添加线路,我不确定具体的适配器是否有所不同。

为了便于阅读,我们的采购订单在某些部分之间有空白行。我正在努力在 ItemAggregate 中复制它。我试过:

  1. 添加<Row/>(QB忽略这个)
  2. 添加 <Row><ItemDescription/></Row>(QB 忽略此)
  3. 作为#2,但在ItemDescription中有一个space(QB忽略这个)
  4. 作为 #2,但在 ItemDescription 中有一个选项卡(QB 忽略此)
  5. 作为 #2,但在 ItemDescription 中有 &nbsp;(QB 打印“”)
  6. 如#5,但在保存 PO 后将 &nbsp; 更改为单个 space(导致异常:“修改 PurchaseOrder 时出错。QuickBooks 错误消息:您没有商品,或者您的一个或多个金额与商品无关。请输入一个商品。")

有谁知道让 QB 在采购订单中添加空白行的编程方式吗?

CData ADO.NET 提供程序已更新以支持此功能。

您需要向连接字符串添加一个新的隐藏连接 属性。将 PreserveAggregateWhitespace=true 添加到您的连接字符串。现在,当您插入或更新事务时,您的 XML 元素将保留其白色 space:

<Row><ItemDescription> </ItemDescription></Row>

您的 INSERT 新销售订单声明可能如下所示:

INSERT INTO 
  SalesOrders (CustomerName, ItemAggregate) 
VALUES 
  ('Doe, John','<SalesOrderLineItems><Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row><Row><ItemDescription> </ItemDescription></Row><Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row></SalesOrderLineItems>')

注意 ItemDescription 中的空白 space。

如果您需要更新的版本,可以联系 CData 软件 Support Team