Compartir a través de


Actividades personalizadas

En Microsoft Dataverse, puede crear actividades personalizadas para satisfacer las necesidades de comunicación de una empresa como mensajería instantánea (IM) y servicio de mensajes cortos (SMS). Para crear una actividad personalizada en Dataverse, cree una tabla personalizada y especifíquela como tabla de actividad utilizando la propiedad EntityMetadata.IsActivity .

Sin embargo, al contrario que otras tablas personalizadas, no puede especificar una columna primaria para una actividad personalizada porque, de forma predeterminada, cada actividad personalizada debe tener una columna primaria llamada "Asunto".

Cuando crea una actividad personalizada, todas las propiedades y privilegios de la tabla activitypointer se heredan para la actividad personalizada. Además, todos los tipos del grupo de actividad están disponibles para la actividad personalizada y, por consiguiente, las propiedades correspondientes también se heredan.

Puede crear relaciones de 1:N (uno a varios) para una actividad personalizada de la misma forma que para cualquier otra actividad. Puede, además, actualizar relaciones existentes.

Privilegios y derechos de acceso

Se requiere el mismo conjunto de privilegios y derechos de acceso de Dataverse para trabajar con actividades personalizadas como los necesarios para trabajar con entidades personalizadas. Para obtener más información acerca de las tablas, vea Personalizar la definición de tablas.

Creación de una actividad personalizada

Para crear una actividad personalizada, establezca los valores de las propiedades enumeradas en la tabla siguiente.

Nombre de la propiedad valor Notas
EntityMetadata. IsActivity true Especifique la tabla personalizada como taba de actividad.
EntityMetadata. IsAvailableOffline true Una tabla de actividad personalizada debe tener disponibilidad sin conexión.
EntityMetadata. IsMailMergeEnabled false Una tabla de actividad personalizada no puede tener habilitada la combinación de correspondencia.
EntityMetadata. OwnershipType OwnershipTypes. TeamOwned
or
OwnershipTypes. UserOwned
Una tabla de actividad personalizada puede ser propiedad de un usuario o un equipo.
EntityMetadata. ActivityTypeMask 0 - Ninguna
or
1 – Actividad de comunicación
(Opcional) Especifique si una actividad personalizada debe aparecer en los menús de la actividad en la aplicación web.

- Especifique 0 (ninguna) para evitar que aparezca en los menús de actividad. La actividad personalizada aparecerá en las cuadrículas asociadas sólo de esas entidades con las que esté asociada (tiene relación).
- Especifique 1 (actividad de comunicación) para que aparezca en los menús de actividad.

Si no especifica esta propiedad, la actividad personalizada se crea con el valor de propiedad predeterminado: 1. Es decir, la actividad personalizada está disponible en los menús de actividad. Por otro lado, ActivityTypeMask se puede establecer en el momento de creación de la actividad solo, y una vez establecido, no se puede editar.
CreateEntityRequest. HasActivities false Una tabla de actividad personalizada no debe tener una relación con actividades.
CreateEntityRequest. HasNotes true Una tabla de actividad personalizada debe tener una relación con notas.
CreateEntityRequest. PrimaryAttribute SchemaName es “Asunto”. El nombre de esquema de PrimaryAttribute para todas las actividades debe ser "Asunto".

Ejemplo

El siguiente ejemplo muestra cómo se puede crear una actividad personalizada.

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

Consultar también

Tablas de actividades
Tabla ActivityPointer (actividad)

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).