Formulario de atributos¶
Antes de acceder al campo, deberá configurar sus formularios (los campos que el usuario verá). Puede crear los formularios en su proyecto de QGIS. Funciona igual que en un proyecto QGIS normal, pero con algunas diferencias.
Configuración del formulario de atributo¶
Para configurar un formulario, debes abrir Propiedades > Formulario de atributos de la capa vectorial en QGIS.
Dependiendo del comportamiento que desee para sus diferentes atributos, puede elegir diferentes tipos de widgets. A continuación, se muestra un resumen de los tipos disponibles y compatibles con QField.
| Tipo de control | Soporte | Notas |
|---|---|---|
| Adjunto | Este campo se combina con la integración de la cámara, para obtener más información, vaya a Adjunto (configuración de fotos) | |
| Color | ||
| Fecha / Hora | ||
| Caja para marcar | ||
| Oculto | ||
| Rango | Cuadro giratorio y control deslizante editables | |
| Editor de relaciones | ||
| Referencia de relación | ||
| Edición de texto | ||
| Mapa de valores | Cuadro combinado o botón de opción (este último exclusivo de QField) | |
| Relación de valores | ||
| Generador de UUID |
QField también admite todos los widgets de tipo contenedor.
| Tipo de control | Soporte | Notas |
|---|---|---|
| Widget QML | ||
| Widget HTML | ||
| Widget de texto | ||
| Widget espaciador |
Para otros tipos de widgets de atributos que aún no son compatibles, considere patrocinar una implementación.
Configuración general de atributos¶
Para personalizar el formulario de atributos, es necesario usar el diseñador de arrastrar y soltar de QGIS o un archivo de interfaz de usuario predefinido. También puede usar expresiones potentes para rellenar los diferentes campos. Además de las variables disponibles, existen variables específicas de QFieldCloud, que pueden utilizarse dentro del formulario de atributos:
A continuación se muestran algunas otras configuraciones generales útiles, que puede encontrar en el formulario Propiedades... > Atributos de la capa vectorial (ver la imagen a continuación).
-
Diseñador de arrastrar y soltar: puede estructurar sus formularios utilizando varios contenedores, como pestañas y grupos, y mejorar la interactividad incorporando visibilidad condicional de los campos y asignando valores predeterminados. Para obtener más información, consulte: Documentación del Diseñador de arrastrar y soltar de QGIS
-
Ocultar formulario de atributo al: Puede ocultar el formulario de atributo cambiando de "Mostrar formulario al agregar función" a la configuración "Suprimir formulario de atributo". Al agregar una nueva característica en QField, no es necesario completar ningún formulario de atributo. Nota: En tal caso, debe configurar el formulario de atributos de tal manera que se cumplan todas las restricciones/reglas incluso si no agrega ningún atributo.
- Editable: Puedes decidir si un campo es editable o no activándolo en la visualización del widget del campo correspondiente.
- Recordar los últimos valores: Si no desea agregar el mismo valor una y otra vez, puede habilitar esta opción en la visualización del widget en QGIS. Sin embargo, QField ofrece un control más detallado sobre los últimos valores utilizados. Si habilita esta opción en QGIS, la regla siempre se aplicará. Con QField puedes cambiar y deshabilitar esta opción en cualquier momento durante la recopilación de datos.

Trabajando con las relaciones¶
Preparación en escritorio
Para obtener información detallada sobre cómo configurar relaciones de capas en QGIS, consulte la sección configuración de relaciones entre múltiples capas en la documentación de QGIS.
Para controlar aún más la visibilidad y la cantidad de elementos relacionados que se muestran en QField, consulte las instrucciones para configurar [Visibilidad máxima de elementos para QField].(../../get-started/tutorials/get-started-qfs.md#additional-properties)
El widget de relación muestra todas las características secundarias de referencia en una lista. Si está habilitado, es posible añadirlas, eliminarlas y abrirlas.
La identificación visual de las entradas de la lista se realiza a través de la Expresión de visualización de la capa secundaria.
Manejo de claves¶
Dado que la clave principal principal se utiliza como clave externa en las funciones secundarias de referencia, debe ser segura (debe ser única) incluso después de la sincronización con el escritorio. Por lo tanto, siempre recomendamos usar UUID como claves principales. Consulte Trabajar con GeoPackages para obtener más información.
Ya puedes añadir hijos de un padre que esté a punto de añadirse. Esta opción se bloqueará si no hay una clave principal válida en el padre o si se infringen las restricciones. Si se cancela la función de añadir el padre después de haber añadido algunos hijos, estos también se eliminarán.
Relaciones Muchos-a-Muchos¶
En relaciones de muchos a muchos, según la configuración de cardinalidad en las Propiedades... de la capa vectorial de QGIS, al agregar, eliminar o abrir una entrada en la lista se afecta directamente la capa secundaria (en cardinalidad directa) o la tabla de enlace (en cardinalidad de muchos a uno).
El segundo caso se usa habitualmente cuando hay una información adicional sobre la relación (ej. porcentaje) en la tabla enlazada.
En caso de cardinalidad muchos a uno en relaciones muchos a muchos, es necesario establecer la Expresión de visualización en la tabla de enlace.
Relación ordenada¶
Si es necesario, puede reordenar las funciones secundarias vinculadas según un campo seleccionando el Editor de Relaciones Ordenadas en las opciones de tipo de widget. Sin embargo, para habilitar esta funcionalidad, necesita un segundo complemento Editor de Relaciones Ordenadas
Flujo
-
Instale el plugin Editor de Relaciones Ordenadas desde el repositorio oficial o a través del "Administrador de Plugins" de QGIS.
-
Abra la capa vectorial Propiedades... > Formulario de Atributos y configure el editor de diseño en Diseñador de Arrastrar y Soltar.
-
Haga clic en la relación de los widgets disponibles.
-
A la derecha, en "Visualización del widget", desplácese hasta la opción "Tipo de widget" y seleccione Editor de relaciones ordenadas.
-
Configure el widget con los siguientes ajustes:
-
Campo de ordenamiento: Especifique el campo de la capa secundaria que se usará para determinar el orden de las entidades.
-
Descripción: Defina una expresión que se mostrará para cada entidad secundaria de la lista.
-
Ruta de la imagen (opcional): Proporcione una ruta a una imagen o icono para mejorar visualmente la lista. Esta expresión se resuelve dinámicamente.

Configuración del widget Mapa de valores¶
Al usar mapas de valores como tipo de widget, puedes controlar el cambio automático de una interfaz de botones a una lista.

Flujo
-
Vaya a la capa vectorial Propiedades > QField
-
En "Configuración del formulario de entidad", habilite y defina la cantidad de elementos que activarán la transición a una interfaz de botones.


Widget de archivos adjuntos¶
Preparación en escritorio
El tipo de widget Archivo adjunto se utiliza con campos que almacenan la ruta de acceso a los archivos.
Se puede usar para:
- Muestra y toma fotos o agrega imágenes desde la galería.
- Escuchar y grabar clips de sonido
- Mostrar y grabar vídeos
- Mostrar enlaces a archivos externos como PDF o documentos
- Agregue bocetos directamente en QField

Nota
La ruta debe ser "relativa". Las imágenes, audios, vídeos, archivos PDF y documentos se almacenan en un subdirectorio del proyecto, al que apunta el enlace del campo de texto.
Puedes añadir un nuevo elemento al hacer clic en la opción de cámara, vídeo, micrófono o documento. Según la opción predeterminada que hayas seleccionado, se mostrará una de ellas dentro del formulario.
Al Sincronizar también se debe copiar el subdirectorio con las imágenes, vídeos, audios, PDF y documentos.
De forma predeterminada, al añadir archivos adjuntos, QField muestra el archivo automáticamente. La opción hipervínculo en el widget de adjuntos deshabilitará esta función y mostrará solo la ruta al hipervínculo del archivo.
Flujo
Establecer una ruta de archivo adjunto específica
Preparación del escritorio
En QFieldSync, puede configurar la ruta de los archivos adjuntos. Por defecto, las imágenes se guardan en la carpeta "DCIM", las grabaciones de audio en la carpeta "audio" y los vídeos en la carpeta "video" con una marca de tiempo como nombre.
- Vaya a Propiedades > QField > Configuración de archivos adjuntos.
- Use expresiones específicas para configurar los nombres de los archivos adjuntos.
Widget de relación de valores¶
Preparación en escritorio
El widget Relación de valores ofrece valores de una tabla relacionada en un cuadro combinado. Aquí tiene varias opciones para elegir:
- Capa: Establezca la tabla o capa que almacena los valores que se seleccionarán.
- Columna clave: establece la columna que contiene los valores que se guardarán.
-
columna de valores: establece la columna real que contiene los valores que se mostrarán durante la recopilación.
-
Ordenar por valor: establece el orden en que deben mostrarse los valores mostrados. Esto puede ser por "clave", "valor" o una columna específica.
- Columna de grupo: puedes agrupar tus valores en función de otra columna. (por ejemplo, si desea recopilar información sobre especies de árboles, puede agrupar los valores por género).
- Permitir valor NULO: el campo puede permanecer en blanco.
- Usar Completador: Puede utilizar esta opción para completar automáticamente sus campos. Al seleccionar la lupa, puede buscar entre los valores disponibles y seleccionar el que corresponda.
- Permitir selecciones múltiples: si está habilitado, puede seleccionar múltiples valores en una función.
Flujo
Configuración de valores de grupo
-
Seleccione la columna que se usará para organizar los elementos. Los valores de esta columna servirán como título del grupo.
-
(Opcional) Habilite Mostrar nombre del grupo si desea agregar el título de su grupo como encabezado independiente. Esto crea una clara separación entre los diferentes grupos, facilitando la navegación por la lista.

Flujo
Usar autocompletado
-
Vaya a la capa vectorial Propiedades... > Formulario de atributos.
-
El tipo de widget debe ser "Relación de valores".
-
Active la opción "Usar autocompletado".

Aquí tiene un vídeo que muestra cómo funciona en QField
Visibilidad condicional¶
Preparación en escritorio
Puede ocultar grupos enteros según expresiones. Esto es útil cuando ciertos atributos solo se requieren en determinadas circunstancias.
Flujo
Ejemplo: Acceder al estado de las especies de árboles
Algunas podrían tener una enfermedad y usted tiene una lista de posibles enfermedades.
Un flujo de trabajo típico paso a paso podría ser el siguiente:
-
Crear un grupo.
-
Definir una expresión de visibilidad para el grupo. Ej.: Solo si el árbol está marcado como "enfermo", aparecerá el campo "enfermedad".
-
Agregar al grupo el campo que se mostrará solo después de establecer los criterios de la expresión. Ej.: Agregaremos el campo "tipo de enfermedad" al grupo.

En QField se verá como en el video a continuación.
Definir Restricciones¶
Preparación en escritorio
Los campos de atributos pueden tener restricciones asociadas. Las restricciones son reglas en forma de expresiones. Antes de poder guardar una característica, deben cumplirse todas las restricciones. Se puede añadir una descripción que se mostrará si no se cumple una restricción.

¡¡¡Ejemplos!!! No se puede introducir un valor de elevación superior a la montaña más alta de este país.
``` sql
"elevation" < 5000
```
*It is required to fill in an identifier.*
``` sql
"identifier" IS NOT NULL
```
Definir Valores Predeterminados¶
Preparación en escritorio
Los campos pueden tener valores predeterminados configurados. Los valores predeterminados se insertan en el formulario de atributos al digitalizar una nueva característica. Son visibles y se pueden modificar siempre que el campo sea editable.

Atención
La opción "Aplicar valor predeterminado al actualizar" debe utilizarse con cuidado y no para campos que actúan como claves principales.
Trabajar con expresiones¶
Al crear expresiones para proyectos destinados a ser utilizados con QField, se recomienda utilizar nombres de capas en lugar de ID de capas. Esta recomendación se debe a que, durante el proceso de conversión del proyecto a través de QFieldSync, las capas resultantes pueden recibir ID diferentes, lo que puede dar lugar a evaluaciones incorrectas de las expresiones. Al utilizar nombres de capas, se garantiza que las expresiones se evalúen de forma coherente y precisa en los diferentes estados del proyecto.

Variables adicionales¶
Para obtener más información sobre cómo almacenar información relacionada con su posición en los atributos de objetos, consulte la documentación GNSS.
Para los usuarios de QFieldCloud, se pueden utilizar dos variables en las expresiones que incluyen los valores predeterminados de los formularios de atributos:
@cloud_usernameque devuelve el nombre del usuario actualmente conectado a QFieldCloud.@cloud_useremailque devuelve la dirección de correo electrónico del usuario actualmente conectado a QFieldCloud.
Ejemplos
Insertar información de posicionamiento como variable:
@position_horizontal_accuracy
Insert the current date and time:
now()
Insert the length of the digitized line:
length($geometry)
Configurar variables globales en el dispositivo e insertarlas.
@operator_name
Si desea asignar un código de región según la ubicación donde se inserta una nueva característica, puede hacerlo utilizando una expresión agregada:
aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
Para transformar las coordenadas recibidas de \@position_coordinate al sistema de coordenadas de su proyecto:
x(transform(@position_coordinate, 'EPSG:4326', @project_crs))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs))
Si desea utilizar los resultados de ajuste después de dibujar una línea, puede utilizar la variable @snapping_results.
El siguiente código extrae el valor del atributo id de la coincidencia de ajuste del primer punto de una línea.
with_variable(
'first_snapped_point',
array_first( @snapping_results ),
attribute(
get_feature_by_id(
@first_snapped_point['layer'],
@first_snapped_point['feature_id']
),
'id'
)
)
Búsqueda en controles de relación de valores y de referencia de la relación¶
Es posible buscar valores en un widget de relación de valores o referencia de relación utilizando la lupa situada junto al campo.
!!! nota: Defina la expresión de visualización para las capas correspondientes; esta se utilizará para buscar entidades.
Esto se configura en *Propiedades...* de la capa vectorial > *Visualización*.
Definir controles QML¶
Los widgets QML personalizados pueden ser útiles para integrar acciones avanzadas en formularios.
Ejemplo
Definimos añadir un botón que abre una aplicación de mapas y navegación de terceros. Esto es útil para, por ejemplo, abrir la navegación paso a paso en la aplicación nativa del dispositivo del usuario.
```qml
import QtQuick 2.0
import QtQuick.Controls 2.0
Button {
width: 200
height: width/5
text: "Open in Maps"
onClicked: {
Qt.openUrlExternally(expression.evaluate("'geo:0,0?q=' || $y || ',' || $x"));
}
}
```
La URI geo anterior está adaptada para funcionar con Android. Para Apple Maps, la URI se puede cambiar a 'geo:' || $y || ',' || $x.















