CRM 2013: указатель активности RollupRequest

1

Я пытаюсь получить все действия, связанные с записью о возможностях в Dynamics CRM 2013. Я пробовал использовать RollupRequest, но я получаю сообщение об ошибке, что activityPoint не является поддерживаемым объектом свертки. Но если я попытаюсь использовать тот же код, используя учетную запись, а не возможность, CRM не будет жаловаться.
Я хочу избежать использования нескольких запросов для извлечения действий, чтобы использовать функцию поискового вызова набора запросов или fetchxml.

Ниже приведен код тестирования, который я использовал. Согласно Microsoft, комбинация не является одной из поддерживаемых: http://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.rolluprequest.aspx

// Create QueryExpression
var query = new QueryExpression() {
    EntityName = "activitypointer",
    ColumnSet = new ColumnSet(true)
};


// Create RollupRequest
RollupRequest rollupRequest = new RollupRequest();
rollupRequest.Query = query;
rollupRequest.Target = new EntityReference("opportunity", new Guid("1d317b15-dbe0-e311-b505-0050569d9a3e"));
rollupRequest.RollupType = RollupType.Extended;
Console.WriteLine("Created RollupRequest.");

// Execute RollupRequest
RollupResponse rollupResponse = (RollupResponse)_serviceProxy.Execute(rollupRequest);
Console.WriteLine("Executed RollupRequest.");
Теги:
dynamics-crm-2013

1 ответ

0

Я думаю, вы можете заставить свой код работать, установив:

rollupRequest.RollupType = RollupType.None;

Я все равно получаю все указатели activitypointers напрямую связанные с возможностью.

Согласно странице перечисления RollupType, Extended и Related типы накопителей дают более глубокий уровень свертывания, что, вероятно, не было реализовано для возможности из-за причин производительности (просто догадайтесь). Поскольку возможность, связанная с учетной записью или контактом (и вся деятельность, связанная с ними, должна быть в свернутом состоянии), у учетной записи и контактов могут быть другие возможности, у этих возможностей также есть продукт, связанный с ним, в нем, в свою очередь, счет или контакт и т.д. и т.д....

Также возможно, что Microsoft просто не хочет сочетать комбинации объектов, которые могут привести к рекурсии, например.

  • 0
    RollupType не может быть None, вот ответ CRM: System.ServiceModel.FaultException`1 [Microsoft.Xrm.Sdk.OrganizationServiceFault]: объект ActivityPointer недопустим для свертки с типом NONE. (Сведения о сбое равны Microsoft.Xrm.Sdk.OrganizationServiceFault).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню