简体   繁体   中英

How to share a record in MS Dynamics CRM using workflow

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?

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);

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?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM