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