Я использую следующий код для довольно стандартной установки 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.
Записи, имеющие определенную ценность, имеют значения для запрошенных полей.
Любые мысли ...?
Имеются ли в ваших записях значения для запрашиваемых полей? – ccellar