Acumatica 通过Web服务端点过滤通用查询

Acumatica 通过Web服务端点过滤通用查询,acumatica,Acumatica,我们已经创建了一个通用查询,以显示位置的内容,请参见所附图像 条件 INLocationStatus.QtyOnHand, Is Greater Than, 0 结果网格 InLocationStatus, InventoryID, INLocationStatus.InventoryID InLocationStatus, LocationID, INLocationStatus.LocationID InLocationStatus, QtyAvail, InLocationS

我们已经创建了一个通用查询,以显示位置的内容,请参见所附图像

条件

INLocationStatus.QtyOnHand, Is Greater Than, 0
结果网格

InLocationStatus, InventoryID, INLocationStatus.InventoryID  
InLocationStatus, LocationID, INLocationStatus.LocationID  
InLocationStatus, QtyAvail, InLocationStatus.QtyAvail  
InLocationStatus, QtyOnHand, InLocationStatus.QtyOnHand  
InLocationStatus, SiteID, InLocationStatus.SiteID  
InventoryItem, Descr, InventoryItem.Descr
我们已经将其添加到Web服务端点定义中,并可以使用以下代码成功地调用GI

var temp = c.GetList(new OzLocationDetails {}, false).Cast<OzLocationDetails>();
返回的错误是

An unhandled exception of type 'System.ServiceModel.FaultException' 
occurred in mscorlib.dll

Additional information: System.Web.Services.Protocols.SoapException: 
Server was unable to process request. ---> 
PX.Api.ContractBased.OperationDoesNotSupportValuesException:


Operation does not support values.

at PX.Api.ContractBased.EntityService.GetList(EntityGateBase gate, 
String version, String name, EntityImpl entity, Boolean returnFullEntities,
Boolean ignoreValueFields, PXGraph graph)

at PX.Api.ContractBased.Soap.EntityGate.GetList(Entity entity, 
Boolean returnFullEntities)

--- End of inner exception stack trace ---

我知道这听起来有悖常理,但要检索一般查询的内容并检索结果,需要执行
Put()
调用。此调用将返回一个实体,其详细信息属性包含泛型查询返回的所有行。

Gabriel,我将代码更改为Put,它只返回第一个条目,而不是条目列表。此外,如果我在GI上执行GetList,它会返回所有结果,问题是我们无法筛选它们。是的,它确实返回单个实体,但实体有一个Details属性,这是一个可以迭代的数组。Gabriel,不确定我是否做错了什么,但它没有返回Details属性。我在c代码中有c.Put(new OzLocationDetails{}),我知道根据Acumtica实例中的当前设置,应该至少返回两行。但是,当我在VisualStudio中查看结果时,我没有看到任何属性的详细信息。请告诉我是什么原因造成的?@ChrisMarshall,你能告诉我你是如何将GI映射到基于合同的端点的吗?
An unhandled exception of type 'System.ServiceModel.FaultException' 
occurred in mscorlib.dll

Additional information: System.Web.Services.Protocols.SoapException: 
Server was unable to process request. ---> 
PX.Api.ContractBased.OperationDoesNotSupportValuesException:


Operation does not support values.

at PX.Api.ContractBased.EntityService.GetList(EntityGateBase gate, 
String version, String name, EntityImpl entity, Boolean returnFullEntities,
Boolean ignoreValueFields, PXGraph graph)

at PX.Api.ContractBased.Soap.EntityGate.GetList(Entity entity, 
Boolean returnFullEntities)

--- End of inner exception stack trace ---