Share via


Benutzerdefinierte Aktivitäten

In Dynamics 365 Customer Engagement (on-premises) können Sie benutzerdefinierte Aktivitäten erstellen, um den Kommunikationsbedarf eines modernen Unternehmens zu unterstützen, wie z. B. Instant Messaging (IM) und Short Message Service (SMS). Um eine angepasste Aktivität in Customer Engagement zu erstellen, erstellen Sie eine benutzerdefinierte Entität und geben Sie diese mit der Eigenschaft EntityMetadata.IsActivity als Aktivitätsentität an.

Im Unterschied zu anderen benutzerdefinierten Entitäten können Sie jedoch kein primäres Attribut für eine benutzerdefinierte Aktivität angeben, da standardmäßig jede benutzerdefinierte Aktivität über ein primäres Attribut mit dem Namen "Betreff" verfügen muss.

Wenn Sie eine benutzdefinierte Aktivitätsentität erstellen, werden alle Rechte der activitypointer-Entität von der benutzerdefinierten Aktivität vererbt. Außerdem werden alle Aktivitätsparteitypen für die benutzerdefinierte Aktivität verfügbar, und als Ergebnis werden auch die entsprechenden Eigenschaften vererbt.

1:n-Beziehungen für eine benutzerdefinierte Aktivität können auf die gleiche Weise erstellt werden wie bei anderen Aktivitäten, und auch vorhandene Beziehungen können aktualisiert werden.

Rechte und Zugriffsrechte

Für die Arbeit mit angepassten Aktivitäten benötigen Sie die gleichen auf Customer Engagement festgelegten Privilegien und Zugriffsrechte wie für die Arbeit mit angepassten Entitäten. Weitere Informationen zum Erstellen benutzerdefinierter Entitäten siehe Anpassen von Entitätsmetadaten.

Erstellen einer benutzerdefinierten Aktivität

Um eine beutzerdefinierte Aktivitätsentität zu erstellen, legen Sie die Werte der Eigenschaften fest, die in der folgenden Tabelle aufgeführt sind.

Eigenschaftenname Wert Notizen
EntityMetadata.IsActivity true Geben Sie die benutzerdefinierte Entität als Aktivitätsentität an.
EntityMetadata.IsAvailableOffline true Eine benutzerdefinierte Aktivitätsentität muss eine Offlineverfügbarkeit besitzen.
EntityMetadata.IsMailMergeEnabled false Für eine benutzerdefinierte Aktivitätsentität kann Seriendruck nicht aktiviert werden.
EntityMetadata.OwnershipType OwnershipTypes. TeamOwned
oder
OwnershipTypes. UserOwned
Eine benutzerdefinierte Entität kann sich entweder im Besitz Teams oder eines Benutzers befinden.
EntityMetadata.ActivityTypeMask 0 - Keine
oder
1 – Kommunikationsaktivitäten
(Optional) Geben Sie an, dass eine benutzerdefinierte Aktivität während der Aktivitätsmenüs in der Webanwendung angezeigt werden soll.

- Geben Sie 0 (Keine) an, um die Anzeige in den Aktivitätsmenüs auszublenden. Die benutzerdefinierte Aktivität wird in den zugeordneten Rastern nur derjenigen Entitäten angezeigt, denen sie zugeordnet ist (Beziehung enthält).
- Geben Sie 1 (Kommunikationsaktivität) ein, damit sie in den Aktivitätsmenüs erscheint.

Wenn Sie nicht diese Eigenschaft nicht angeben, wird die benutzerdefinierte Aktivität mit dem Standard-Eigenschaftswert erstellt: 1. Das bedeutet, dass die benutzerdefinierte Aktivität in den Aktivitätsmenüs verfügbar ist. Außerdem kann ActivityTypeMask nur während der Aktivitätserstellung festgelegt werden, und kann nach Festlegung nicht mehr geändert werden.
CreateEntityRequest.HasActivities false Eine benutzerdefinierte Aktivitätsentität darf keine Beziehung zu Aktivitäten haben.
CreateEntityRequest.HasNotes true Eine benutzerdefinierte Aktivitätsentität muss Beziehung zu Hinweisen haben.
CreateEntityRequest. PrimaryAttribute SchemaName ist „Betreff“. Der Schemaname des PrimaryAttribute muss für alle Aktivitäten “Betreff” sein.

Beispiel

Das folgende Beispiel zeigt, wie Sie eine benutzerdefinierte Aktivität erstellen können.



String prefix = "new_";

String customEntityName = prefix + "instantmessage";

// Create the custom activity entity.
CreateEntityRequest request = new CreateEntityRequest
{
    HasNotes = true,
    HasActivities = false,
    PrimaryAttribute = new StringAttributeMetadata
    {
        SchemaName = "Subject",
        RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
        MaxLength = 100,
        DisplayName = new Label("Subject", 1033)
    },
    Entity = new EntityMetadata
    {
        IsActivity = true,
        SchemaName = customEntityName,
        DisplayName = new Label("Instant Message", 1033),
        DisplayCollectionName = new Label("Instant Messages", 1033),
        OwnershipType = OwnershipTypes.UserOwned,
        IsAvailableOffline = true,

    }
};

_serviceProxy.Execute(request);

//Entity must be published

Siehe auch

Aktivitätsentitäten
ActivityPointer (Aktivität) Entität
Beispiel: Erstellen einer benutzerdefinierten Aktivität
Beispiel: Erstellen und Aktualisieren von Entitäts-Metadaten