Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Acumatica通过RESTAPI运行通用查询_Acumatica - Fatal编程技术网

Acumatica通过RESTAPI运行通用查询

Acumatica通过RESTAPI运行通用查询,acumatica,Acumatica,如何运行通过Acumatica的RESTAPI创建的通用查询?我以前使用过库存汇总查询,但它没有返回我需要的所有数据,因此我们创建了一个通用查询,以返回所有库存项目的可用装运数量。但是,我找不到如何通过API从该报告中获取数据 更新: 我已经尝试创建一个扩展端点服务,并按照I210文档中的描述为报告添加我的端点,然后通过restapi(I210中没有显示)点击。我将所有结果字段添加到需要返回的端点的字段选项卡中 以下是我使用的详细信息: Extended Endpoint Name: MyInv

如何运行通过Acumatica的RESTAPI创建的通用查询?我以前使用过库存汇总查询,但它没有返回我需要的所有数据,因此我们创建了一个通用查询,以返回所有库存项目的可用装运数量。但是,我找不到如何通过API从该报告中获取数据

更新:

我已经尝试创建一个扩展端点服务,并按照I210文档中的描述为报告添加我的端点,然后通过restapi(I210中没有显示)点击。我将所有结果字段添加到需要返回的端点的字段选项卡中

以下是我使用的详细信息:

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填写表单
  • 拯救
现在,通过单击“GetAvailableInventoryResults”添加所需的结果,然后单击字段(打开一个弹出窗口)。在弹出窗口中,选择“结果”并添加所需的所有字段。不要选择“行编号”和“已选择”,因为它们不是必需的,可能会导致错误。保存

要访问端点,请执行PUT To

   .../GetAvailableInventory?$expand=GetAvailableInventoryResults
一身

{}
由于此端点未定义任何筛选器,但PUT要求存在此筛选器


为什么要使用“GetAvailableInventoryResults”?好吧,因为我遇到了多个通用查询端点具有相同名称的详细信息的问题,所以我确保它们都是唯一的。

您尝试了什么,但失败了?I210培训和帮助中描述了查询操作。I210没有描述如何通过REST API执行此操作。请参阅上面更新的问题@SergRogovtsevSo,错误清楚地说明了您做错了什么:显然,没有发送任何正文。你要送什么尸体?@big_water,你不是应该用“GET”而不是“PUT”吗?您是否正在使用Postman测试您的API?
GET
请求对于一般查询不应该正常工作。您到底在说什么@SergRogovtsev?我有许多基于一般查询的结束点,它们在GET上都很好。@SergRogovtsev,仅仅因为你不能提供解决方案,因为你的软件不能按预期工作,就没有理由否决一个答案并称之为无效的解决方案,因为它确实工作。在您能够修复软件和/或提供基于预期方法的解决方案之前,这将是公认的答案。请停止否决有效的问题和答案。你正在阻止公众在公共论坛上帮助支持你的软件@瑞克,我很高兴知道你已经找到了一种方法来实现一些对你有用的东西,但我不得不告诉你,不幸的是,这不是它应该工作的方式,所以它可能会意外地崩溃。