Question

Je voudrais faire ce qui suit:

quand un commercial attribue une entité personnalisée (appelons-la "expertise principale") à une opportunité dans MS CRM 4.0, le système partage cette opportunité avec l'utilisateur défini comme le propriétaire de "l'expertise principale" associée. enregistrement.

J'aimerais le faire automatiquement via le flux de travail, mais je ne trouve pas l'étape de flux de travail qui permettrait d'accomplir cela. Oui, et j'ai lu sur certains forums que ce n'était pas encore possible, uniquement via un assemblage .NET.

Expérience, ça vous tente?

Était-ce utile?

La solution

Correct, cela n’est possible que via l’assemblage .NET. Cependant, vous pourriez (Si vous utilisez CRM 4) demander au workflow de changer le propriétaire en propriétaire de l’activité et d’utiliser l’option Partager avec le propriétaire précédent pour permettre à l’ancien propriétaire d’accéder à votre entité personnalisée?

Autres conseils

Cela est possible uniquement en appelant une activité de flux de travail personnalisée. Dans l'activité de flux de travail personnalisé, vous pouvez appeler GrantAccessRequest et GrantAccessResponse en configurant l'objet PrincipalAccess .

Veuillez vous reporter à cet objet de partage " section pour plus de détails.

Si vous décidez d'utiliser un plugin personnalisé, votre code pourrait ressembler à ceci:

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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top