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.
Nombres de columnas
Al igual que las tablas, cada columna tiene un nombre único definido cuando se crea. Este nombre aparece de diversas formas:
Name | 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 se antepone 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. Los valores de estas propiedades se usan para referirse a las columnas en una aplicación.
Name | 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 aparece 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 etiquetaAttributeTypeDisplayName
. - 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 |
Sí 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 |
Sí 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 |
Sí 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 crea 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 |
Sí 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 |
Sí Archivo |
Contiene datos para admitir la recuperación de datos binarios para un registro de tabla. Más información: Trabajar con definiciones de columna de archivo mediante código |
Imagen | ImageType ImageAttributeMetadata |
Sí 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 |
Sí | Contiene un BigInt value. |
Cantidad | DecimalType DecimalAttributeMetadata |
Sí Número decimal |
Contiene un Decimal value. Precision property establece el nivel de precisión. |
Cantidad | DoubleType DoubleAttributeMetadata |
Sí Número de punto flotante |
Contiene un Double value. Precision property establece el nivel de precisión. |
Cantidad | IntegerType IntegerAttributeMetadata |
Sí Número entero |
Contiene un Int value |
Cantidad | MoneyType MoneyAttributeMetadata |
Sí Moneda |
Contiene un Decimal value. PrecisionSource property determina dónde se establece el nivel de precisión.0: Precision property1: columna Organization.PricingDecimalPrecision 2: columna TransactionCurrency.CurrencyPrecision en el registro de tabla |
Referencia | CustomerType LookupAttributeMetadata |
Sí Cliente |
Contiene una referencia a una cuenta o al registro de tabla de contacto. |
Referencia | LookupType LookupAttributeMetadata |
Sí 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 |
Sí 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 |
Sí 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.
Property | 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 omite. Si intenta recuperar una columna que no es válida para la lectura, se devuelve 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 Etiqueta | Descripción |
---|---|---|---|
None |
0 | Opcional | No se especifican requisitos. |
SystemRequired |
1 | Necesario para el sistema | Dataverse 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
. Dataverse no devuelve un error cuando una columna con ApplicationRequired
aplicado no tiene un valor.
Las aplicaciones basadas en modelos aplican la opción ApplicationRequired
y utilizan 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 RequiredLevel
es 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 de fórmula, consolidadas y calculadas
Las columnas de fórmulas, consolidadas y calculadas 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 usar las capacidades de la plataforma para realizar estos cálculos en vez de en su propio código.
Más información:
- Definir columnas consolidadas que agregan valores
- Definir columnas calculadas para automatizar los cálculos manuales
- Columnas de fórmula, consolidadas y calculadas
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 han habilitado idiomas adicionales, el idioma base es 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.
Name | Descripción |
---|---|
Email |
La columna de formulario valida el valor de texto como dirección de correo electrónico y crea un vínculo mailto en la columna. |
PhoneNumber |
La columna de formulario contiene un vínculo para iniciar una llamada de teléfono mediante Skype. |
PhoneticGuide |
Para uso interno. |
Text |
El formulario muestra un cuadro de texto. |
TextArea |
El formulario muestra una columna de área de texto. |
TickerSymbol |
El formulario muestra un vínculo que se abre para mostrar la cotización del valor bursátil correspondiente al símbolo. |
URL |
El formulario muestra un vínculo para abrir la dirección URL. |
VersionNumber |
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 ú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 SDK para .NET proporciona clases de solicitud que puede usar para recuperar las opciones usadas por una columna.
Usar SDK para .NET para recuperar opciones
Cada una de las columnas con opciones heredan de EnumAttributeMetadata incluyen una propiedad OptionSet. Esta propiedad contiene OptionSetMetadata que incluye las opciones en la propiedad Options.
Con el SDK para .NET puede usar las siguientes clases de solicitud 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: Definiciones de esquema de consulta |
RetrieveOptionSetRequest | Recupera datos sobre una elección global. |
Más información:
- Información general para crear y editar opciones globales
- Ejemplo: volcar información de elecciones/lista de recogida a un archivo
- Personalizar opciones
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.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet
Con la API web, también puede usar la función RetrieveMetadataChanges.
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
(SDK Clase InitializeFromRequest o la API web InitializeFrom Function) para recopilar los datos de la entidad con los valores predeterminados configurados establecidos.
Más información
Columnas lógicas
Las columnas lógicas contienen valores que se almacenan en tablas de base de datos diferentes que otras columnas en la tabla. En la mayoría de los casos esta implementación interna no es relevantes para trabajar con Dataverse. Cuando usa columnas lógicas como orígenes de un campo calculado, los valores del campo calculado no se pueden ordenar. Utilice la propiedad AttributeMetadata.IsLogical para detectar si un atributo es un atributo lógico.
Consulte también
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).