0

我正在使用 AR303000 屏幕搜索客户。如果我添加多个过滤器,则仅应用第一个过滤器。此外,结果集不包括 GeneralInfoMainAddress 行。这可能是过滤器不工作的原因。

AR303000内容 AR303000 = context.AR303000GetSchema(); 上下文.AR303000Clear();

        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];
4

1 回答 1

0

Web 服务只能过滤屏幕主视图的字段,在本例中为 AR303000.CustomerSummary。如果您尝试过滤其他任何内容,系统不会抛出异常,而是默默地丢弃过滤器。

如果您需要能够按此信息进行过滤,我建议您创建一个通用查询来连接您需要的表,并通过 Web 服务使用 GI 屏幕,就像使用任何其他查询屏幕一样。

于 2014-10-30T20:46:25.843 回答