Partage via


Activités personnalisées

Dans Microsoft Dataverse, vous pouvez créer des activités personnalisées pour prendre en charge les besoins en communications d’une entreprise comme la messagerie instantanée (IM) et les SMS. Pour créer une activité personnalisée dans Dataverse, créez une table personnalisée, puis spécifiez-la en tant que table d’activité à l’aide de la propriété EntityMetadata.IsActivity .

Toutefois, contrairement d’autres tables personnalisées, vous ne pouvez pas spécifier une colonne principale pour une activité personnalisée car, par défaut, chaque activité personnalisée doit avoir une colonne principale nommée « Subject ».

Lorsque vous créez une activité personnalisée, toutes les propriétés et tous les privilèges de la table activitypointer sont hérités par l’activité personnalisée. De plus, tous les types de groupes d’activité sont disponibles pour l’activité personnalisée et, par conséquent, les propriétés correspondantes sont également héritées.

Vous pouvez créer des relations 1 à plusieurs (1 à N) pour une activité personnalisée, comme pour n’importe quelle autre activité. En outre, vous pouvez mettre à jour les relations existantes.

Privilèges et droits d’accès

Vous devez disposer du même groupe de privilèges et de droits d’accès Dataverse pour utiliser des activités personnalisées que pour utiliser les entités personnalisées. Pour plus d’informations sur les tables personnalisées, voir Personnaliser la définition de la table.

Création d’une activité personnalisée

Pour créer une activité personnalisée, définissez les valeurs des propriétés listées dans le tableau suivant.

Nom de la propriété valeur Notes
EntityMetadata. IsActivity true Spécifiez la table personnalisée comme table d’activité.
EntityMetadata. IsAvailableOffline true Une table d’activité personnalisée doit comporter la disponibilité hors connexion.
EntityMetadata. IsMailMergeEnabled false Le publipostage ne doit pas être activé sur une table d’activité personnalisée.
EntityMetadata. OwnershipType OwnershipTypes. TeamOwned
ou
OwnershipTypes. UserOwned
Une table d’activité personnalisée peut être détenue par un utilisateur ou une équipe.
EntityMetadata. ActivityTypeMask 0 - Aucun
ou
1 – Activité de communication
(Facultatif) Indiquez si une activité personnalisée doit figurer dans les menus d’activité dans l’application web.

- Spécifiez 0 (Aucun) pour l’empêcher de s’afficher dans les menus d’activité. L’activité personnalisée apparaît dans les grilles associées uniquement aux entités avec lesquelles elle est associée (elle a une relation).
- Spécifiez 1 (Activité de communication) pour la faire s’afficher dans les menus d’activité.

Si vous ne spécifiez pas cette propriété, l’activité personnalisée est créée avec la valeur de propriété par défaut 1. Cela signifie que l’activité personnalisée est disponible dans les menus d’activité. Par ailleurs, ActivityTypeMask peut être défini au moment de la création de l’activité uniquement et, une fois défini, ne peut pas être modifié.
CreateEntityRequest. HasActivities false Une table d’activité personnalisée ne doit pas avoir une relation avec des activités.
CreateEntityRequest. HasNotes true Une table d’activité personnalisée doit avoir une relation avec des notes.
CreateEntityRequest. PrimaryAttribute SchemaName est « Subject ». Le nom de schéma de PrimaryAttribute pour toutes les activités doit être « Subject ».

Exemple

L’exemple suivant explique comment créer une activité personnalisée.

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

Voir aussi

Tables d’activité
Table ActivityPointer (d’activité)

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).