2012-01-17 89 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(),我会得到不包含全名,名字和姓氏列的列选择(绝不是全部)。

问题记录definitly具有请求字段的值。

有什么想法......?

+0

您的记录是否包含请求字段的值? – ccellar 2012-01-17 13:14:10

回答

2

已解决 - 一个系统用户对名字,姓氏和全名具有空白值 ​​- 填充这些值使查询开始为所有其他用户检索这些值。

相关问题