Campos y widgets¶
Fields structure the models of a database. If you think of a model as a table or spreadsheet, fields are the columns and records are the individual rows. Fields also define the type of data that is stored within them. The way in which a field’s data is presented and formatted on the UI is controlled by its widget.
With Studio, it is possible to:
add new fields to your database. From a technical point of view, there are 15 field types in Odoo. However, you can choose from 20 field types in Studio, as some field types are available more than once with a different default widget;
add existing fields, i.e., fields that already exists on a model, to any view of that model;
Field types¶
Fields can be broadly divided into two categories:
Simple fields, which contain basic values, such as text, numbers, files, etc.
Relational fields, which are used to link and display the data from records on another model.
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 es posible 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
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
Entero (integer)¶
El campo Entero sirve 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
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
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
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
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
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:
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.
Agrega un campo Hora y fecha y configura el campo Widget con Rango de fecha.
Agrega la etiqueta correspondiente.
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.
Selecciona la opción Siempre en rango si el intervalo de fechas debe tener una fecha de inicio y finalización obligatoria.
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
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
Selección (selection)¶
El campo Selección sirve cuando los usuarios deben elegir un solo valor 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.
Opción: Muestra todos los valores que es posible seleccionar a la vez como 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 como una barra de progreso con flechas.
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
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
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
Imagen (binary)¶
El campo Imagen sirve para subir una imagen y mostrarla en la vista de formulario. Este tipo de campo es un campo de archivo que tiene 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).
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.
Opción: Muestra todos los valores que es posible seleccionar a la vez como 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.
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
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.
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.
Add a field to a view¶
With Studio, it is possible to add:
a new field to a form or list view of a model
an existing field, i.e., a field that already exists on the model in question, to any view of that model
Truco
Add a new field to a form or list view to save it to the model and make it available as an existing field in other views of the same model.
Add a new field¶
Truco
Activate developer mode before adding a new field to see, and be able to edit, the field’s technical name during configuration.
To add a new field, follow these steps:
Navigate to the relevant form or list view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant form or list view.
In the Add tab, drag the relevant field type from the New Fields section and drop it in the desired position. If the new field is a relational field, select the relevant reciprocal field, model, or related field in the pop-up.
In the Properties tab, configure the field’s properties:
Enter the Label to be displayed as the field name on the UI; this is also used to generate the default technical name of the field.
Click anywhere outside the Label field to see the Technical Name updated with the default technical name.
Nota
The Technical Name of a new field can be edited in Studio during the configuration process. At any other time, a field’s technical name can only be modified via the technical settings of the database.
The technical name of a new field added using Studio is by default prefixed by
x_studio_.
Optionally, select a different Widget via the dropdown; the default widget for the field type is selected by default.
Optionally, configure any other field properties.
Click Close in the top-right corner to close Studio.
Add an existing field¶
To add a field that exists on the model but that is not present on the current view, follow these steps:
Navigate to the relevant view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant view.
In the Add tab, in the left panel, click Existing Fields to reveal a list of all the model’s fields that are not currently present in the view.
Drag the relevant field and drop it in the desired position.
In the Properties tab, configure the relevant properties for the field in the current view.
Nota
Various properties can be configured independently for different views, if needed, such as the Label, the Widget, the visibility of the field for certain user groups, as well as whether or not the field is Invisible, Required, or Readonly.
Click Close in the top-right corner to close Studio.
Field properties¶
A series of general properties can be configured for most combinations of field type and widget. Additional properties are available depending on the specific field type and widget selected. For example, Date & Time fields using the Date & Time or Date Range widget have various specific properties that can be configured.
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.
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.
Truco
The Invisible property also applies inside Studio. To view hidden fields in Studio, click on a view’s View tab and enable Show Invisible Elements.
The Invisible, Required, and Readonly properties can be enabled for specific records only by clicking on Conditional and creating a filter.
Example
On the form view of the Contact model, the Title field only appears when Individual is selected, as that field would not be helpful for a Company contact.
Label: This is the field name on the UI; the label is used to generate the technical name of the field.
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.
Technical Name: To view a field’s technical name in Studio (and, during the configuration of a new field, edit it if desired), activate developer mode.
Truco
If this field needs to be updated but is no longer editable via Studio, the technical name can be modified via the technical settings of the database.
Widget: Elige uno de los widgets disponibles para cambiar la apariencia o función predeterminada de un campo.
Marcador de posición: Agrega un texto de ejemplo para mostrar un ejemplo de cómo completar un campo. El texto aparece en gris claro hasta completar el campo con un valor.
Valor predeterminado: Agregue un valor para mostrar un valor predeterminado en un campo al crear un registro.
Permitir visibilidad a los grupos: Elige uno o más grupos de acceso de usuarios para limitar quiénes pueden ver el registro.
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: Activa esta propiedad para mostrar un icono de advertencia al seleccionar una fecha futura.
Mostrar hora: Esta propiedad está activa de forma predeterminada en los campos Fecha y hora. Deshabilita esta propiedad en los campos que solo son de lectura para mostrar solo la fecha, esto ayudará a mantener la vista de lista más despejada.
Fecha mínima aceptada: Ingresa 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, seleccionahoy. Las fechas anteriores a la fecha mínima aceptada aparecen atenuadas en el selector de fechas.Fecha aceptada más reciente: Ingresa 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, seleccionahoy. Las fechas posteriores a la fecha más reciente aceptada aparecen atenuadas en el selector de fechas.
Modify a field’s properties¶
To modify the properties of a field, follow these steps:
Navigate to the relevant view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant view.
Click on the relevant field.
In the Properties tab, make any desired changes to the field properties.
Truco
Various properties can be configured independently for different views, such as the Label, the Widget, the visibility of the field for certain user groups, as well as whether or not the field is Invisible, Required, or Readonly.
Click Close in the top-right corner to close Studio.
Nota
The Technical Name of a field (visible in Studio with developer mode activated) cannot be modified in Studio; this can be done via the technical settings of the database.
Modify a field’s technical name¶
To modify the technical name of a field, activate developer mode, then follow these steps:
With the field open in Studio, copy the technical name of the field.
Remove the field from all views in Studio, then click Close to close Studio.
Navigate to .
Paste the copied technical name into the search bar, then open the relevant field.
Modify the Field Name as needed.
Once the field’s technical name has been updated, the field can then be added (back) to the relevant view(s) from the list of existing fields.
Importante
When updating the technical name of a field, make sure to keep at least the x_ prefix, which is
required for any custom field; for fields created using Studio, keep the x_studio_ prefix to
allow such fields to be more easily identified.
Remove a field from a view¶
To remove a field from a view, follow these steps:
Navigate to the relevant view, then click the (Toggle Studio) icon in the upper-right corner. Alternatively, with any app open, click the (Toggle Studio) icon, then navigate to the relevant view.
Click on the relevant field.
Scroll to the bottom of the Properties tab, then click Remove from view.
Click Ok to confirm the action.
Truco
A removed field can be easily added back to the view at a later stage, if needed.
If the intention is to declutter the view, it is also possible to modify a field and make it Invisible on the view in question.