Escaneo de DNI

Registrá entradas y salidas escaneando el código de barras del DNI argentino. Stats live, lista filtrable, modal de confirmación con impresión opcional.

operador supervisor

¿Qué hace?

El escaneo de DNI es el corazón operativo del sistema. Permite registrar el ingreso o egreso de una persona simplemente leyendo el código de barras del DNI argentino con un lector USB estándar. El sistema reconoce automáticamente si la persona ya está adentro (registra una salida) o si está afuera (registra un ingreso).

El flujo

  1. El operador llega al puesto y elige cuál es el puesto del turno en la pantalla de selección de puesto.
  2. La pantalla principal de escaneo queda lista, con el input principal enfocado y pulsando para indicar que está esperando una lectura.
  3. El operador escanea el DNI de la persona. El lector USB tipea el contenido + Enter, y el sistema procesa inmediatamente.
  4. El sistema:
    • Interpreta el código de barras.
    • Busca a la persona por DNI.
    • Si existe, registra un ingreso o egreso según el estado actual: si la persona está afuera, entra; si está adentro, sale.
    • Si no existe, redirige al formulario de alta de persona con los datos prellenados.

Layout de la pantalla

La pantalla está organizada para que el foco siempre esté en el input de escaneo, con información contextual alrededor:

  • Input hero (arriba): grande, auto-enfocado, con animación de "listo para escanear". El click en cualquier parte de la pantalla que no sea un control devuelve el foco al input — el operador nunca tiene que hacer click para volver a escanear.
  • Engranaje a la derecha del input: dropdown con configuración avanzada (ver más abajo).
  • Fila de estadísticas (4 cards): contadores live que se refrescan en cada scan.
  • Adentro ahora: personas cuyo último registro es entrada.
  • Entradas hoy / Salidas hoy: contadores del día actual.
  • Mi turno hoy: registros que cargó el operador actualmente conectado.
  • Lista de registros (abajo, ancho completo): los registros más recientes de la organización, paginados de a 5, con buscador y avatares.

Engranaje: opciones avanzadas

El botón engranaje al lado del input de scan abre un panel con:

Modo

Por defecto está en Automático: el sistema decide si registrar entrada o salida según el último evento de la persona. Se puede forzar manualmente a Entrada o Salida — útil si hubo un error o el sistema quedó desincronizado.

Recibo de entrada

Dos opciones que controlan el modal post-entrada (ver siguiente sección):

  • Abrir modal al ingresar (default ON): si está apagado, no aparece el modal tras una entrada — flujo más rápido para escaneo continuo.
  • Imprimir QR de acceso por default (default ON): pre-tilda el switch de impresión cuando el modal abre. Recuerda la última elección del operador.

Impresora (hint)

Campo de texto libre para anotar qué impresora está configurada. Solo cosmético — el browser no permite elegir impresora desde JavaScript. La impresora real se configura como default en el sistema operativo.

Todas las preferencias se persisten en localStorage por dispositivo — cada PC tiene sus propias settings, sin afectar a otros operadores ni requerir DB.

Modal post-entrada

Después de cada entrada exitosa, el sistema abre un modal con:

  • Foto + nombre del Person (confirmación visual).
  • Campo de comentario (opcional, auto-enfocado).
  • Switch Imprimir QR de acceso.
  • Botones Omitir / Confirmar.

El record ya está creado cuando el modal aparece — el modal solo sirve para enriquecerlo:

  • Confirmar: guarda el comentario (si hay) y dispara la impresión (si el switch está tildado). Si la impresora del OS está configurada y Chrome corre con --kiosk-printing, la impresión es silenciosa.
  • Omitir / Escape / click afuera: el modal cierra sin cambios. El record queda como estaba — no se pierde la entrada.
  • Si el operador escanea otro DNI mientras el modal está abierto: el modal se cierra automáticamente y se abre el nuevo. Cero pérdida de datos.

Las salidas no abren modal: el flujo es directo (toast + sonido + tabla actualizada).

Lista de registros: filtrable y paginada

La lista debajo del scan muestra 5 registros por página, con:

  • Buscador inline: filtra por DNI, nombre, apellido o comentario en tiempo real (debounce 300ms). El filtro se preserva al refrescar tras un nuevo scan.
  • Paginación: controles + indicador 1 / N. La búsqueda y la página actual conviven sin recargar la página completa.
  • Avatares: foto del Person o iniciales en círculo, junto al nombre.
  • Iconos de PDF: para entradas con QR, link directo a descargar el recibo.

Sonidos

Hay un toggle global en el topbar (icono de altavoz) que activa/desactiva los beeps de confirmación. La preferencia se guarda en localStorage por dispositivo. Si los archivos de audio no existen (static/audio/scan-success.mp3, static/audio/scan-error.mp3), el browser los ignora silenciosamente sin romper el flujo.

Atajo de pantalla completa

Botón "Pantalla completa" en el header — invoca requestFullscreen() para que la estación quede como kiosko. Esc o re-click para volver. Útil si la PC del operador es un totem dedicado pero no se usa el modo totem completo.

Salida: tres caminos posibles

El sistema permite registrar la salida de tres maneras, según la situación:

  1. Re-escaneando el DNI — el mismo flujo que el ingreso. Es el camino por defecto y el más usado para personal de planta.
  2. Escaneando el QR del pase del visitante — más rápido para visitantes; ver pase con QR.
  3. Carga manual desde la lista de registros — si la persona perdió el pase, no tiene el DNI a mano, o se necesita corregir un registro, un supervisor puede editar o crear registros manualmente desde la lista de registros o la edición manual. Esos cambios quedan registrados en la auditoría.

Formatos de DNI que se reconocen

El parser maneja varios formatos del barcode argentino + el QR del pase de visitante, sin que el operador tenga que elegir cuál:

Formato Cuándo aparece
Numérico plano Lectores que sólo leen los dígitos del DNI
DNI anterior (variante con @) DNIs previos a la versión "tarjeta" actual
DNI anterior (variante con ") Reemisiones de la versión anterior
eDNI moderno (2026) DNIs con el formato más nuevo
QR de pase de visitante Código ACX:<token> impreso al ingreso

En el eDNI moderno el género ya no viene en el código de barras (por la ley de privacidad), así que el sistema lo deja en un valor por defecto editable. Ajustalo manualmente desde el alta o detalle de la persona si corresponde.

Si el DNI no está en la base

El sistema redirige automáticamente al formulario de alta de persona con los datos extraídos del código de barras prellenados (nombre, apellido, DNI, fecha de nacimiento). Sólo hay que confirmar y, si querés, sacar la foto con la webcam antes de guardar.

Permisos

Cualquier usuario autenticado con un puesto activo puede registrar entradas. No se requiere rol de supervisor.

Para qué NO sirve

  • Editar registros viejos: usá la lista de registros que permite edición manual y deja huella de auditoría.
  • Gestionar pases de visitante: el flujo de pase con QR está documentado aparte en el pase con QR.
  • Uso público / autoservicio: si querés que las personas se registren solas sin operador, mirá el modo totem.
Pantalla principal de escaneo, esperando lectura del lector.
Pantalla principal de escaneo, esperando lectura del lector.
Captura pendiente dni-scan-result.png
Confirmación tras un scan exitoso (registro de ingreso).