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

时间:2017-03-17 10:39:03

标签: quickbooks

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

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

为了便于阅读,我们的PO在某些部分之间有空行。我正努力在ItemAggregate中复制这个。我试过了:

  1. 添加<Row/>(QB忽略此项)
  2. 添加<Row><ItemDescription/></Row>(QB忽略此项)
  3. 为#2,但在ItemDescription中有一个空格(QB忽略了这一点)
  4. 为#2,但ItemDescription中有一个标签(QB忽略了这个)
  5. 为#2,但&nbsp;中有ItemDescription(QB打印“”)
  6. 作为#5,但在保存PO后将&nbsp;更改为单个空格(导致异常:“修改PurchaseOrder时出错.QuickBooks错误消息:您没有项目或一个或多与您的金额无关。请输入一个项目。“)
  7. 有没有人知道让QB在采购订单中添加空行的程序化方法?

1 个答案:

答案 0 :(得分:0)

CData ADO.NET Provider已更新为支持此功能。

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

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

新SalesOrder的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

中的空白区域

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