2012-01-17 6 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

解決済み - 1人のシステムユーザがfirstname、lastname、およびfullnameの空白の値を持っていました。これらを埋めると、他のすべてのユーザの値も検索されます。

関連する問題