2015-02-06 48 views
0

使用QuickBooks PHP DevKit,我發現有很多類型的請求,其中大部分都映射到qbXML API中的特定請求。然而,兩個要求脫穎而出,我不確定有什麼不同。這裏有一個例子:查詢和導入請求有什麼區別?

QUICKBOOKS_QUERY_INVOICE 
QUICKBOOKS_IMPORT_INVOICE 

而另一

QUICKBOOKS_QUERY_DELETEDTXNS 
QUICKBOOKS_IMPORT_DELETEDTXNS 

什麼是這兩者之間的區別?他們分別映射到InvoiceQueryTxnDeletedQuery qbXML ...所以爲什麼區分它們?

+0

第738行的QuickBooks_Utilities類中的'priorityForAction'函數我猜可能部分回答這個問題:'Query'在優先級列表中高於'Import',因此如果'InvoiceQuery'和'InvoiceImport'在隊列中查詢將首先發生...... – brazilianldsjaguar 2015-02-06 05:18:06

回答

1

如果您需要區分大量導入數據和查詢特定記錄/記錄集,它們只是作爲便利常量提供。

例如,考慮一種情況,即您正在與您的應用程序進行QuickBooks客戶的完全雙向同步 - 只要QuickBooks中的某些內容發生更改,即可獲取更改,並且每當應用程序發生變化時,更改爲QuickBooks。

這就需要你能夠:

  1. 投票的QuickBooks每隔一段時間一切改變(「進口」的數據從QuickBooks)
  2. 要在QuickBooks修改一個客戶,你首先需要查詢對於個人客戶,以獲得最新的QuickBooks EditSequence值(「查詢」針對特定客戶,以獲取EditSequence

所以我們爲了方便提供兩個獨立的常數,這樣就可以d阻止了這兩種不同類型的請求。

意識到所有的常量就在那裏爲了方便 - 它並沒有真正不管你用什麼價值/不變,只要你在$地圖匹配什麼你排隊什麼了$Queue->enqueue($action, $id, ...)。例如,這會工作得很好過:

$map = array(
    'YourMommyWearsArmyBoots' => array('your_request_callback', 'your_response_callback') 
); 

... 

$Queue->enqueue('YourMommyWearsArmyBoots', $id); 

所有框架確實是$action參數->enqueue(...)$map相應的鍵相匹配。

+0

很高興知道!如果我以前沒有說過,謝謝你在devkit上做得很好:) – brazilianldsjaguar 2015-02-06 16:16:16

相關問題