Pergunta

Eu gostaria de fazer o seguinte:

Quando um vendedor atribui uma entidade personalizada (vamos chamá -lo de 'experiência primária') a uma oportunidade no MS CRM 4.0, o sistema compartilharia a oportunidade com o usuário definido como o proprietário do registro de 'experiência primária' associada.

Eu gostaria de fazê -lo automaticamente via fluxo de trabalho, mas não consigo encontrar a etapa do fluxo de trabalho que conseguiria isso. Sim, e eu li em alguns fóruns que ainda não é possível, apenas por meio de uma montagem .NET.

Experiência, alguém?

Foi útil?

Solução

Correto, só é possível via montagem .NET. No entanto, você poderia (se você usar o CRM 4) fazer com que o fluxo de trabalho altere o proprietário para o proprietário da atividade e use o compartilhamento com a opção de proprietário anterior para permitir que o antigo proprietário tenha acesso à sua entidade personalizada?

Outras dicas

É possível apenas invocando a atividade de fluxo de trabalho personalizado. Dentro da atividade de fluxo de trabalho personalizado, você pode invocar GrantAccessRequest e GrantAccessResponse Configurando o PrincipalAccess objeto.

Por favor, consulte isso "Compartilhamento de objeto"Seção para obter detalhes.

Se você decidir ir com o plug -in personalizado, seu código poderá ficar assim:

var rights = AccessRights.ReadAccess | AccessRights.WriteAccess;

var principalAccess = new PrincipalAccess
{
    // Gives the principal read write access
    AccessMask = rights,

    // Set the PrincipalAccess Object's Properties
    Principal = sharingTarget.Key
};

// Create the Request Object
var grantAcessRequest = new GrantAccessRequest();
// Set the Request Object's properties
grantAcessRequest.PrincipalAccess = principalAccess;
// Set the Target. In my case it is account record
var entityReference = new EntityReference(localContext.PluginExecutionContext.PrimaryEntityName,
                                          localContext.PluginExecutionContext.PrimaryEntityId);
//throw new InvalidPluginExecutionException("EntityReference");
grantAcessRequest.Target = entityReference;

// Execute the Request
localContext.OrganizationService.Execute(grantAcessRequest);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top