Compartir a través de


Actividades personalizadas

En Dynamics 365 Customer Engagement (on-premises), 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 Customer Engagement, cree una entidad personalizada, y especifíquela como una entidad de actividad con la propiedad EntityMetadata.IsActivity

Sin embargo, al contrario que otras entidades personalizadas, no puede especificar un atributo primario para una actividad personalizada porque, de forma predeterminada, cada actividad personalizada debe tener un atributo primario llamado "Asunto".

Cuando crea una entidad de actividad personalizada, todas las propiedades y privilegios de la entidad 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 Customer Engagement para trabajar con actividades personalizadas como los necesarios para trabajar con entidades personalizadas. Para obtener más información acerca de las entidades personalizadas, vea Personalizar metadatos de entidad.

Creación de una actividad personalizada

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

Nombre de propiedad Valor Notas
EntityMetadata.IsActivity true Especifique la entidad personalizada como una entidad de actividad.
EntityMetadata.IsAvailableOffline true Una entidad de actividad personalizada debe tener disponibilidad sin conexión.
EntityMetadata.IsMailMergeEnabled false Una entidad de actividad personalizada no puede tener habilitada la combinación de correspondencia.
EntityMetadata.OwnershipType OwnershipTypes. TeamOwned
o
OwnershipTypes. UserOwned
Una entidad de actividad personalizada puede ser propiedad de un usuario o un equipo.
EntityMetadata.ActivityTypeMask 0 - Ninguna
o
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 entidad de actividad personalizada no debe tener una relación con actividades.
CreateEntityRequest.HasNotes true Una entidad 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 entity.
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

Vea también

Entidades de actividad
Entidad ActivityPointer (actividad)
Ejemplo: crear una actividad personalizada
Ejemplo: crear y actualizar metadatos de entidad