Benutzerdefinierte Aktivitäten
In Microsoft Dataverse 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 Dataverse zu erstellen, erstellen Sie eine benutzerdefinierte Tabelle und geben diese als Aktivitätstabelle mit EntityMetadata und IsActivity an. Eigenschaft verfügbar sind.
Im Gegensatz zu anderen benutzerdefinierten Tabellen können Sie für eine benutzerdefinierte Aktivität jedoch keine primäre Spalte angeben, da jede benutzerdefinierte Aktivität standardmäßig eine primäre Spalte namens „Betreff“ haben muss.
Wenn Sie eine angepasste Aktivität erstellen, werden alle Eigenschaften und Berechtigungen der Tabelle activitypointer
für die angepasste Aktivität geerbt. 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
Sie benötigen denselben Satz von Dataverse-Rechten und -Zugriffsrechten , um benutzerdefinierte Aktivitäten zu verwenden, wie die, die nötig sind, um benutzerdefinierte Entitäten zu verwenden. Weitere Informationen über angepasste Tabellen finden Sie unter Anpassen der Tabellendefinition.
Erstellen einer benutzerdefinierten Aktivität
Um eine angepasste Aktivität zu erstellen, legen Sie die Werte der in der folgenden Tabelle aufgeführten Eigenschaften fest.
Eigenschaftsname | Wert | Hinweise |
---|---|---|
EntityMetadata. IsActivity | true |
Geben Sie die angepasste Tabelle als Aktivitätstabelle an. |
EntityMetadata. IsAvailableOffline | true |
Eine angepasste Aktivitätentabelle muss offline verfügbar sein. |
EntityMetadata. IsMailMergeEnabled | false |
Für eine angepasste Aktivitätstabelle darf kein Seriendruck aktiviert sein. |
EntityMetadata. OwnershipType | OwnershipTypes. TeamOwned or OwnershipTypes. UserOwned |
Eine angepasste Aktivitätstabelle kann entweder team- oder benutzereigen sein. |
EntityMetadata. ActivityTypeMask | 0 - Keine or 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 (None) an, um sie 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 (Kommunikations-Aktivität) an, um sie in den Aktivitätsmenüs anzuzeigen. 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 angepasste Aktivitätentabelle darf keine Beziehung zu Aktivitäten haben. |
CreateEntityRequest. HasNotes | true |
Eine angepasste Aktivitätstabelle muss eine Beziehung zu Notizen 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 table.
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ätstabellen
AktivitätsZeiger (Aktivitäts)-Tabelle
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).