通过REST批量下载联系人地址记录?

时间:2018-08-31 14:07:11

标签: rest acumatica erp

使用Acumatica ERP 2018R(V18.112.0019),它是此问题的最新版本。

我一直在尝试找到一种批量下载联系人地址记录的方法-一次一次不下载,而且似乎我尝试的所有操作都从优化程序中收到有关BQL委托的错误。

我尝试使用Default/17.200.001端点来跟踪Contact实体并使用$expand=Address参数。

通常建议的一种解决方法是创建一个通用查询,因此我也尝试扩展端点并从GI获取结果,但是无论我制作该GI有多么基本,都会遇到相同的BQL委托错误。对于DAC,我尝试使用PX.Objects.CR.AddressPX.Objects.CR.ContactExtAddressPX.Objects.AR.ARAddress,甚至只返回AddressID字段。没有其他表,关系,参数,条件等。只是一个非常基本的GI尝试获取地址。即使GI起作用,也存在无法分页结果的问题(尝试进行放置到GI时出现方法错误,但这可能只是我做错了)。

看看旧的终结点合同版本之间的差异,看起来V1在处理次优查询方面比V3更宽容?也许REST API需要具有URL参数或一种指定方式以允许运行未经优化的查询?或者,如果它具有该功能,我似乎找不到它。

任何人都可以添加的见解或示例将不胜感激。我无法想象必须一次下载一个联系人和/或联系人地址记录-这将是往返/请求的荒谬数目,并且比单个未优化的查询要慢得多,而且更多的资源消耗。

2 个答案:

答案 0 :(得分:2)

我认为我可以通过以下方式扩展“联系人”来解决自己的问题:

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

答案 1 :(得分:0)

您应该能够对通用查询实体进行PUT,这样就不会出现与委托相关的优化错误。