Используя QuickBooks PHP DevKit, я заметил, что существует много типов запросов, и большинство из них сопоставляются с конкретными запросами в API qbXML. Тем не менее, два запроса выделяются, и я не уверен, в чем разница. Вот пример:
QUICKBOOKS_QUERY_INVOICE
QUICKBOOKS_IMPORT_INVOICE
И другой
QUICKBOOKS_QUERY_DELETEDTXNS
QUICKBOOKS_IMPORT_DELETEDTXNS
В чем разница между этими двумя? Они отображаются на InvoiceQuery
а также TxnDeletedQuery
в qbXML соответственно … так зачем их дифференцировать?
Они просто предоставляются в качестве констант удобства, если вам необходимо различать массовый импорт данных и запросы для конкретной записи / набора записей.
Например, рассмотрим сценарий, в котором вы выполняете полную двустороннюю синхронизацию клиентов QuickBooks с вашим приложением — всякий раз, когда что-то меняется в QuickBooks, вы фиксируете это изменение, а всякий раз, когда что-то меняется в вашем приложении, вы переносите изменение в QuickBooks.
Это требует от вас возможности:
EditSequence
значение («запрос» для этого конкретного клиента, чтобы получить это EditSequence
)Поэтому для удобства мы предоставляем две отдельные константы, чтобы вы могли различать эти два разных типа запросов друг от друга.
Поймите, что все константы просто для удобства — не имеет значения, какое значение / константу вы используете, до тех пор, пока то, что у вас есть в $ map, совпадает с тем, что вы в очереди $Queue->enqueue($action, $id, ...)
. Например, это тоже будет работать нормально:
$map = array(
'YourMommyWearsArmyBoots' => array( 'your_request_callback', 'your_response_callback' )
);
...
$Queue->enqueue('YourMommyWearsArmyBoots', $id);
Все, что делает каркас, это соответствует $action
параметр для ->enqueue(...)
на соответствующий ключ в $map
,
Других решений пока нет …