2014-10-30 108 views
0

我正在使用AR303000屏幕來搜索客戶。如果我添加多個過濾器,則只應用第一個過濾器。另外,結果集不包含GeneralInfoMainAddress行。這可能是過濾器無法正常工作的原因。在客戶屏幕上過濾不使用多個過濾器

AR303000Content AR303000 = context.AR303000GetSchema(); context.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]; 

回答

0

Web服務只能篩選屏幕主視圖的字段,在本例中爲AR303000.CustomerSummary。如果您嘗試過濾其他任何內容,則系統不會引發異常,而是靜靜地丟棄過濾器。

如果您需要根據此信息進行過濾,我會建議您創建一個通用查詢,以便連接您需要的表格,並通過Web服務使用GI屏幕,就像您使用其他查詢屏幕一樣。

相關問題