2
votes

We have created a Generic Inquiry to show the contents of a Location see attached images.

GI Tables Setup GI Relations Setup

Conditions

INLocationStatus.QtyOnHand, Is Greater Than, 0

Results Grid

InLocationStatus, InventoryID, INLocationStatus.InventoryID  
InLocationStatus, LocationID, INLocationStatus.LocationID  
InLocationStatus, QtyAvail, InLocationStatus.QtyAvail  
InLocationStatus, QtyOnHand, InLocationStatus.QtyOnHand  
InLocationStatus, SiteID, InLocationStatus.SiteID  
InventoryItem, Descr, InventoryItem.Descr

We have added this to our Web Service Endpoint definition and can successfully call the GI with the following code.

var temp = c.GetList(new OzLocationDetails {}, false).Cast<OzLocationDetails>();

However when we attempt to add a filter condition to this we get an error returned

Location = new StringValue { Value = "OZRECV" }

The error returned is

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 ---
1

1 Answers

2
votes

I know it sounds counterintuitive, but to retrieve the contents of a generic inquiry and retrieve the results, you need to do a Put() call. This call will return a single entity, with a Details property containing all the rows returned by the generic inquiry.