Acumatica 客户屏幕上的筛选不使用多个筛选器
我正在使用AR303000屏幕搜索客户。如果添加多个过滤器,则仅应用第一个过滤器。此外,结果集不包括GeneralInfo主地址行。这可能就是过滤器不工作的原因 AR303000Content AR303000=context.AR303000GetSchema(); AR303000Clear()Acumatica 客户屏幕上的筛选不使用多个筛选器,acumatica,Acumatica,我正在使用AR303000屏幕搜索客户。如果添加多个过滤器,则仅应用第一个过滤器。此外,结果集不包括GeneralInfo主地址行。这可能就是过滤器不工作的原因 AR303000Content AR303000=context.AR303000GetSchema(); AR303000Clear() List cmds=new List(); 添加(AR303000.CustomerSummary.ServiceCommands.EveryCustomerID); 添加(AR303000.Cus
List cmds=new List();
添加(AR303000.CustomerSummary.ServiceCommands.EveryCustomerID);
添加(AR303000.CustomerSummary.CustomerID);
添加(AR303000.CustomerSummary.CustomerName);
添加(AR303000.GeneralInfoMainAddress.AddressLine1);
添加(AR303000.generalinfomain地址.城市);
添加(AR303000.GeneralInfoMainAddress.State);
添加(AR303000.GeneralInfo主地址.PostalCode);
列表过滤器=新列表();
filters.Add(新过滤器()
{
字段=新字段()
{
FieldName=AR303000.CustomerSummary.CustomerName.FieldName,
ObjectName=AR303000.CustomerSummary.CustomerName.ObjectName
},
条件=过滤器条件。包含,
Value=“DOE,JOHN”,
操作员=过滤器操作员。和
});
filters.Add(新过滤器()
{
字段=新字段()
{
FieldName=AR303000.GeneralInfoMainAddress.AddressLine1.FieldName,
ObjectName=AR303000.GeneralInfoMainAddress.AddressLine1.ObjectName
},
条件=过滤器条件。包含,
Value=“255”,
操作员=过滤器操作员。和
});
var AR303000Export=context.AR303000Export(cmds.ToArray(),filters.ToArray(),0,false,false);
返回AR303000导出[0][0];
web服务只能对屏幕主视图的字段进行过滤,在本例中为AR303000.CustomerSummary。如果您尝试对任何其他内容进行筛选,系统不会抛出异常,而是以静默方式放弃筛选
如果您需要能够根据这些信息进行过滤,我建议您创建一个通用查询,将所需的表连接起来,并通过web服务使用GI屏幕,就像使用任何其他查询屏幕一样
List<Command> cmds = new List<Command>();
cmds.Add(AR303000.CustomerSummary.ServiceCommands.EveryCustomerID);
cmds.Add(AR303000.CustomerSummary.CustomerID);
cmds.Add(AR303000.CustomerSummary.CustomerName);
cmds.Add(AR303000.GeneralInfoMainAddress.AddressLine1);
cmds.Add(AR303000.GeneralInfoMainAddress.City);
cmds.Add(AR303000.GeneralInfoMainAddress.State);
cmds.Add(AR303000.GeneralInfoMainAddress.PostalCode);
List<Filter> filters = new List<Filter>();
filters.Add(new Filter()
{
Field = new Field()
{
FieldName = AR303000.CustomerSummary.CustomerName.FieldName,
ObjectName = AR303000.CustomerSummary.CustomerName.ObjectName
},
Condition = FilterCondition.Contain,
Value = "DOE, JOHN",
Operator = FilterOperator.And
});
filters.Add(new Filter()
{
Field = new Field()
{
FieldName = AR303000.GeneralInfoMainAddress.AddressLine1.FieldName,
ObjectName = AR303000.GeneralInfoMainAddress.AddressLine1.ObjectName
},
Condition = FilterCondition.Contain,
Value = "255",
Operator = FilterOperator.And
});
var AR303000Export = context.AR303000Export(cmds.ToArray(), filters.ToArray(), 0, false, false);
return AR303000Export[0][0];