Conversiones de formato de tipo de datos
Microsoft Dataverse tiene varios tipos de datos que se pueden configurar con diferentes formatos. Puede especificar el formato de la columna utilizando el explorador de la solución o por operaciones de API. Las siguientes secciones proporcionan más detalles sobre los formatos de tipo de datos, que incluyen:
Formatos admitidos por tipo de datos
La columna de formato especifica la interfaz de usuario sobre cómo mostrar el contenido. Algunos formatos disponibles en la interfaz de usuario son Teléfono, Correo electrónico o Duración. Los formatos aplicados no validan el contexto, los dominios o cualquier otro valor. Indican a la interfaz de usuario acerca de qué control utilizar para ese tipo.
Formatos
La siguiente tabla proporciona información sobre los formatos disponibles para cada tipo de datos:
Tipo de datos | Nombre del formato | Descripción | ¿Disponible para el creador de aplicaciones? | Notas |
---|---|---|---|---|
Texto | Texto | Columna de texto básico que contiene carácteres de texto. | Sí | Valor de formato predeterminado para la columna de texto. |
Área de texto | Columna de texto que contiene caracteres de texto y también permite saltos de línea. | Sí | ||
Correo electrónico | El texto proporciona un vínculo para abrir la aplicación de correo electrónico del usuario. | Sí | ||
Dirección URL | El texto proporciona un hipervínculo para abrir la página especificada. El https:// pre anexado lo está a cualquier texto que no empiece con un protocolo válido |
Sí | ||
Símbolo del valor | Para la mayoría de los idiomas, el texto se activará como un vínculo para abrir el sitio web MSN Money para mostrar detalles sobre el precio de cotización representado por el símbolo del valor. | Sí | ||
Teléfono | Se habilitará que se pueda iniciar llamadas en las columnas con un clic. | Sí | ||
JSON | Almacena texto en formato JSON | Sí (solo API) | Solo en tiendas que no son de SQL como Audit. | |
Texto enriquecido | Permite el formato de texto enriquecido, incluido el lenguaje HTML. | Sí (solo API) | ||
Número de versión | Almacena el número de versión de las filas. | No | Solo para uso del sistema. | |
Texto de varias líneas (nota) | Texto | Columna de texto básico que contiene carácteres de texto. | Sí | |
Área de texto | Columna de texto que contiene carácteres de texto y permite saltos de línea. | Sí | ||
Para uso interno. | No | |||
JSON | Almacena texto en formato JSON | Sí (solo API) | Solo en tiendas que no son de SQL como Log. | |
RichText | Permite el formato de texto enriquecido, incluido el lenguaje HTML. | Sí (solo API) | ||
InternalExtentData | Para uso interno. | No | Solo para uso del sistema | |
None/string.Empty | Esta opción solo muestra un número. | Sí | Valor de formato predeterminado para la columna de números enteros. | |
Número entero | Duración | Esta opción de formato muestra una lista de opciones de duración. Los datos almacenados en la base de datos siempre serán varios minutos. El campo parece una lista desplegable y proporciona opciones sugeridas como 1 minuto, 15 minutos, 30 minutos y así hasta 3 días. Los usuarios pueden elegir estas opciones o escribir varios minutos y se resuelve en ese período de tiempo. Por ejemplo, escriba 60 y se resolverá en 1 hora. También puede especificar "1 hora" o "2 días" y se resolverá para mostrar ese tiempo. La duración se debe especificar en el siguiente formato: "x minutos", "x horas" o "x días". Las horas y los días también se pueden introducir con decimales, por ejemplo, "x,x horas" o "x,x días". NOTA: Los valores especificados deben poder expresarse en minutos, los valores por debajo del minuto se redondean al minuto más cercano. |
Sí | El sistema lee este valor en segundos. |
Zona horaria | Esta opción muestra una lista de selección de zonas horarias utilizando códigos de zona horaria. Cada una de estas zonas se almacena como un número. Por ejemplo, para la zona horaria (GMT-08:00) Hora del Pacífico (EE.UU y Canadá.), el TimeZoneCode es 4. Las aplicaciones basadas en modelos muestran estos códigos en nombres de zona horaria, las aplicaciones de lienzo se mostrarán como el número almacenado. | Sí | ||
Lenguaje | Esta opción muestra una lista de los idiomas aprovisionados para la organización. Los valores se almacenan como un número usando códigos LCID. Los códigos de idioma son identificadores de configuración regional de cuatro o cinco dígitos. Los valores de id. de configuración regional válidos pueden encontrarse en el gráfico de identificadores de configuración regional (LCID). Las aplicaciones basadas en modelos mostrarán los idiomas como el nombre de idioma, las aplicaciones de lienzo se mostrarán como el número almacenado. | Sí | ||
Configuración regional | Valor que corresponde a una localidad específica utilizando valores estándar ISO. | Sí (solo API) | No se muestra en la IU de Power Apps Maker. | |
Fecha y hora | Sólo fecha | Solo fecha. Incluye una hora de 00:00:00 si se selecciona Usuario local o Independiente de la zona horaria. | Sí | |
Fecha y hora | Formato de fecha y hora. | Sí | Valor de formato predeterminado para la columna DateTime. |
Conversión de formato
Puede cambiar el formato del tipo de datos a cualquiera de los formatos compatibles que admite el tipo de datos. Al cambiar el formato, se conservan las definiciones de tabla anteriores (tamaño máximo) si existen en el nuevo formato de destino. Si una carga útil entrante no incluye un formato, Dataverse asume que el formato no debe cambiarse. Puede convertir el formato mediante una llamada API con la carga útil deseada en la columna FormatName
. Se recomienda cambiar el valor en la columna Format
, ya que cualquier selección Format
recién añadida se ignorará.
Nota
En este momento, las conversiones de formato solo se realizan mediante operaciones de API. El cambio de formato no cambia ningún dato presente en la columna. Debido a esto, es posible que observe algunos problemas de formato inesperados que deben resolverse después de la conversión.
Como se menciona en la tabla anterior, existen algunas restricciones para las conversiones de formato:
- JSON solo se puede usar si una tabla es parte de un almacenamiento que no es SQL (es decir, Log).
- No puede convertir columnas con los formatos de tipo
emailbody
,internalextentdata
a otros formatos. Cualquier intento de convertir estas columnas se ignora y no se proporciona ningún mensaje de error. - No puede convertir una columna a los formatos de
emailbody
,internalextentdata
a otros formatos. Si se intenta, se producirá un error. - La fecha solo no se puede convertir a DateTime, pero Date con el comportamiento de Usuario local o Independiente de la zona horaria se puede cambiar a DateTime.
Si cambia el tipo de datos a un formato incompatible, se muestra el siguiente error:
El formato <<formatname>> no es válido para el <<datatype>> tipo de columna <<columnname>> de la tabla <<tablename>>. Por ejemplo, el formato datetime no es válido para el tipo de columna de texto.
Para cambiar el formato de un tipo de datos, debe agregar los detalles del nuevo formato en una llamada PUT de la API de OData:
PUT [Organization URI]/api/data/v9.0/EntityDefinitions(<<entity name>>)/Attributes(<<attribute name>>)
To set or change the format of a data type, you need to add the new format details into an OData API **POST** for a new column or **PUT** call to update an existing column:
> [!NOTE]
> For more samples on how to use the API, see https://github.com/microsoft/PowerApps-Samples
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"AttributeType": \<\<Data type you are setting the format for\>\>,
"AttributeTypeName": {
"Value": *\<\<Datatype Type\>\>*
},
"Description": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": *\<\<text label to use for the format\>\>*
"LanguageCode": 1033
}
]
},
"DisplayName": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": *\<\<text label to use for the format\>\>*
"LanguageCode": 1033
}
]
},
"RequiredLevel": {
"Value": "None",
"CanBeChanged": true,
"ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings"
},
"SchemaName": *\<\<Your chosen schema name\>\>*
"@odata.type": "Microsoft.Dynamics.CRM.StringAttributeMetadata",
"FormatName": {
"Value": *\<\<Formatname value\>\>*
},
"MaxLength": 100
}