代码之家  ›  专栏  ›  技术社区  ›  Yishai

签入QuickBooks SDK时的名称

  •  2
  • Yishai  · 技术社区  · 15 年前

    我有一个客户要求将用quickbooks写的支票导出到特定的格式,因为他们的银行允许上传一个文件来防止欺诈,并且他们在清算支票之前根据你给他们的内容验证支票上的名字。

    我查看了QuickBooks SDK(我们通常使用XML进行通信),它引用了支票上名为“受款人EntityRef”的字段和全名属性,但通常在QuickBooks中,数据结构将指示实体的名称,而不是支票上显示的内容(例如,供应商具有NameOnCheck属性,可以是除了他们的名字)。

    如果不在这里编写多个测试用例来演示QuickBooks的行为,是否有人有过在支票上打印姓名的经验?最好的方法是什么?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Hpjchobbes    11 年前

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

    您首先需要查询支票/汇票付款-银行帐户的支票。然后,使用受款人entityRef(我将使用listid组件)确定实体所在的“列表”;客户、供应商、员工或其他。除了对每个列表进行查询之外,我不知道有什么方法可以告诉受款人entityRef来自哪个列表。

    如果受款人EntityRef是供应商或员工,则可以检索NameOnCheck值。您需要记住的唯一一件事是,如果在打印支票后修改了nameoncheck,则名称将不匹配。

    如果收款人entityRef是客户或其他名称,那么您需要做更多的工作。QuickBooks用于打印名称的值基于为客户记录填写的字段。如果不为空,它将首先使用companyname字段。接下来,如果不为空,它将尝试使用first/middle/lastname字段。最后,它将使用名称字段作为最后的手段。请记住,这不是全名字段,只是名称字段。

    我还没有用“其他”的名字来测试这个,因为我的客户试图不使用这个列表,但我认为它与客户的工作方式类似。