2009-12-04 46 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字段,只是名稱字段。

我還沒有用「其他」名稱測試過,因爲我有我的客戶嘗試不使用該列表,但我想它與客戶的工作方式類似。