我正在针对相当标准的CRM 4.0安装运行以下代码。
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 :(得分:2)
已解决 - 一个系统用户拥有firstname,lastname和fullname的空白值 - 填充这些值使得查询开始为所有其他用户检索这些值。