我正在尝试使用 IPP.Net 插入发票、贷项通知单和发票。我如何知道 AccountID、ClassID 或 EntityID 是什么?当我使用 Web 连接器编写以前的接口时,我能够通过 FullName 指定这些东西。我是否需要进行某种类型的查询以获取所有 ID 以供将来使用?如果我这样做,ID 是否会通过任何过程(例如重新索引)更改,还是 ID 是永久性的?
2 回答
如果您正在与 QuickBooks Online 集成:
是的,QuickBooks Online 的 IPP API 只接受 Id 值。您将必须查询对象,以便获取它们的 Id 值,以便在未来的发票/贷项通知单添加请求中使用它们。
如果您正在与 Windows 版 QuickBooks 集成:
适用于 Windows 的 QuickBooks 桌面的 IPP API 可以接受名称值或 ID 值。因此,您可以查询以获取 Id 值,也可以像在 SDK 中那样使用名称。
有几点值得注意:
Intuit 发布的下一个版本的数据服务 (v3) 可能会在 2013 年夏季/秋季发布。v3 数据服务将只接受 Id 值,就像 QuickBooks Online 在 v2 中所做的那样。因此,如果您想提前计划未来,请开始查询。:-)
关于这一点:
如果我这样做,ID 是否会通过任何过程(例如重新索引)更改,还是 ID 是永久性的?
Id 值是永久的——它们永远不应该改变。唯一的例外是,如果 Intuit 端的某些事情变得非常糟糕,并且他们重置了某人的同步管理器以强制 QuickBooks 同步到新的在线领域。但这通常不应该在生产中发生。
我尝试了几件事,我似乎找到了答案。Id 属性不会通过 gridview 的 Autogenerate 自行绑定。这似乎是因为它是一个类而不是一个简单的属性。您必须专门绑定 Id.value。