Domanda

Vorrei fare quanto segue:

quando un addetto alle vendite assegna un'entità personalizzata (chiamiamola "Competenza primaria") a un'opportunità in MS CRM 4.0, il sistema condividerebbe l'opportunità con l'utente definito come proprietario della "competenza primaria" associata record.

Vorrei farlo automaticamente tramite flusso di lavoro ma non riesco a trovare il passaggio del flusso di lavoro che lo farebbe. Sì, e ho letto su alcuni forum che in realtà non è ancora possibile, solo tramite un assembly .NET.

Esperienza, chiunque?

È stato utile?

Soluzione

Corretto, è possibile solo tramite assembly .NET. Tuttavia, è possibile (se si utilizza CRM 4) far sì che il flusso di lavoro cambi il proprietario in proprietario dell'attività e utilizzare l'opzione condividi con proprietario precedente per abilitare l'accesso del proprietario precedente all'entità personalizzata?

Altri suggerimenti

È possibile solo invocando l'attività del flusso di lavoro personalizzata. All'interno dell'attività del flusso di lavoro personalizzata, è possibile richiamare GrantAccessRequest e GrantAccessResponse configurando l'oggetto PrincipalAccess .

Fai riferimento a questo " Oggetto di condivisione " sezione per i dettagli.

Se deciderai di utilizzare un plug-in personalizzato, il tuo codice potrebbe apparire così:

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top