RetrieveMultiple не возвращает все атрибуты - PullRequest
1 голос
/ 17 января 2012

Я запускаю следующий код для довольно стандартной установки 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 (), я получаю выборку столбцов (ни в коем случае не всех), которые по-прежнему не включают столбцы с полным именем, именем и фамилией.

У рассматриваемых записей определенно есть значения для запрошенных полей.

Есть мысли ...?

1 Ответ

2 голосов
/ 17 января 2012

Решено - у одного системного пользователя были пустые значения для имени, фамилии и полного имени - их заполнение заставило запрос начать поиск этих значений и для всех других пользователей.

...