Ir al contenido

Configuración de campos

Selecciona un campo en el constructor para editarlo en el panel Configuración de campos que aparece a la derecha.

The field settings panel A settings panel for one field: a field key, a label, help text, a required checkbox, a section dropdown, a type-specific Range section with min, max, and decimals, and a Show this field when condition. Numbered markers point at the shared settings, the type-specific options, and the condition. FIELD SETTINGS Field key length_mm Label (English) Length (mm) Help text (optional) Fork length Required RANGE Min Max Decimals SHOW THIS FIELD WHEN Species is trout 1 2 3
Cada campo tiene una configuración compartida, opciones específicas de su tipo y una condición opcional que controla cuándo se muestra.
  1. Clave del campo: un identificador corto en snake_case, único dentro del tipo de muestreo. Es la forma en que se almacena el valor, así que conviene mantenerlo estable.
  2. Etiqueta: el nombre del campo, en inglés (obligatorio) y, de forma opcional, en francés y español.
  3. Texto de ayuda (opcional): una sugerencia que se muestra debajo del campo, en los mismos idiomas.
  4. Obligatorio: si el campo debe completarse o no.
  5. Herramienta de captura: la herramienta de cámara del dispositivo que este campo ofrece durante la recolección (escanear un código de barras o una etiqueta, y más por venir), o ninguna. Consulta Elegir una herramienta de captura más abajo.
  6. Sección: a qué sección pertenece el campo, si usas secciones.

Debajo de estas opciones, el panel muestra opciones específicas del tipo: un rango para un número, las opciones para una elección única o múltiple, el tipo de geometría para una ubicación, y así sucesivamente. Consulta Tipos de campo para ver qué ofrece cada tipo.

Cuando recolectas con el asistente de voz (consulta Recolección de datos asistida por IA), un campo puede ofrecer una herramienta de cámara, para apuntar la cámara al objeto en lugar de escribir. La opción Herramienta de captura decide qué herramienta ofrece un campo:

  • Escaneo de código de barras o etiqueta: leer un código de barras o QR, para un campo de identificador o etiqueta.
  • Medir: leer una longitud a partir de una foto. Requiere primero una calibración única por dispositivo (Ajustes, Calibración de medición), donde fotografías una referencia de longitud conocida para que la aplicación aprenda la escala.
  • Identificar especie, Leer texto (OCR): se están agregando y funcionarán cuando estén listas.
  • Ninguna: sin herramienta de cámara, que es lo predeterminado para la mayoría de los campos.

El constructor rellena una sugerencia a partir del campo, por ejemplo un código de barras para un campo «etiqueta de espécimen» o ninguna para un campo de notas. Confírmala o cámbiala. La recolección lee esta opción tal como la definiste, así que nunca adivina una herramienta a partir del nombre del campo: un campo de notas o de fecha no muestra ningún botón de escaneo a menos que lo pidas.

Un formulario largo se lee mejor en secciones. En el constructor, abre Secciones (opcional) y elige Agregar sección, luego dale un título a la sección (en tus idiomas). Asigna un campo a una sección desde su opción Sección. Los campos sin sección se muestran juntos en la parte superior. Quitar una sección deja sus campos en su lugar, solo que sin agrupar.

Cada campo tiene una opción Mostrar este campo cuando. Déjala en “Mostrar siempre”, o elige otro campo y una condición, para que el campo aparezca solo cuando se cumpla esa condición. Por ejemplo, muestra un campo de “número de nidos” solo cuando “especie” sea un salmón, o muestra un campo de “causa de mortalidad” solo cuando “vivo” sea no.

El formulario evalúa estas condiciones en tiempo real mientras ingresas datos, ocultando y mostrando campos a medida que las respuestas cambian, y solo valida y guarda los campos que están visibles.

Un campo de Número decimal puede llevar una unidad de medida, para que la tripulación introduzca los datos en la unidad con la que trabaja mientras el valor se almacena en una sola unidad canónica. Así los datos almacenados y las exportaciones se mantienen consistentes sin importar qué unidad se haya escrito.

Lo que configuras:

  • La unidad canónica (de almacenamiento), por ejemplo m.
  • Las unidades aceptadas, cada una con un factor de conversión (una unidad introducida equivale a esta cantidad de unidades canónicas, así que 1 fm = 1.8288 m) y un desplazamiento opcional para escalas afines como Fahrenheit.
  • La unidad de entrada predeterminada con la que se abre el formulario.
  • Límites físicos mínimo y máximo opcionales.

En el formulario, el campo muestra entonces un cuadro de valor más un selector de unidad. Alguien puede escribir una profundidad en brazas y CensusIO la almacena en metros, y cambiar el selector vuelve a expresar la misma medición. El valor se lee de vuelta en la unidad de entrada en todos los lugares donde se muestra.

Presentación de números y formato de entrada

Sección titulada «Presentación de números y formato de entrada»

Los números se almacenan de forma simple (solo el valor, sin separadores) y se muestran en el idioma de quien lee. De forma predeterminada, un número agrupa los miles y muestra los decimales que necesita: un conteo se lee 1,234 en español latinoamericano e inglés, y 1 234 en francés. La sección Presentación de un campo Número entero o Número decimal permite ajustar dos cosas, ambas solo de presentación: nunca cambian lo que se almacena.

  • Agrupar miles. Activado de forma predeterminada. Desactívalo en un campo donde un separador sería incorrecto, como un año o un número de secuencia, para que 2026 no se lea 2,026.
  • Decimales mínimos y máximos. Rellena un valor hasta un número fijo de decimales (un peso que siempre debe leerse 2.50, no 2.5) y redondea el valor mostrado a ese número como máximo. Esto es distinto del límite de decimales del rango, que solo rechaza una entrada con demasiados decimales; el relleno para la presentación se define aquí.

Una casilla numérica vacía sugiere su forma como ### para un número entero o ###.# para un decimal, con el separador decimal del idioma, para que una persona vea cuántos decimales acepta antes de escribir.

Máscara de entrada para un identificador con formato

Sección titulada «Máscara de entrada para un identificador con formato»

Un campo de Texto puede llevar una máscara de entrada para un identificador con formato, como un número de teléfono, un permiso o un número de etiqueta. Escribe la forma con 9 para un dígito, a para una letra, # para cualquiera de los dos, y cualquier otro carácter como un literal que se muestra en su lugar. Por ejemplo (999) 999-9999 se muestra como (___) ___-____ y acepta diez dígitos.

Lo que se almacena son solo las posiciones rellenadas (4155551234), así que el valor sigue siendo comparable y exportable sin importar cómo se escribió, y cualquier regla de patrón que definas sigue comprobando ese valor almacenado. Una máscara a medio llenar se informa como un error, no se acepta como un valor más corto.

Activa esto para un identificador que ningún par de registros deba compartir (un marcador, una boya o un número de etiqueta). Está disponible en los campos de Texto, Número entero y Número decimal.

  • Único entre: elige Todos los registros de este tipo o Registros del mismo viaje (que usa el campo Viaje del tipo para acotar la comprobación; el constructor advierte si el tipo no tiene un campo Viaje).
  • Liberado cuando (opcional): elige un campo y un valor con el que un registro cede su valor, para que el valor se pueda reutilizar. Por ejemplo, un despliegue abandonado libera su marcador para el siguiente.

Guardar un valor que otro registro ya tiene se bloquea en la aplicación web y en la importación. Los registros sincronizados desde dispositivos de campo nunca se bloquean (los datos de campo nunca quedan varados); en su lugar, la verificación de datos marca un valor que dos registros terminaron teniendo, para su revisión. En un dispositivo de campo (las aplicaciones de escritorio y móvil), capturar un valor que otro registro de ese dispositivo ya tiene muestra una advertencia para que quien recolecta lo note, pero nunca bloquea el guardado (el dispositivo solo ve sus propios registros, así que la verificación de datos sigue siendo la autoridad para todo el equipo).

Rellenar una ubicación automáticamente desde el GPS del dispositivo

Sección titulada «Rellenar una ubicación automáticamente desde el GPS del dispositivo»

Un campo de Ubicación de tipo punto puede rellenarse desde el GPS del dispositivo al abrir el formulario, para que quien recolecta en una estación no escriba las coordenadas a mano. Active Rellenar automáticamente desde el GPS del dispositivo en los ajustes del campo de Ubicación. Cuando el campo se abre vacío en la aplicación web o de escritorio, lee una vez la posición del dispositivo (pide permiso la primera vez) y la registra, junto con la precisión de la medición. El botón Usar mi ubicación sigue disponible para volver a capturar.

Es un ajuste de campo, ofrecido para ubicaciones de tipo punto (captura una sola posición, por lo que no se aplica a una línea o una forma). Lee el GPS propio del dispositivo; una versión posterior podrá enlazar otros instrumentos de posición.

Un campo de Ubicación de tipo punto puede advertir (o bloquear) cuando su punto queda demasiado lejos del punto de otro campo de Ubicación del mismo registro, lo que detecta una coordenada mal escrita (un instrumento registrado lejos de donde entró el arte de pesca).

Lo que estableces:

  • El otro campo de Ubicación desde el que medir.
  • El límite en metros.
  • La gravedad: una advertencia que aún permite guardar el registro, que es lo predeterminado, o un error que lo bloquea.

La comprobación permanece en silencio a menos que ambos puntos estén presentes. Prefiere una advertencia si alguna ubicación del formulario puede ocultarse por una condición, para que nunca bloquee un guardado contra un valor que el recolector no puede ver.

Esto es configuración de campo, así que no hay una regla aparte que escribir. Lo editas en la configuración del campo de Ubicación (desde el constructor, o en el JSON del tipo de muestreo con un bloque maxDistanceFrom):

{ "field": "start_position", "limitM": 926, "severity": "warning" }