Пакетная загрузка записей контактных адресов через REST? - PullRequest
0 голосов
/ 31 августа 2018

Использование Acumatica ERP 2018R (V18.112.0019), которая является последней версией на этот вопрос.

Я пытался найти способ загрузки записей контактных адресов в пакетном режиме - не по одной за раз, и, похоже, что все, что я пытаюсь, я получаю сообщение от оптимизатора об делегате BQL.

Я пытался использовать конечную точку Default/17.200.001 для перехода к сущности Contact и использования параметра $expand=Address.

Часто в качестве обходного пути предлагается создать общий запрос, поэтому я также пытался расширить конечную точку и получить результаты от GI, но независимо от того, насколько базовым я делаю этот GI, я получаю ту же ошибку делегата BQL. Для ЦАП я попытался использовать PX.Objects.CR.Address, PX.Objects.CR.ContactExtAddress, PX.Objects.AR.ARAddress и зашел так далеко, что вернул только поле AddressID. Никаких других таблиц, отношений, параметров, условий и т. Д. Просто очень простой GI, чтобы попытаться добраться до адреса. Даже если ГИ сработал, есть проблемы с возможностью постраничного вывода результатов (я получаю метод недопустимая ошибка при попытке сделать Put для ГИ, но это может быть просто из-за того, что я делаю это неправильно).

Глядя на различия между старыми версиями Контракта на конечную точку, похоже, что V1 был более щадящим с неоптимальными запросами, чем V3? Может быть, REST API должен иметь параметр URL или способ указать, чтобы разрешить выполнение неоптимизированного запроса? Или, если у него есть эта особенность, я не могу найти его.

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

Ответы [ 2 ]

0 голосов
/ 02 сентября 2018

Вы должны иметь возможность сделать PUT для сущности общего запроса, и таким образом вы не должны получить ошибку оптимизации, связанную с делегатом.

0 голосов
/ 31 августа 2018

Я думаю, что смог решить свою проблему, расширив Контакты следующим образом:

Customer?$expand=ShippingContact/Address,MainContact/Address,Contacts,Contacts/Contact/Address
...