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