Freigeben über


Benutzerdefinierte Aktivitäten

In Microsoft Dataverse können Sie benutzerdefinierte Aktivitäten erstellen, um die Kommunikationsanforderungen eines Unternehmens wie Chatnachrichten und SMS (Short Message Service) zu unterstützen. Um eine benutzerdefinierte Aktivität in Dataverse zu erstellen, erstellen Sie eine benutzerdefinierte Tabelle, und geben Sie sie mithilfe der EntityMetadataEigenschaft alsIsActivity Aktivitätstabelle an.

Im Gegensatz zu anderen benutzerdefinierten Tabellen können Sie jedoch keine primäre Spalte für eine benutzerdefinierte Aktivität angeben, da standardmäßig jede benutzerdefinierte Aktivität eine primäre Spalte mit dem Namen "Betreff" aufweisen muss.

Wenn Sie eine benutzerdefinierte Aktivität erstellen, werden alle Eigenschaften und Berechtigungen der activitypointer Tabelle für die benutzerdefinierte Aktivität geerbt. Darüber hinaus werden alle Aktivitätsparteientypen für die benutzerdefinierte Aktivität verfügbar, und daher werden auch die entsprechenden Eigenschaften geerbt.

Sie können 1:n-Beziehungen (1:N) für eine benutzerdefinierte Aktivität erstellen, genau wie bei einer anderen Aktivität, und auch die bestehenden Beziehungen aktualisieren.

Berechtigungen und Zugriffsrechte

Sie benötigen die gleichen Dataverse-Berechtigungen und Zugriffsrechte, um mit benutzerdefinierten Aktivitäten zu arbeiten, wie sie für die Arbeit mit benutzerdefinierten Entitäten erforderlich sind. Weitere Informationen zu benutzerdefinierten Tabellen finden Sie unter Anpassen der Tabellendefinition.

Erstellen einer benutzerdefinierten Aktivität

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

Eigenschaftsname Wert Hinweise
EntityMetadata.IsActivity true Geben Sie die benutzerdefinierte Tabelle als Aktivitätstabelle an.
EntityMetadata.IsAvailableOffline true Eine benutzerdefinierte Aktivitätstabelle muss offline verfügbar sein.
EntityMetadata.IsMailMergeEnabled false Eine benutzerdefinierte Aktivitätstabelle kann keine Seriendruckfunktion aktiviert haben.
EntityMetadata.OwnershipType OwnershipTypes. TeamOwned
oder
OwnershipTypes. UserOwned
Eine benutzerdefinierte Aktivitätstabelle kann entweder vom Team oder von einem Benutzer besessen werden.
EntityMetadata.ActivityTypeMask 0 - Keine
oder
1 – Kommunikationsaktivität
(Optional) Geben Sie an, ob eine benutzerdefinierte Aktivität in den Aktivitätsmenüs in der Webanwendung angezeigt werden soll.

- Geben Sie 0 (Keine) an, um sie in den Aktivitätsmenüs auszublenden. Die benutzerdefinierte Aktivität wird nur in den zugehörigen Rastern der Entitäten angezeigt, denen sie zugeordnet ist (eine Beziehung hat).
- Geben Sie 1 (Kommunikationsaktivität) an, damit sie in den Aktivitätsmenüs angezeigt wird.

Wenn Sie diese Eigenschaft nicht angeben, wird die benutzerdefinierte Aktivität mit dem Standardwert der Eigenschaft 1 erstellt. Das heißt, die benutzerdefinierte Aktivität ist in den Aktivitätsmenüs verfügbar. Darüber hinaus kann ActivityTypeMask nur zur Erstellungszeit der Aktivität festgelegt werden und kann danach nicht mehr geändert werden.
CreateEntityRequest.HasActivities false Eine benutzerdefinierte Aktivitätstabelle darf keine Beziehung zu Aktivitäten haben.
CreateEntityRequest.HasNotes true Eine benutzerdefinierte Aktivitätstabelle muss eine Beziehung zu Notizen haben.
CreateEntityRequest. PrimaryAttribute SchemaName ist "Betreff". Der Schemaname der PrimaryAttribute für alle Aktivitäten muss "Subject" sein.

Example

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
ActivityPointer -Tabelle (Aktivität)