Definiciones de columnas

Las tablas incluyen una colección de columnas que representan los datos que se pueden incluir en cada registro. Los programadores deben comprender los diferentes tipos de columnas y cómo trabajar con ellos.

Nota

¿No está seguro de entidad frente a tabla? Vea Desarrolladores: comprender la terminología en Microsoft Dataverse.

Nombres de columnas

Al igual que las tablas, cada columna tiene un nombre único definido cuando se crea. Este nombre aparece de diversas formas:

Nombre Descripción
SchemaName Normalmente, una versión con estilo de mayúsculas y minúsculas Pascal del nombre lógico. Por ejemplo, AccountNumber
LogicalName Un nombre todo en minúsculas. Por ejemplo, accountnumber

Al crear una columna personalizada, el nombre que elija estará antepuesto con el valor del prefijo de personalización del editor de soluciones asociado con la solución donde se creó la columna.

No puede cambiar los nombres de una columna después de haberla creado.

Cada columna también tiene dos propiedades que pueden mostrar valores localizados. Estos son los valores que se usan para referirse a las columnas en una aplicación.

Nombre Descripción
DisplayName Normalmente, es igual al nombre de esquema, pero puede incluir espacios. Por ejemplo Número de cuenta.
Description Una breve frase que describe la columna o que proporciona instrucciones al usuario. Por ejemplo, Escriba un número o un código de identificación de la cuenta para buscar e identificar rápidamente la cuenta en las vistas del sistema.
En aplicaciones basadas en modelos, esta información aparecerá cuando los usuarios pasen el ratón sobre la columna en un formulario.

Estos son los valores localizables que se usan para referirse a las columnas en una aplicación. Estos valores se puede cambiar en cualquier momento. Para agregar o editar valores localizados, consulte Traducir texto de tabla, formulario y de columna personalizados a otros idiomas.

Tipos de columna

AttributeTypeName property describe el tipo de una columna. Esta propiedad contiene un valor de tipo AttributeTypeDisplayName que proporciona una etiqueta para cada uno de los diferentes tipos de columnas que existan.

Nota

No se confunda con AttributeType property. Los valores en esta propiedad antigua están fundamental alineados con AttributeTypeName , pero muestra ImageAttributeMetadata y MultiSelectPicklistAttributeMetadata como Virtual. Consulte AttributeTypeName property en lugar de AttributeType property.

En la siguiente tabla:

  • Estos tipos de agrupan por categoría para su comparación.
  • Por cada AttributeTypeDisplayName value, se incluye la correspondiente clase AttributeMetadata derivada del ensamblado .NET si está disponible. No hay una relación de 1:1 entre estos tipos y la etiqueta AttributeTypeDisplayName.
  • Esos tipos de columnas que se pueden crear como columnas personalizadas incluyen la etiqueta correspondiente que se muestra en la interfaz de usuario.
Categoría AttributeTypeDisplayName/
Tipo de AttributeMetadata
Puede crear/
Etiqueta
Descripción
Categorización BooleanType
BooleanAttributeMetadata

Dos opciones
Contiene el valor de opción seleccionado entre Sí/No, que indican normalmente un valor verdadero o falso.
Más información: Elección
Categorización EntityNameType
EntityNameAttributeMetadata
No Contiene un valor que se corresponde con una tabla del sistema. Para uso interno.
Categorización MultiSelectPicklistType
MultiSelectPicklistAttributeMetadata

Conjunto de opciones multiselección
Contiene varios valores seleccionados donde se pueden seleccionar varios valores.
Más información:
Opción
Columnas de elecciones
Categorización PicklistType
PicklistAttributeMetadata

Conjunto de opciones
Contiene el valor seleccionado donde se puede seleccionar una opción.
Más información: Elección
Categorización StateType
StateAttributeMetadata
No Contiene el valor que describe el estado de un registro de tablas.
Más información: Elección
Categorización StatusType
StatusAttributeMetadata
No Contiene el valor que describe la razón para el estado de un registro de tablas.
Más información: Elección
Recogida CalendarRulesType No Contiene una colección de registros de tabla CalendarRules.
No hay columnas que usen este tipo. Cuando se genera un proxy, la herramienta de generación de código creará dos columnas simuladas que no están presentes en la definición. Estas columnas representan una vista de registros de reglas de calendario asociados en una relación de uno a varios al registro de tablas.
Recogida PartyListType No Contiene una colección de registros de tabla ActivityParty.
Más información: Tabla ActivityParty
Fecha y hora DateTimeType
DateTimeAttributeMetadata

Fecha y hora
Contiene un valor de fecha y hora.
Todas las columnas de fecha y hora admiten valores de hasta 1/1/1753 12:00 a. m.
Archivo FileType
FileAttributeMetadata

Archivo
Contiene datos para admitir la recuperación de datos binarios para un registro de tabla.
Más información: Columnas de archivos
Imagen ImageType
ImageAttributeMetadata

Image
Contiene datos para admitir la recuperación de datos de imagen para un registro de tabla.
Más información: Imágenes de entidad
Propiedad administrada ManagedPropertyType
ManagedPropertyAttributeMetadata
No Contiene datos que describen si el componente de la solución almacenado en el registro de la tabla se puede personalizar cuando está incluido en una solución administrada.
Más información: Propiedades administradas
Cantidad BigIntType
BigIntAttributeMetadata
No Contiene un BigInt value. Para uso interno.
Cantidad DecimalType
DecimalAttributeMetadata

Número decimal
Contiene un Decimal value. Precision property establece el nivel de precisión.
Cantidad DoubleType
DoubleAttributeMetadata

Número de punto flotante
Contiene un Double value. Precision property establece el nivel de precisión.
Cantidad IntegerType
IntegerAttributeMetadata

Número entero
Contiene un Int value
Cantidad MoneyType
MoneyAttributeMetadata

Moneda
Contiene un Decimal value. PrecisionSource property determina dónde se establece el nivel de precisión.
0: Precision property
1: columna Organization.PricingDecimalPrecision
2: columna TransactionCurrency.CurrencyPrecision en el registro de tabla
Referencia CustomerType
LookupAttributeMetadata

Cliente
Contiene una referencia a una cuenta o al registro de tabla de contacto.
Referencia LookupType
LookupAttributeMetadata

Búsqueda
Contiene una referencia a un registro de tabla. Los nombres lógicos de los registros válidos se almacenan normalmente en Targets property de la columna.
Referencia OwnerType
LookupAttributeMetadata
No Contiene una referencia a un registro de tabla de usuario o equipo.
Cadena MemoType
MemoAttributeMetadata

Varias líneas de texto
Contiene un valor de cadena pensado para mostrarse en un cuadro de texto de varias líneas.
Cadena StringType
StringAttributeMetadata

Línea de texto única
Contiene un valor de cadena pensado para mostrarse en un cuadro de texto de una línea.
Identificador único UniqueidentifierType
UniqueIdentifierAttributeMetadata
No Contiene un valor de identificador único de GUID.
Virtual VirtualType No Estas columnas no se pueden usar en código y pueden ser ignorados por lo general.

Operaciones admitidas y el uso de formulario para las columnas

Cada columna incluye las propiedades booleanas que describen las clases de operaciones en las que puede participar y cómo puede estar en un formulario.

Propiedad Descripción
IsRequiredForForm Si la columna debe incluirse en un formulario.
IsValidForCreate Si el valor de columna se puede establecer en una operación de crear.
IsValidForForm Si la columna se puede incluir como una columna en un formulario.
IsValidForRead Si el valor de la columna se puede recuperar.
IsValidForUpdate Si el valor de columna se puede establecer en una operación de actualizar.

Si intenta establecer un valor en una operación de crear o actualizar para una columna que no sea válida para esa operación, el valor se omitirá. Si intenta recuperar una columna que no sea válida para la lectura, se devolverá un valor NULL.

Nivel de requisito de columna

La propiedad RequiredLevel es una propiedad booleana administrada que describe si es necesario un valor de columna.

Esta propiedad puede tener los valores siguientes establecidos:

Nombre Value UI Label Descripción
None 0 Opcional No se especifican requisitos.
SystemRequired 1 Necesario para el sistema El servicio de datos requiere que la columna tenga un valor.
ApplicationRequired 2 Necesario para la empresa La aplicación requiere que la columna tenga un valor.
Recommended 3 Recomendado por la empresa Se recomienda que la columna tenga un valor.

Dataverse solo aplica la opción SystemRequired para las columnas creados por el sistema. Las columnas personalizadas no se pueden configurar para que utilicen la opción SystemRequired. El servicio de datos no devuelve un error cuando una columna con ApplicationRequired aplicado no tiene valor.

Las aplicaciones basadas en modelos aplicarán la opción ApplicationRequired y utilizarán una presentación diferente para la opción Recommended. Los autores de clientes personalizados pueden usar esta información para requerir una validación similar u opciones de presentación.

Como se trata de una propiedad administrada, como editor de una solución administrada puede decidir si los consumidores de la solución pueden modificar esos valores de columnas en la solución.

Más información: Propiedades administradas

Columnas calculadas y consolidadas

Las columnas calculadas y consolidadas liberan al usuario de tener que realizar cálculos manualmente y le permiten centrarse en su trabajo. Los administradores del sistema pueden definir una columna para que contenga el valor de muchos cálculos comunes sin necesidad de trabajar con un desarrollador. Los programadores también pueden aprovechar las capacidades de la plataforma para realizar estos cálculos en vez de en su propio código.

Más información:

Formato de columna

Los valores de formato para columnas controla cómo se muestran en aplicaciones basadas en modelos. El desarrollador de aplicaciones personalizadas puede usar esta información para crear experiencias similares.

Formatos de entero

Use la propiedad Format con columnas enteras para mostrar las experiencias alternativas de usuario para este tipo.

Opción Descripción
None Muestra un cuadro de texto para editar un valor numérico
Duration 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.
TimeZone Muestra una lista desplegable que contiene una lista de zonas horarias.
Language 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.

Formatos de cadena

Use FormatName property con columnas de cadena para establecer valores desde StringFormatName para controlar el formato de la columna de la cadena.

Nombre Descripción
Email La columna de formulario validará el valor de texto como dirección de correo electrónico y creará un vínculo mailto en la columna.
PhoneNumber La columna de formulario contendrá un vínculo para iniciar una llamada de teléfono mediante Skype.
PhoneticGuide Para uso interno.
Text El formulario mostrará un cuadro de texto.
TextArea El formulario mostrará una columna 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 Solo para uso interno.

Formatos de fecha y hora

La propiedad DateTimeBehavior controla el comportamiento de las columnas de fecha y hora. Hay tres opciones:

Opción Descripción breve
UserLocal Almacena el valor de fecha y hora como valor UTC en el sistema.
DateOnly Almacena el valor de fecha real con el valor de hora como 12:00 AM (00:00:00) en el sistema.
TimeZoneIndependent Almacena los valores reales de fecha y hora en el sistema independientemente de la zona horaria del usuario.

Use la propiedad Format para controlar cómo se muestra el valor en una aplicación basada en modelos independientemente de DateTimeBehavior.

Opción Descripción
DateAndTime Mostrar la fecha y hora completas
DateOnly Mostrar solo la fecha.

Más información: Comportamiento y formato de la columna de fecha y hora

Columnas de autonumeración

Puede agregar una columna de autonumeración para cualquier tabla. Actualmente, puede agregar la columna mediante programación. No hay ninguna interfaz de usuario para agregar este tipo de columna. Más información: Crear columnas de autonumeración

Opción

Las columnas que muestran un conjunto de opciones pueden hacer referencia a un conjunto de opciones definidas por la columna o pueden hacer referencia a una serie de opciones que se pueden compartir con más de una columna. Esto resulta particularmente útil cuando los valores de una columna también se aplican a otras columnas. Al hacer referencia a un conjunto de opciones común, las opciones se pueden mantener en un solo lugar. Las opciones que se pueden compartir son de elección global. Los definidos dentro de la columna son elección local.

Recuperar datos de las opciones

El servicio de la organización proporciona clases de solicitud que puede usar para recuperar las opciones usadas por una columna.

Usar el servicio de la organización para recupera opciones

Cada una de las columnas con opciones hereda de EnumAttributeMetadata e incluye una propiedad OptionSet Property. Esta propiedad contiene OptionSetMetadata que incluye las opciones de Options property.

Con el servicio de organización puede usar los siguientes mensajes para recuperar información sobre elecciones:

Clase Request Descripción
RetrieveAllOptionSetsRequest Recupera datos sobre todas las elecciones globales
RetrieveAttributeRequest Recupera datos sobre una columna, incluida cualquier opción
RetrieveMetadataChangesRequest Recupera los metadatos en función de una consulta que puede incluir una opción
Más información: Recuperar y detectar cambios en las definiciones de tabla
RetrieveOptionSetRequest Recupera datos sobre una elección global.

Más información:

Usar la API web para recuperar valores de elecciones

La API web proporciona un estilo RESTful para consultar valores de elección. Puede recuperar opciones locales o globales recuperando la columna dentro de una tabla. El siguiente ejemplo devuelve OptionSetMetadata para la opción incluida en la Account.AccountCategoryCode property.

GET <organization url>/api/data/v9.0/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet

Con la API web también puede utilizar la función RetrieveMetadataChanges Function.

Más información: Consultar definiciones de tabla con la API web > Recuperar atributos

Asignación de columnas

Al crear un nuevo registro de tablas en el contexto de un registro de tabla existente, puede automáticamente transferir algunos valores desde el registro de tablas existente como valores predeterminados para el nuevo registro de tabla. Esto simplifica la entrada de datos para las personas que usan aplicaciones basadas en modelos. Los usuarios de la aplicación ven los valores asignados y los pueden editar antes de guardar la entidad.

Para los programadores que crean clientes personalizados, se puede conseguir el mismo comportamiento si se utiliza el mensaje InitializeFrom (servicio de la organización InitializeFromRequest Class o la API web InitializeFrom Function) para recopilar los datos de la entidad con los valores predeterminados configurados establecidos.

Más información

Consulte también

Tablas de Dataverse

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