Question

I would like to do the following:

when a Sales person assigns a custom entity (let's call it 'Primary Expertise') to an Opportunity in MS CRM 4.0, the system would share the Opportunity with the user that is defined as the Owner of the associated 'Primary Expertise' record.

I would like to do it automatically via workflow but cannot find the workflow step that would accomplish that. Yes, and I read on some forums that it's actually not possible yet, only via a .NET assembly.

Experience, anyone?

Was it helpful?

Solution

Correct, it is only possible via .NET assembly. However you could (If you using CRM 4) have the workflow change the owner to the owner of the activity and use the share with previous owner option to enable the old owner access to your custom entity?

OTHER TIPS

It is possible only by invoking custom workflow activity. Inside the custom workflow activity, you can invoke GrantAccessRequest and GrantAccessResponse by configuring the PrincipalAccess object.

Please refer to this "Sharing Object" section for details.

If you'll decide to go with custom plugin, your code might look like this:

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);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top