Campos y widgets

Los campos dan estructura a los modelos de una base de datos. Imagine que un modelo es una tabla o una hoja de cálculo, los campos son las columnas donde los datos se almacenan en los registros (por ejemplo, filas). Los campos también definen el tipo de datos que se almacenan en ellos. Sus widgets son los que definen cómo se presentan y se da formato a los datos en la interfaz de usuario.

Desde un punto de vista técnico, hay 15 tipos de campos en Odoo. Sin embargo, puede elegir entre 20 campos en Studio, pues algunos tipos de campos están disponibles más de una vez con un widget predeterminado distinto.

Truco

Solo puede agregar nuevos campos en las vistas de Formulario y Lista. En otras vistas, solo puede agregar campos existentes (campos que ya existen en el modelo).

Campos simples

Los campos simples contienen valores básicos, como texto, números, archivos, etc.

Nota

Los widgets que no son predeterminados, cuando están disponibles, aparecerán como viñetas o subtítulos a continuación.

Texto (char)

El campo Texto sirve para textos cortos que incluyen cualquier carácter. Al completar el campo aparece una línea de texto.

  • Insignia: Muestra el valor dentro de una forma redondeada parecida a una etiqueta. No es posible editar el valor en la interfaz de usuario, pero es posible definir un valor predeterminado.

  • Copiar al portapapeles: Los usuarios pueden copiar el valor al hacer clic en un botón.

  • Correo electrónico: el valor se convierte en un enlace mailto en el que se puede hacer clic.

  • Imagen: Muestra una imagen mediante una URL. No es posible editar el valor de forma manual, pero es posible definir un valor predeterminado.

    Nota

    Esto funciona de forma diferente que seleccionar el campo Imagen de forma directa, ya que Odoo no almacena la imagen al utilizar el campo Texto con el widget Imagen. Hacer esto puede ser útil, por ejemplo, si quieres ahorrar espacio en disco.

  • Teléfono: El valor se convierte en un enlace tel en el que es posible hacer clic.

    Truco

    Selecciona la opción Habilitar SMS para poder enviar un SMS desde Odoo junto al campo.

  • URL: El valor se convierte en una URL en la que es posible hacer clic.

Example

Ejemplos de campos de texto con diferentes widgets

Texto multilínea (text)

El campo Texto multilínea sirve para textos largos que contienen cualquier tipo de carácter. Al completar el campo aparecen dos líneas de texto en la interfaz de usuario.

  • Copiar al portapapeles: Los usuarios pueden copiar el valor al hacer clic en un botón.

Example

Ejemplos de campos de texto multilínea con diferentes widgets

Entero (integer)

El campo entero se utiliza para todos los números enteros (positivos, negativos o cero, sin decimales).

  • Círculo de porcentaje: muestra el valor en un círculo de porcentaje, por lo general para valores calculados. No es posible editar el valor en la interfaz de usuario, pero es posible definir un valor predeterminado.

  • Barra de progreso: muestra el valor junto a una barra de porcentaje, por lo general para valores calculados. No es posible editar el campo de forma manual, pero es posible definir un valor predeterminado.

  • Manija: muestra un icono para arrastrar los registros y ordenarlos de forma manual en la vista de lista.

Example

Captura de pantalla con un ejemplo de campos de enteros con diferentes widgets.

Decimal (float)

El campo Decimal sirve para números decimales (positivos, negativos o cero, con decimales).

Nota

La interfaz de usuario muestra los números decimales con dos decimales después del punto, pero la base de datos los almacena con mayor precisión.

  • Monetario: es similar a usar el campo Monetario. Te recomendamos utilizar este último, ya que ofrece más funciones.

  • Porcentaje: muestra un carácter de porcentaje % después del valor.

  • Porcentaje circular: muestra el valor dentro de un porcentaje circular, por lo general para valores calculados. No es posible editar el campo de forma manual, pero es posible definir un valor predeterminado.

  • Barra de progreso: muestra el valor junto a una barra de porcentaje, por lo general para valores calculados. No es posible editar el campo de forma manual, pero es posible definir un valor predeterminado.

  • Tiempo: El valor debe seguir el formato hh:mm con un máximo de 59 minutos.

Example

Captura de pantalla con ejemplos de campos decimales con diferentes widgets.

Monetario (monetary)

El campo Monetario sirve para todos los valores monetarios.

Nota

Cuando agregas un campo Monetario por primera vez, recibes una sugerencia para agregar el campo Moneda si no existe ninguno en el modelo y Odoo ofrece agregar el campo Moneda de forma automática. Una vez que lo hayas agregado, vuelve a agregar el campo Monetario.

Example

Captura de pantalla con un ejemplo de un campo Monetario junto a su respectivo campo Moneda.

Html (html)

El campo Html sirve para agregar texto que se puede editar con el editor HTML de Odoo.

  • Texto multilínea: deshabilita el editor HTML de Odoo para permitir la edición del HTML sin formato.

Example

Captura de pantalla con ejemplos de campos html con diferentes widgets.

Fecha (date)

El campo Fecha sirve para seleccionar una fecha en el calendario.

  • Días restantes: El número de días que faltan para la fecha seleccionada (por ejemplo, «En 5 días») tomando como referencia la fecha actual. Este campo debe estar configurado con la opción Solo lectura.

Example

Captura de pantalla con ejemplos de campos de fecha con diferentes widgets.

Fecha y hora (datetime)

El campo Fecha y hora sirve para seleccionar una fecha en el calendario y una hora en un reloj. El sistema usará la hora actual del usuario si no seleccionas ninguna hora.

Truco

Además de las propiedades generales, los campos Fecha y hora que tienen configurado el widget Fecha y hora o Rango de fecha tienen algunas propiedades específicas disponibles.

Rango de fecha (daterange)

El widget Rango de fecha sirve para mostrar un periodo definido por una fecha de inicio y una fecha de finalización en una sola línea. Un rango de fechas puede tener una fecha de inicio y finalización obligatoria, por ejemplo, para un evento de varios días, o permitir que la fecha de inicio o finalización sea opcional, por ejemplo, para una intervención presencial o la tarea de algún proyecto.

Agregar un rango de fechas requiere dos campos: un campo Fecha y hora con el widget Rango de fecha configurado y otro campo que se seleccione como la fecha de inicio o de finalización. Este campo subyacente puede ser un campo Fecha o Fecha y hora existente, o uno creado para este propósito en específico.

Para agregar un rango de fechas:

  1. Identifica un campo Fecha o Fecha y hora existente que pueda usarse como campo subyacente de fecha de inicio o de finalización, o agrega uno nuevo. Si el rango de fechas:

    • tiene fechas de inicio y de finalización obligatorias, este campo puede ser la fecha de inicio o la fecha de finalización. El resultado es el mismo.

    • permite indicar una fecha de inicio o finalización opcional, este campo es la fecha de inicio o finalización respectivamente.

    Truco

    Para evitar mostrar la misma información dos veces, puedes hacer que el campo de fecha de inicio o de finalización no sea visible si habilitas la función Invisible o si lo eliminas de la vista al hacer clic en Eliminar de la vista.

  2. Agrega un campo Hora y fecha y configura el campo Widget con Rango de fecha.

  3. Agrega la etiqueta correspondiente.

  4. Selecciona el campo de fecha de inicio y finalización correspondiente en el menú desplegable Campo de fecha de inicio o Campo de fecha de finalización.

  5. Selecciona la opción Siempre en rango si el intervalo de fechas debe tener una fecha de inicio y finalización obligatoria.

  6. Actualiza cualquier otra propiedad general o específica de los campos de Fecha y hora si es necesario y luego haz clic en el botón Cerrar que se encuentra en la esquina superior derecha de la pantalla.

Example

Captura de pantalla con ejemplos de los campos de fecha y hora con diferentes widgets.

Dias restantes (remaining_days)

El widget Días restantes muestra el número de días que faltan para la fecha seleccionada (por ejemplo, «En 5 días») tomando como referencia la fecha y hora actual. Este campo debe estar configurado con la opción Solo lectura.

Casilla (boolean)

El campo Casilla se utiliza cuando un valor solo puede ser verdadero o falso y esto se indica al seleccionar o desmarcar una casilla.

  • Botón: muestra un botón de opción. El widget funciona sin tener que cambiar al modo de edición.

  • Activar: muestra un botón de activación. El widget funciona sin tener que cambiar al modo de edición.

Example

Ejemplos de campos de casilla con diferentes widgets

Seleccionar (selection)

El campo Selección se utiliza cuando los usuarios deben seleccionar un valor único de un grupo de valores predefinidos.

  • Insignia: Muestra el valor dentro de una forma redondeada parecida a una etiqueta. No es posible editar el valor en la interfaz de usuario, pero es posible definir un valor predeterminado.

  • Insignias: muestra todos los valores seleccionables dentro de formas rectangulares, organizadas de manera horizontal.

  • Prioridad: Muestra símbolos de estrellas en lugar de valores y se utilizan para indicar un nivel de importancia o de satisfacción. Tiene el mismo efecto que seleccionar el campo Prioridad, aunque este último ya tiene cuatro valores de prioridad predefinidos.

  • Radio: muestra todos los valores seleccionables como los botones de opción.

    Truco

    Los botones de opción están organizados en vertical de forma predeterminada. Seleccione Mostrar horizontalmente para cambiar su orientación.

  • Barra de estado: Muestra todos los valores seleccionables al mismo tiempo que una barra de progreso de flecha.

    Truco

    Los valores en la barra de estado se pueden seleccionar de forma predeterminada. Desactive la opción Se puede hacer clic para evitar que el valor se edite en la interfaz de usuario.

Example

Ejemplos de campos de selección con diferentes widgets

Prioridad (selection)

El campo Prioridad sirve para mostrar un sistema de calificación de tres estrellas que indica la importancia o el nivel de satisfacción. Este tipo de campo es un campo de selección con el widget Prioridad seleccionado de forma predeterminada y cuatro valores de prioridad predefinidos. Por lo tanto, los widgets Insignia, Insignias, Opción y Selección tienen los mismos efectos que los descritos en Selección.

Truco

Para cambiar el número de estrellas disponibles al agregar o eliminar valores, haga clic en Editar valores. Tenga en cuenta que el primer valor es igual a 0 estrellas (es decir, cuando no se selecciona ninguna estrella), por lo que tener cuatro valores da como resultado un sistema de clasificación de tres estrellas.

Example

Ejemplo de un campo de prioridad

Archivo (binary)

El campo Archivo se utiliza para subir cualquier tipo de archivo, o para firmar un formulario (widget Firmar).

  • Imagen: Los usuarios pueden subir un archivo de imagen que aparecerá en la vista de formulario. Esto tiene el mismo propósito que usar el campo Imagen.

  • Lector de PDF: los usuarios pueden subir un archivo PDF, que puede ver desde la Vista de formulario.

  • Firmar: Los usuarios pueden firmar el formulario de forma electrónica. Esto tiene el mismo resultado que seleccionar el campo Firmar.

Example

Ejemplos de campos de archivo con diferentes widgets

Imagen (binary)

El campo Imagen se utiliza para subir una imagen y mostrarla en la vista de formulario. Este tipo de campo es un campo de archivo que cuenta con el widget Imagen seleccionado de forma predeterminada. Por lo tanto, los widgets Archivo, Lector de PDF y Firma tienen los mismos propósitos que los descritos en Archivo.

Truco

Elige entre las opciones Pequeño, Medio o Grande en Tamaño para cambiar el tamaño de visualización de las imágenes subidas.

Firmar (binary)

El campo Firmar se utiliza para firmar el formulario de forma electrónica. Este tipo de campo es un campo de archivo que cuenta con el widget Firma seleccionado de forma predeterminada. Por lo tanto, los widgets Archivo, Imagen y Lector de PDF tienen los mismos propósitos que los descritos en Archivo.

Truco

Para que los usuarios tengan la opción Autocompletar disponible al tener que trazar su firma, seleccione uno de las opciones disponibles en Autocompletar con (Texto, Many2One y Campo relacionado solo en el modelo). La firma se generará de manera automática con los datos del campo seleccionado.

Campos relacionales

Los campos relacionales sirven para vincular y mostrar los datos de los registros en otro modelo.

Nota

Algunas veces puede seleccionar widgets no predeterminados, estos aparecen como viñetas a continuación.

Many2One (many2one)

El campo Many2One sirve para vincular otro registro (de otro modelo) al registro que se está editando. El nombre del registro del otro modelo aparecerá en el registro antes mencionado.

Example

En el modelo Orden de venta, el campo Cliente es un campo Many2One que dirige al modelo Contacto. Esto permite vincular varias órdenes de venta a un contacto (cliente).

Imagen con un diagrama que muestra una relación many2one.

Truco

  • Selecciona la casilla Desactivar creación para impedir que los usuarios creen un nuevo registro en el modelo vinculado.

  • Para evitar que los usuarios abran los registros en una ventana emergente, marque Desactivar apertura.

  • Para ayudar a los usuarios a seleccionar únicamente el registro correcto, haga clic en Dominio para crear un filtro.

  • Insignia: muestra el valor dentro de una forma redonda, similar a una etiqueta, y no se puede editar en la interfaz del usuario.

  • Radio: muestra todos los valores seleccionables como los botones de opción.

One2Many (one2many)

El campo One2Many sirve para mostrar las relaciones existentes entre un registro del modelo actual y varios registros de otro modelo.

Example

Podría añadir un campo One2Many en el modelo Contacto para ver varias órdenes de venta de un cliente.

Diagrama que muestra una relación one2many

Nota

Para utilizar un campo One2Many es necesario que los dos modelos ya estén relacionados mediante un campo Many2One. Las relaciones One2Many no existen por separado, ya que se realiza una búsqueda inversa de las relaciones Many2One existentes.

Líneas (one2many)

El campo Líneas sirve para crear una tabla con filas y columnas (por ejemplo, las líneas con los productos en una orden de venta).

Truco

Para modificar las columnas, haga clic en el campo Líneas y luego en Editar vista de lista. Haga clic en Editar vista de formulario para editar el formulario que aparece cuando un usuario hace clic en Agregar una línea.

Example

Ejemplo de un campo de líneas

Many2Many (many2many)

El campo Many2Many se utiliza para vincular varios registros de otro modelo con varios registros en el modelo actual. Los campos Many2Many pueden utilizar Desactivar creación, Desactivar apertura y Dominio al igual que los campos Many2One.

Example

En el modelo Tarea, el campo Asignados es un campo Many2Many que apunta al modelo Contacto. Esto permite que un solo usuario pueda estar asignado a muchas tareas y que muchos usuarios estén asignados a una sola tarea.

Diagrama que muestra relaciones many2many
  • Casillas: Los usuarios pueden seleccionar varios valores con las casillas.

  • Etiquetas: Los usuarios pueden seleccionar varios valores que aparecen en formas redondeadas, también conocidas como etiquetas. Esto tiene el mismo efecto que seleccionar el campo Etiquetas.

Etiquetas (many2many)

El campo Etiquetas sirve para mostrar varios valores de otro modelo en formas redondeadas, también conocidas como etiquetas. Este tipo de campo es un campo Many2Many que tiene el widget Etiquetas seleccionado de forma predeterminada. Por lo tanto, los widgets Casillas y Many2Many tienen los mismos propósitos que los descritos en Many2Many.

Truco

Selecciona la casilla Usar colores para mostrar etiquetas con diferentes colores de fondo.

Example

Captura de pantalla con un ejemplo de un campo de etiquetas.

Propiedades

Propiedades generales

  • Invisible: Habilita esta propiedad cuando no sea necesario que los usuarios vean un campo en la interfaz. Esto ayuda a mantener la interfaz despejada, ya que solo aparecen los campos que son necesarios en una situación específica.

    El atributo Invisible también funciona en Studio. Para ver los campos ocultos en Studio, haz clic en la pestaña Vista de una vista y habilita la función Mostrar elementos invisibles.

  • Obligatorio: Activa esta propiedad si es necesario que el usuario complete el campo antes de continuar.

  • Solo lectura: Activa esta propiedad si los usuarios no deben poder modificar un campo.

Nota

Puedes activar las opciones Invisible, Obligatorio y Solo lectura solo en ciertos registros si haces clic en Condicional y creas un filtro.

Example

El campo Título en la vista de formulario del modelo Contacto solo aparece al elegir a una persona, ya que ese campo no sería útil para un contacto de tipo empresa.

  • Etiqueta: El nombre del campo en la interfaz de usuario. Este no es el nombre utilizado en la base de datos de PostgreSQL. Si quieres ver y cambiar este último, activa el modo de desarrollador y edita el nombre técnico.

  • Información de ayuda: Agrega una descripción para explicar el propósito de un campo. El texto aparece dentro de un cuadro de información al pasar el cursor sobre el signo de interrogación que se encuentra junto a la etiqueta del campo.

  • Widget: Elige uno de los widgets disponibles para cambiar la apariencia o función predeterminada de un campo.

  • Marcador de posición: Agregue un texto de ejemplo para mostrar un ejemplo de cómo completar un campo. El texto aparece en gris claro hasta que escriba un valor.

  • Valor predeterminado: Agregue un valor para mostrar un valor predeterminado en un campo al crear un registro.

  • Permitir visibilidad a los grupos: Seleccione uno o más grupos de acceso de usuarios para limitar qué usuarios pueden ver el campo.

  • Prohibir visibilidad a los grupos: Seleccione uno o más grupos de acceso de usuarios para restringir que ciertos usuarios vean el campo.

Propiedades para los campos Fecha y Hora

Hay algunas propiedades específicas que están disponibles para los campos Hora y fecha que tienen configurado el widget de hora y fecha o de rango de fechas:

  • Intervalo de tiempo: Introduzca un valor para determinar los intervalos de minutos que aparecen en el selector de tiempo. Por ejemplo, escriba 15 para permitir intervalos de cuartos de hora. El valor predeterminado es 5 minutos.

  • Advertencia para futuras fechas: Active esta propiedad para mostrar un icono de advertencia al seleccionar una fecha futura.

  • Mostrar hora: Esta propiedad está habilitada de forma predeterminada en los campos Fecha y hora. Deshabilite esta propiedad en los campos que solo son de lectura para que solo aparezca la fecha. Esto puede ayudar a que la vista de lista esté más despejada, por ejemplo.

  • Fecha mínima aceptada: Ingrese la fecha más antigua que se puede elegir en el selector de fechas con el formato ISO, es decir, AAAA-MM-DD. Si la fecha mínima siempre debe ser la fecha actual, ingrese hoy. Las fechas anteriores a la fecha mínima aceptada aparecen atenuadas en el selector de fechas.

  • Fecha aceptada más reciente: Ingrese la fecha más reciente que se puede elegir en el selector de fechas con el formato ISO, es decir, AAAA-MM-DD. Si la fecha más reciente siempre debe ser la fecha actual, ingrese hoy. Las fechas posteriores a la fecha más reciente aceptada aparecen atenuadas en el selector de fechas.