Freigeben über


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).