Как отфильтровать запрос заказа на поставку в QBXML, чтобы возвращались только те записи, которые не были полностью получены?

При выполнении PurchaseOrderQuery в QBXML я пытаюсь заставить Quickbooks возвращать только заказы на покупку, которые еще не обработаны (т.е. «IsFullyReceived» == false). Объект ответа содержит флаг IsFullyReceived, но объект запроса, похоже, не имеет для него фильтра??

Это означает, что я должен получить каждый заказ на покупку независимо от того, получен он или нет, а затем выполнить логику фильтрации в своем приложении, что замедляет транзакции веб-коннектора.

Есть идеи?

Спасибо!


person romemmy    schedule 22.02.2016    source источник


Ответы (1)


Вы не можете.

Объект ответа содержит флаг IsFullyReceived, но объект запроса, похоже, не имеет для него фильтра??

Правильно, там нет фильтра.

Вы можете увидеть это в документах:

Это означает, что я должен получить каждый заказ на покупку независимо от того, получен он или нет, а затем выполнить логику фильтрации в своем приложении, что замедляет транзакции веб-коннектора.

Да, наверное.

Есть идеи?

Попробуйте запросить только те заказы на покупку, которые были изменены или изменены (ModifiedDateRangeFilter) с момента последней синхронизации.

Или вместо того, чтобы извлекать каждый отдельный заказ на покупку, отслеживайте список заказов на покупку, которые, по вашему мнению, еще не были получены, а затем запрашивайте только эти конкретные заказы на основе RefNumber.

Или просмотрите объекты ItemReceipt и BillPayment и используйте их для реализации логики относительно того, какие заказы на покупку могли быть недавно заполнены, поскольку объекты BillPayment andItemReceipt` должны создаваться по мере выполнения/получения заказа на покупку.

person Keith Palmer Jr.    schedule 22.02.2016
comment
Спасибо Кит! На самом деле я довольно часто использовал ваши примеры кода - спасибо за этот ресурс! Я работал со многими сторонними API, но Quickbooks, безусловно, самый разочаровывающий! - person romemmy; 23.02.2016