2012-01-17 4 views
1

상당히 표준적인 CRM 4.0 설치에 대해 다음 코드를 실행하고 있습니다.RetrieveMultiple이 모든 속성을 반환하지 않습니다.

  List<ConditionExpression> cons = new List<ConditionExpression>(); 

      QueryExpression query = new QueryExpression(); 
      query.EntityName = "systemuser"; 

      cons.Add(new ConditionExpression()); 
      cons[cons.Count - 1].AttributeName = "isdisabled"; 
      cons[cons.Count - 1].Operator = ConditionOperator.Equal; 
      cons[cons.Count - 1].Values = new object[] { false }; 

      FilterExpression filter = new FilterExpression(); 

      // Set the properties of the filter. 
      filter.FilterOperator = LogicalOperator.And; 
      filter.Conditions.AddRange(cons.ToArray()); 

      //query.ColumnSet = new AllColumns(); 
      query.ColumnSet = new ColumnSet(new string[]{"systemuserid","fullname","firstname","lastname"}); 
      query.Criteria = filter; 
      query.Orders.Add(new OrderExpression("fullname", OrderType.Ascending)); 

      RetrieveMultipleRequest RMR = new RetrieveMultipleRequest(); 
      RMR.Query = query; 
      RMR.ReturnDynamicEntities = true; 

      RetrieveMultipleResponse resp = (RetrieveMultipleResponse)CRM.Execute(RMR); 

어떤 이유로 인해 반환되는 동적 엔터티 목록에는 systemuserid 특성 만 포함됩니다. AllColumns()를 사용하면 fullname, firstname 및 lastname 열을 포함하지 않는 열을 선택할 수 있습니다.

해당 레코드에는 요청 된 필드에 대한 값이 있어야합니다.

모든 의견 ...?

+0

기록에 요청 된 입력란에 값이 있습니까? – ccellar

답변

2

해결 - 하나의 시스템 사용자가 firstname, lastname 및 fullname에 대해 공백 값을 가짐 - 다른 모든 사용자에 대해서도이 값을 검색하기 시작하면서 이들을 채우는 것이 가능합니다.

관련 문제