使用Acumatica ERP 2018R(V18.112.0019),它是此问题的最新版本。
我一直在尝试找到一种批量下载联系人地址记录的方法-一次一次不下载,而且似乎我尝试的所有操作都从优化程序中收到有关BQL委托的错误。
我尝试使用Default/17.200.001
端点来跟踪Contact
实体并使用$expand=Address
参数。
通常建议的一种解决方法是创建一个通用查询,因此我也尝试扩展端点并从GI获取结果,但是无论我制作该GI有多么基本,都会遇到相同的BQL委托错误。对于DAC,我尝试使用PX.Objects.CR.Address
,PX.Objects.CR.ContactExtAddress
,PX.Objects.AR.ARAddress
,甚至只返回AddressID
字段。没有其他表,关系,参数,条件等。只是一个非常基本的GI尝试获取地址。即使GI起作用,也存在无法分页结果的问题(尝试进行放置到GI时出现方法错误,但这可能只是我做错了)。
看看旧的终结点合同版本之间的差异,看起来V1在处理次优查询方面比V3更宽容?也许REST API需要具有URL参数或一种指定方式以允许运行未经优化的查询?或者,如果它具有该功能,我似乎找不到它。
任何人都可以添加的见解或示例将不胜感激。我无法想象必须一次下载一个联系人和/或联系人地址记录-这将是往返/请求的荒谬数目,并且比单个未优化的查询要慢得多,而且更多的资源消耗。
答案 0 :(得分:2)
我认为我可以通过以下方式扩展“联系人”来解决自己的问题:
Customer?$expand=ShippingContact/Address,MainContact/Address,Contacts,Contacts/Contact/Address
答案 1 :(得分:0)
您应该能够对通用查询实体进行PUT
,这样就不会出现与委托相关的优化错误。