Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans Microsoft Dataverse, vous pouvez créer des activités personnalisées pour prendre en charge les besoins de communication d’une entreprise, telles que la messagerie instantanée et le service sms (Short Message Service). Pour créer une activité personnalisée dans Dataverse, créez une table personnalisée et spécifiez-la en tant que table d’activité à l’aide de la EntityMetadatapropriété .IsActivity
Toutefois, contrairement à d’autres tables personnalisées, vous ne pouvez pas spécifier de 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 privilèges de la activitypointer table sont hérités pour 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 avez besoin du même ensemble de privilèges Dataverse et des droits d’accès pour travailler avec des activités personnalisées que celles requises pour travailler avec des entités personnalisées. Pour plus d’informations sur les tables personnalisées, consultez Personnaliser la définition de table.
Création d’une activité personnalisée
Pour créer une activité personnalisée, définissez les valeurs des propriétés répertoriées dans le tableau suivant.
| Nom de la propriété | Valeur | Remarques |
|---|---|---|
| EntityMetadata.IsActivity | true |
Spécifiez la table personnalisée en tant que table d’activité. |
| EntityMetadata.IsAvailableOffline | true |
Une table d’activités personnalisée doit disposer d’une disponibilité hors connexion. |
| EntityMetadata.IsMailMergeEnabled | false |
Une table d’activité personnalisée ne peut pas avoir le publipostage activé. |
| EntityMetadata.OwnershipType |
OwnershipTypes. TeamOwned or OwnershipTypes. UserOwned |
Une table d’activité personnalisée peut être détenue par l’équipe ou par l’utilisateur. |
| EntityMetadata.ActivityTypeMask | 0 - Aucun or 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és personnalisée ne doit pas avoir de relation avec les activités. |
| CreateEntityRequest.HasNotes | true |
Une table d’activités personnalisée doit avoir une relation avec les notes. |
| CreateEntityRequest. PrimaryAttribute | SchemaName est « Subject ». | Le nom de schéma de PrimaryAttribute pour toutes les activités doit être « Subject ». |
Example
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