Outdated documentation
The latest documentation was moved to docs.qfield.org
QField crea formularios similares pero no iguales a los de QGIS.
La configuración «suprimir formulario de atributos» se aplica directamente al formulario de QField.
Los controles de campo de QGIS son compatibles con el mejor esfuerzo.
Tipo de control | Soporte | Notas |
---|---|---|
Edición de texto | ✔ |
|
Casilla de verificación | ✔ | |
Mapa de valores | ✔ | |
Oculto | ✔ | |
Adjunto | ✔ | Este campo se combina con la integración de la cámara. También es capaz de abrir otros archivos como pdf y doc (si el usuario tiene un visor adecuado) Adjunto (configuración de fotos) |
Fecha Hora | ✔ | |
Referencia de relación | ✔ | |
Control de relaciones | ✔ | |
Relación de valores | ✔ | |
Otros | ✘ | Financiación |
Para más información diríjase al capítulo de relaciones de la documentación oficial de QGIS Documentation.
El widget de relacioes muestra todas los objetos hijos de referencia en una lista. Es posible agregarlos, eliminarlos y abrirlos.
La identificación visual de las entradas de la lista se realiza mediante la «Expresión de visualización» de la capa hija.
Manejo de claves
Dado que las claves primarias padre se usan como clave externa en los objetos hijos referidos, estas claves deben guardarse para usarlas incluso después de volver a sincronizar a los datos originales. Por lo tanto, recomendamos usar valores estables tales como UUID para las claves primarias.
Ya es posible agregar hijos de un padre que está a punto de agregarse. Esta posibilidad se bloqueará si no hay una clave primaria válida en el padre o si se violan las restricciones. En caso de que se cancele la adición de la función principal después de que se hayan agregado algunos elementos secundarios, los elementos secundarios también se eliminarán.
Relaciones muchos a muchos
En relaciones muchos a muchos, según la configuración de cardinalidad en las propiedades de la capa vectorial de QGIS, añadir, borrar o abrir una entrada afecta directamente a la capa hija (en cardinalidad directa) o a la tabla relacionada (en cardinalidad 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, la Expresión de visualización se tiene que establecer en la tabla enlazada.
El tipo de control «Adjunto» se usa con campos que guardan rutas a archivos.
Se puede usar para:
La ruta debe establecerse a relativa. Las fotos, pdf y documentos se guardan así en un subdirectorio del proyecto, al que apunta el enlace guardado en el campo de texto.
En QField se muestra la foto. Haciendo clic en el símbolo de la cámara se inicia la cámara para actualizar la imagen con una nueva foto.
Al sincronizar hay que copiar también el subdirectorio con las imágenes, los pdf y los doc.
La opción «hiperenlace» en el control adjunto desactivará la funcionalidad de la cámara y activará un hiperenlace para abrir un documento (pdf, doc,..).
El control «Relación de valores» ofrece valores de una tabla relacionada en un cuadro combinado. Puede seleccionar capa, columna clave y columna valor. Hay disponibles varias opciones para cambiar el comportamiento estándar: permitir valores nulos, ordenar por valor y permitir selecciones múltiples. El control mostrará una lista desplegable o multiselección de los objetos relacionados.
Los grupos y pestañas de los formularios del diseñador de arrastrar y soltar son compatibles.
Los grupos se pueden ocultar en base a una expresión. Esto es útil cuando ciertos atributos son sólo requeridos bajo ciertas condiciones. Como ejemplo imagina el mapeo de árboles. Algunos de ellos podrían tener una enfermedad y tiene una lista de posibles enfermedades. Para no sobrecargar el formulario con muchos campos, haga un grupo y configure una expresión de visibilidad para el grupo «enfermedades». Agrege un campo «enfermedad» con una casilla de verificación. Sólo cuando la casilla de verificación esté marcada, la lista de enfermedades estará disponible para el usuario.
Veamos lo que tomamos en el campo:
Los campos de atributos pueden tener restricciones adjuntas. Las restricciones son expresiones que deben evaluarse como Verdadero
(o 1
) para poder guardar el formulario. Las restricciones se configuran a nivel de campo y se puede agregar una descripción que se mostrará al usuario si la restricción no se cumple.
No puedes entrar un valor de elevación más alto que la montaña más alta en este país.
"elevation" < 5000
Es requerido rellenar un identificador.
"identifier" IS NOT NULL
Los campos pueden tener configurados unos valores predeterminados. Los valores predeterminados se insertan en el formulario de atributos cuando se digitaliza un objeto nuevo. Son visibles al usuario y se pueden modificar siempre y cuando el campo sea editable. Pueden estar basados en la geometría o en expresiones.
Para más información sobre el almacenamiento de información sobre su posición en los atributos de los objetos, consulte la documentación sobre GNSS.
Insertar información de posicionamiento como variable:
@position_horizontal_accuracy
Insertar la fecha y hora actuales:
now()
Insertar la longitud de la línea digitalizada:
length($geometry)
Configurar las variables globales en el dispositivo e insertarlas:
@operator_name
Si quiere asignar un código de región basado en la localización donde se inserta un objeto nuevo, puede hacerlo usando una expresión de agregación:
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 ))
If you want to use the snapping results after drawing a line, you can use the @snapping_results variable. The following code extracts the value of the attribute id of the snapping match of the first point of a line.
with_variable(
'first_snapped_point',
array_first( @snapping_results ),
attribute(
get_feature_by_id(
@first_snapped_point['layer'],
@first_snapped_point['feature_id']
),
'id'
)
)
Se respeta la marca de edición de los campos.
QField ofrece un control mucho más preciso sobre los últimos valores usados e ignora los ajustes de QGIS.
The “Use completer” checkbox must be checked to be able to use the auto-complete in the value relation.
Aquí un vídeo que muestra cómo funciona en QField Search in value list.