2009-12-04 113 views
1

我有一个客户要求将用QuickBooks编写的支票导出为特定的格式,因为他们的银行允许通过上传文件来防止欺诈,并且他们在支票上验证了您在清算前给他们的名称它。我看了一下QuickBooks SDK(我们使用XML来进行通信),它引用了名为PayeeEntityRef和FullName属性的检查字段,但通常在QuickBooks中,数据结构会指示实体被调用的内容,而不是支票上显示的内容(供应商具有NameOnCheck属性,例如,可能不是他们的名称)。登记入住时的姓名QuickBooks SDK

没有编写多个测试用例来演示QuickBooks的行为,没有人有获得名称的经验,因为它打印在支票上?什么是最好的方式来做到这一点?

回答

2

有些可能得到你想要的东西,但会有一些打嗝,你需要让你的客户知道。主要问题是无法检索印在支票上的实际名称。

您首先需要查询支票/账单支付 - 检查银行账户。然后,使用PayeeEntityRef(我将使用ListID组件)确定哪个“List”实体处于打开状态;客户,供应商,员工或其他。我不知道有什么办法可以告诉PayeeEntityRef来自哪个列表,而不是对每个列表进行查询。

如果PayeeEntityRef是供应商或员工,那么您可以检索NameOnCheck值。唯一需要记住的是,如果NameOnCheck在打印检查后被修改,名称将不匹配。

如果PayeeEntityRef是客户或其他名称,那么您必须多做一点。 QuickBooks用于打印名称的值基于填写客户记录的字段。它首先将使用CompanyName字段,如果它不是null。接下来,它将尝试使用First/Middle/LastName字段(如果它们不为null)。最后,它将使用名称字段作为最后的手段。请记住,这不是FullName字段,只是名称字段。

我还没有用“其他”名称测试过,因为我有我的客户尝试不使用该列表,但我想它与客户的工作方式类似。