Personalizar metadatos de atributos de entidad

Utilice AttributeMetadata (EntityType AttributeMetadata o la clase AttributeMetadata) para recuperar los atributos existentes. La clase AttributeMetadata se obtiene mediante el mensaje RetrieveAttributeRequest. AttributeMetadata se hereda de la clase MetadataBase abstracta (EntityType MetadataBase para la API web y MetadataBase en el caso del servicio de la organización).

Utilice la siguiente consulta de la API web para recuperar los atributos de entidad en el contexto de una entidad al expandir la propiedad de navegación valorada como colección Attributes. Más información: Consultar atributos EntityMetadata

GET [Organization URI]/api/data/v9.1/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)?$select=LogicalName&$expand=Attributes($select=LogicalName;$filter=AttributeType eq Microsoft.Dynamics.CRM.AttributeTypeCode'Picklist')

Use la clase específica para cada tipo de atributo con el mensaje CreateAttribute (para el servicio de la organización, consulte CreateAttributeRequest) para actualizar atributos o crear atributos personalizados.

Nota

Puede acceder mediante programación a los atributos personalizados tras crearlos, pero debe agregarlos a un formulario de entidad y publicarlos para que los usuarios puedan verlos.

Tipos de atributos

La siguiente tabla muestra los distintos tipos de Attribute disponibles. Cada atributo hereda de AttributeMetadata.

Clase Etiqueta en la aplicación Descripción
BooleanAttributeMetadata Dos opciones Atributo booleano. Puede especificar el texto de las dos opciones. Cuando se añade a un formulario, las propiedades de campo controlan si el atributo se muestra como dos botones de opción, una casilla o una lista.
DateTimeAttributeMetadata Fecha y hora Atributo de fecha y hora. Puede especificar el comportamiento para almacenar valores de fecha y hora con o sin información de zona horaria, y el formato para definir el formato de visualización de los valores. Más información: Comportamiento y formato del atributo de fecha y horaNota: si usa Dynamics 365 Customer Engagement (on-premises) o Dynamics CRM 2016 (on-premises), todos los atributos de fecha y hora ahora admiten valores tan antiguos como 1/1/1753 12:00 horas.
DecimalAttributeMetadata Número decimal Atributo decimal. Puede especificar el nivel de precisión con hasta diez decimales, y los valores mínimo y máximo entre -100.000.000.000 y 100.000.000.000.
DoubleAttributeMetadata Número de punto flotante Atributo doble. Puede especificar el nivel de precisión con hasta cinco decimales, y los valores mínimo y máximo entre -100.000.000.000 y 100.000.000.000. Nota: la clase DoubleAttributeMetadata reemplaza a la clase FloatAttributeMetadata que se usaba en Dynamics CRM 4.0.
ImageAttributeMetadata Image Atributo de imagen. Cada entidad puede tener un atributo de imagen. Determinadas entidades del sistema tienen atributos de imagen y no se pueden agregar nuevos atributos de imagen a las entidades del sistema que no las tienen. Puede agregar un atributo de imagen a las entidades personalizadas.

Todos los atributos de imagen tienen ‘EntityImage’ en la propiedad SchemaName y ‘entityimage’ en la propiedad LogicalName. En el nombre de los atributos de imagen personalizados no se usa el prefijo de personalización del editor de soluciones. Más información: Imágenes de entidad.
IntegerAttributeMetadata Número entero Atributo entero. Puede especificar los valores mínimo y máximo entre -2.147.483.648 y 2.147.483.647.

Se puede dar formato a este atributo para crear los siguientes tipos de campos mediante la enumeración IntegerFormat (EnumType IntegerFormat o enumeración IntegerFormat):

- Duración: muestra una lista desplegable que contiene intervalos de tiempo. El usuario puede seleccionar un valor de la lista o escribir un valor entero que represente el número de minutos.
- Zona horaria: muestra una lista desplegable de zonas horarias.
- Idioma: muestra una lista desplegable con los idiomas que se hayan habilitado para la organización. Si no se ha activado ningún otro idioma, el idioma base será la única opción. El valor guardado es el valor del LCID del idioma.
LookupAttributeMetadata Búsqueda Atributo que se crea al crear una relación entre entidades con el mensaje CreateOneToMany (para el servicio de la organización, consulte el mensaje CreateOneToManyRequest).
MemoAttributeMetadata Varias líneas de texto Atributo de memorando. Muestra un campo con un cuadro de texto en un formulario. La longitud máxima es de 1048576 caracteres.
MoneyAttributeMetadata Divisa Atributo monetario. Puede especificar los valores mínimo y máximo entre -922.337.203.685.477 y 922.337.203.685.477.

El nivel de precisión se puede establecer mediante la propiedad MoneyAttributeMetadata.PrecisionSource:

- Cuando la precisión se establece en cero (0), se usa el valor de MoneyAttributeMetadata.Precision.
- Cuando la precisión se establece en uno (1), se usa el valor de Organization.PricingDecimalPrecision.
- Cuando la precisión se establece en dos (2), se usa el valor de TransactionCurrency.CurrencyPrecision.
MultiSelectPicklistAttributeMetadata Conjunto de opciones multiselección Un atributo de la lista desplegable de selección múltiple. Los atributos de lista desplegable de selección múltiple se agregaron con Dynamics 365 Customer Engagement (on-premises) versión 9. Este atributo proporciona un conjunto de opciones que se muestran en una lista desplegable. Se puede seleccionar más de una opción. Puede crear este atributo de lista desplegable de modo que contenga sus propias opciones o usar un conjunto de opciones globales.
PicklistAttributeMetadata Conjunto de opciones Un atributo de lista desplegable. Este atributo proporciona un conjunto de opciones que se muestran en una lista desplegable. Puede crear el atributo de lista desplegable de modo que contenga sus propias opciones o usar un conjunto de opciones globales.
StateAttributeMetadata Estado El atributo de estado se crea automáticamente al crear la entidad. Nota: las opciones disponibles para este atributo son de solo lectura.
StatusAttributeMetadata Razón para el estado El atributo de estado se crea automáticamente al crear la entidad. Cada una de las opciones debe asociarse al atributo StateAttributeMetadata de la entidad. Use el mensaje InsertStatusValueRequest para actualizar las opciones disponibles para este atributo. Nota: cada StatusOption debe hacer referencia a un valor de atributo de estado específico porque los valores de los estados dependen de un valor de estado específico.
StringAttributeMetadata Línea de texto única Consulte Formatos StringAttributeMetadata.

Formatos de StringAttributeMetadata

Se puede dar formato a los atributos de cadena para permitir que los vínculos inicien llamadas de teléfono mediante Lync o Skype. Este cambio requiere que se agregue una nueva propiedad FormatName (para el servicio de la organización, consulte FormatName) a StringAttributeMetadata (EntityType StringAttributeMetadata o clase StringAttributeMetadata) y que la propiedad Format quede obsoleta.

Usar la enumeración StringFormat (EnumType StringFormat o enumeración StringFormat) para definir el formato de StringAttributeMetadata.Format (para el servicio de la organización, consulte StringAttributeMetadata.Format) es una acción obsoleta. En su lugar, use la clase StringFormatName para establecer el valor de StringAttributeMetadata.FormatName.

Esto permite establecer el valor del formato de PhoneNumber, que no existe en la enumeración StringFormat.

Para la compatibilidad con versiones anteriores, puede establecer un valor para controlar cómo se formatea el atributo usando la propiedad Format o FormatName. El código existente seguirá funcionando si solo usa Format, pero no podrá dar formato a un atributo como número de teléfono sin usar FormatName. Si se establecen ambas propiedades, se aplicará el valor establecido mediante FormatName.

El mensaje StringFormatName (ComplexType StringFormatName o clase StringFormatName) contiene los siguientes miembros, cada uno de los cuales devuelve una cadena con el mismo valor que el nombre del miembro:

Nombre y valor del miembro Descripción
Email El campo de formulario validará el valor de texto como dirección de correo electrónico y creará un vínculo mailto en el campo.
PhoneNumber El campo de formulario contendrá un vínculo para iniciar una llamada de teléfono mediante Skype.
PhoneticGuide Solo para uso interno.
Text El formulario mostrará un cuadro de texto.
TextArea El formulario mostrará un campo de área de texto.
TickerSymbol El formulario mostrará un vínculo que se abrirá para mostrar la cotización del valor bursátil correspondiente al símbolo.
URL El formulario mostrará un vínculo para abrir la dirección URL.
VersionNumber Para uso interno.

Consultar también

Ampliar el modelo de los metadatos para Dynamics 365 Customer Engagement
Trabajar con atributos
Comportamiento y formato del atributo de fecha y hora
Mensajes de metadatos de atributos de entidad
Ejemplo: Trabajar con atributos
Ejemplo: Volcar metadatos de atributo en un archivo
Ejemplo: Volcar metadatos de lista desplegable de atributo en un archivo
Ejemplo: Convertir el comportamiento de fecha y hora