Acumatica通过RESTAPI运行通用查询
如何运行通过Acumatica的RESTAPI创建的通用查询?我以前使用过库存汇总查询,但它没有返回我需要的所有数据,因此我们创建了一个通用查询,以返回所有库存项目的可用装运数量。但是,我找不到如何通过API从该报告中获取数据 更新: 我已经尝试创建一个扩展端点服务,并按照I210文档中的描述为报告添加我的端点,然后通过restapi(I210中没有显示)点击。我将所有结果字段添加到需要返回的端点的字段选项卡中 以下是我使用的详细信息:Acumatica通过RESTAPI运行通用查询,acumatica,Acumatica,如何运行通过Acumatica的RESTAPI创建的通用查询?我以前使用过库存汇总查询,但它没有返回我需要的所有数据,因此我们创建了一个通用查询,以返回所有库存项目的可用装运数量。但是,我找不到如何通过API从该报告中获取数据 更新: 我已经尝试创建一个扩展端点服务,并按照I210文档中的描述为报告添加我的端点,然后通过restapi(I210中没有显示)点击。我将所有结果字段添加到需要返回的端点的字段选项卡中 以下是我使用的详细信息: Extended Endpoint Name: MyInv
Extended Endpoint Name: MyInventoryAvailable
Endpoint version: 6.00.001
Endpoint: GetAvailableInventory
URL: https://mycompany.acumatica.com/entity/MyInventoryAvailable/6.00.001/GetAvailableInventory?$expand=Results
当我使用上述详细信息执行PUT请求时,我得到的响应如下:
{
"message": "The request is invalid.",
"modelState": {
"": [
"The request body should not be empty."
]
}
}
更新2
以下是Acumatica中扩展端点的设置:
我尝试建立一个请求机构,但没有成功:
{
"InventoryID": {
"Value": "AB-CL-60"
},
"Description": {
"Value": ""
},
"Location": {
"Value": ""
},
"QtyHardAvailable":{
"Value": 0.0
},
"QtyOnHand":{
"Value": 0.0
},
"Warehouse":{
"Value": 0.0
}
}
发送任何请求正文时,无论我收到的内容是什么,都会出现此错误:
"exceptionMessage": "The given key was not present in the dictionary.",
"exceptionType": "System.Collections.Generic.KeyNotFoundException",
更新3-查询结构
以下是调查的结构:
以下是Acumatica用户界面中的结果:
更新4
扩展的GetAvailableInventory节点:
使用GET而不是PUT。你的要求不符合要求。我想是通用查询表。因此,GET和PUT的结果不同 这就是我在Web服务端点中构造一般查询的方式 虽然其他端点包含任意数量的映射对象,但通用查询端点只有
Enter-Keys, Filter, Result, and Values-for-Update
端点的字段是过滤器(单击填充->过滤器)。上面的示例似乎没有任何过滤器,这很好,因此此字段应该为空
为了从一般查询中获取数据,添加了一个“细节”实体
- 单击通用查询
- 单击“+插入”
- 使用FieldName='GetAvailableInventoryResults',ObjectName='GetAvailableInventoryResults',ObjectType=Detail填写表单
- 拯救
.../GetAvailableInventory?$expand=GetAvailableInventoryResults
一身
{}
由于此端点未定义任何筛选器,但PUT要求存在此筛选器
为什么要使用“GetAvailableInventoryResults”?好吧,因为我遇到了多个通用查询端点具有相同名称的详细信息的问题,所以我确保它们都是唯一的。您尝试了什么,但失败了?I210培训和帮助中描述了查询操作。I210没有描述如何通过REST API执行此操作。请参阅上面更新的问题@SergRogovtsevSo,错误清楚地说明了您做错了什么:显然,没有发送任何正文。你要送什么尸体?@big_water,你不是应该用“GET”而不是“PUT”吗?您是否正在使用Postman测试您的API?
GET
请求对于一般查询不应该正常工作。您到底在说什么@SergRogovtsev?我有许多基于一般查询的结束点,它们在GET上都很好。@SergRogovtsev,仅仅因为你不能提供解决方案,因为你的软件不能按预期工作,就没有理由否决一个答案并称之为无效的解决方案,因为它确实工作。在您能够修复软件和/或提供基于预期方法的解决方案之前,这将是公认的答案。请停止否决有效的问题和答案。你正在阻止公众在公共论坛上帮助支持你的软件@瑞克,我很高兴知道你已经找到了一种方法来实现一些对你有用的东西,但我不得不告诉你,不幸的是,这不是它应该工作的方式,所以它可能会意外地崩溃。