Tipo de página

Hoja de cálculo: escribe por lotes, revisa antes y guarda de una vez.

Para quien captura 200 filas al día. En vez de 200 formularios, escribes en una grilla parecida a Excel. El sistema revisa todo antes y guarda en una sola transacción.

Una grilla para capturar varias filas de una vez

Las filas están numeradas. Arriba tienes +10 filas, Deshacer, un contador de filas completadas y los botones Validar y Guardar.

Hoja de captura con 5 filas completadas
5 filas escritas: el contador muestra las filas completadas y el botón Guardar queda activo.

Cada columna con su tipo, hasta lista de la base de datos

Cada columna tiene su tipo: texto, número, moneda, fecha o lista de la base de datos, con búsqueda dentro de la propia celda. Es el caso de la columna Estado:

resources/views/…blade.php
<mad-sheet model="Cidade" database="maderp" rows-min="10" max-rows="2000"><mad-sheet-col field="estado_id" label="Estado" type="combo"model="Estado" key="id" display="{nome}" order-by="nome" width="220px" /><mad-sheet-col field="nome" label="Nombre" required /><mad-sheet-col field="situacao" label="Situación" /><mad-sheet-col field="codigo_ibge" label="Código IBGE" /></mad-sheet>

Validar antes, guardar después

Validar revisa el lote completo: campos obligatorios, tipos y referencias a otras tablas. Las celdas con problemas quedan marcadas. Guardar graba todo en una única transacción, y si algo falla, no se guarda nada.

Hoja después de hacer clic en Validar
El lote revisado antes de guardar, y un error en una fila no te hace perder el resto del trabajo.

Cuándo usar la hoja de captura

Úsala cuando alguien carga muchos registros parecidos, uno tras otro. La persona escribe todo en la grilla y guarda de una vez, en vez de abrir un formulario por fila.

  • Conteo de inventario. Producto y cantidad escritos durante el inventario, con la suma en la fila de totales.
  • Movimientos financieros. Los gastos del mes, con valor y fecha en cada fila.
  • Presupuesto. Cantidad y valor unitario por fila, y una columna calculada muestra el total de cada una.
  • Horas del equipo (RR. HH.). Empleado, fecha y horas, con el empleado elegido en una lista de la base de datos.

Para filtrar, sumar o exportar lo que ya existe, usa el listado. Para un registro con muchos campos o con ítems, como una venta, usa el formulario. La hoja se arma en el editor visual, como las demás pantallas.

Lo que configuras

Además de la tabla y las columnas, estos ajustes cambian el día a día de quien escribe.

Obligatoria required
Una celda vacía en esa columna reprueba el lote.
Valor inicial default
Completa las filas nuevas, como la fecha de hoy, y ahorra escribir lo mismo en cada fila.
Columna calculada compute
Hace la cuenta en cada fila, como cantidad por valor. La columna es de solo lectura y no se guarda.
Lista que depende de otra depends-on
En la misma fila, una columna filtra las opciones de la otra, como categoría y producto. Cambiar la primera limpia la segunda.
Máscara mask
CPF, CNPJ, código postal, teléfono, patente y otras. CPF y CNPJ tienen los dígitos verificadores comprobados en el servidor.

Lo que va al proyecto Laravel

La hoja es una clase en app/Control con la vista <mad-sheet>. El guardado pasa por puntos donde puedes entrar con tu código:

  • Revisar y guardar son métodos separados. onValidateBatch revisa el lote sin guardar, y onSaveBatch guarda. Los errores vuelven por celda, con la fila y el campo.
  • Un punto antes de cada fila. En una clase tuya que extiende la de la hoja, beforeSaveRow() recibe cada fila antes de guardar. Ahí grabas una columna calculada o completas usuario, empresa y unidad. Una excepción en ese punto deshace el lote completo.
  • Un punto después del lote. afterSaveBatch() recibe los registros guardados, por ejemplo para actualizar un saldo.

Como toda pantalla de MadBuilder, esos archivos se abren en tu editor, van a tu Git y aceptan código a mano en bloques protegidos, que siguen ahí cuando la pantalla se genera de nuevo. Mira cómo se genera el código.

Preguntas sobre la hoja de captura

¿La hoja también edita registros que ya existen?

No. Sirve para escribir registros nuevos. Para cambiar lo que ya está guardado, usa el listado, que edita el valor en la propia celda.

¿Se pueden pegar datos de Excel en la hoja?

Sí. Pega en la grilla un bloque de celdas copiado de Excel. Valores como 1.234,56 y fechas en dd/mm/aaaa se convierten al formato de la base de datos.

¿Cuántas filas se pueden guardar de una vez?

Por defecto, hasta 2.000 filas por lote, y puedes cambiar ese límite.

¿Se puede capturar solo con el teclado?

Sí. Enter y las flechas se mueven entre las celdas, Ctrl+D repite el valor de arriba y Ctrl+Z deshace.

Y más

Pega un bloque entero de celdas directo desde ExcelColumnas con lista de opciones y búsquedaUna columna filtra las opciones de la otraColumnas calculadas a partir de las otrasDeshacer el lote completoGuardar todo en una única transacción

Mira el formulario en detalle o conoce los tipos de página.

Crea la cuenta, arma una pantalla, descarga el proyecto.

Sin demo agendada ni llamada de descubrimiento. Si el Laravel que sale no pasa la revisión de tu equipo, perdiste una tarde.

  1. Crea la cuentaBeta abierta, sin tarjeta.
  2. Arma una pantallaEn el editor visual, en código o pidiéndoselo a la IA.
  3. Descarga el .zipUn proyecto Laravel que corre donde quieras.