Frage

Ich möchte Folgendes tun:

Wenn ein Verkäufer eine benutzerdefinierte Einheit (nennen wir es "Primärkompetenz") einer Gelegenheit in MS CRM 4.0 zu, würde das System die Gelegenheit mit dem Benutzer teilen, der als Eigentümer des zugehörigen "Primary Expertise" -Teils definiert wird.

Ich würde es gerne automatisch über Workflow machen, kann aber den Workflow -Schritt nicht finden, der dies erreichen würde. Ja, und ich habe in einigen Foren gelesen, dass es noch nicht möglich ist, nur über eine .NET -Assembly.

Erfahrung, jemand?

War es hilfreich?

Lösung

Richtig, es ist nur über .NET -Baugruppe möglich. Sie könnten jedoch (wenn Sie CRM 4 verwenden) den Workflow den Eigentümer in den Eigentümer der Aktivität ändern lassen und die Aktien mit der Option der Vorbesitzer verwenden, um dem alten Eigentümer Zugriff auf Ihre benutzerdefinierte Einheit zu ermöglichen?

Andere Tipps

Es ist nur möglich, wenn benutzerdefinierte Workflow -Aktivitäten aufgerufen werden. In der benutzerdefinierten Workflow -Aktivität können Sie aufrufen GrantAccessRequest und GrantAccessResponse durch Konfiguration der PrincipalAccess Objekt.

Bitte beachten Sie dies "Teilen von Objekt"Abschnitt für Einzelheiten.

Wenn Sie sich für ein benutzerdefiniertes Plugin entscheiden, sieht Ihr Code möglicherweise so aus:

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top