🧾 Cómo Crear un ID Autonumérico en AppSheet sin Errores ni Colisiones

¿Buscas una forma segura de generar números de folio consecutivos en AppSheet? Si tienes una app con múltiples usuarios creando registros al mismo tiempo, usar un contador secuencial puede parecer una buena idea… hasta que empieza a fallar. En este artículo descubrirás las mejores estrategias para crear un ID autonumérico en AppSheet sin errores, duplicados ni pérdida de datos.


🚨 El Problema del MAX() + 1 al crear un id autonumérico en Appsheet

Muchos desarrolladores intentan crear un número consecutivo así:

MAX(Tabla[ID]) + 1

Este método funciona en apps con un solo usuario… pero en ambientes multiusuario (y peor aún si trabajan offline), puede generar el mismo número en dos registros diferentes. ¿Resultado? Colisiones, errores de sincronización y caos en tus datos.

Método ¿Es seguro en multiusuario? Problemas comunes
MAX(Tabla[Folio]) + 1 ❌ No Colisiones, duplicados, inconsistencia offline
COUNT(Tabla[ID]) + 1 ❌ No No considera borrados, también puede duplicarse
Folios calculados en formularios ❌ No Al enviar varios registros sin sincronizar


Crear un id autonumerico en appsheet

 

✅ Métodos Seguros para Generar un ID Único en AppSheet

🔐 Opción 1: Usar UNIQUEID() como Clave Primaria

Es la opción más robusta que AppSheet ofrece. Genera un código aleatorio único como a12d3f4c.

Ventajas:

 

    • Funciona offline

    • Garantiza unicidad

    • Es inmediato

Desventaja:

 

    • No es legible para humanos (no es “0001”, “0002”, etc.)


🧠 Opción 2: ID Único + Folio Visible Secuencial

Mejor práctica recomendada:

 

    1. Crea una columna [ID_Unico] con fórmula inicial UNIQUEID() (esto será tu Key).

    1. Crea otra columna [Folio] que mostrará el

Paso a paso con una tabla de control:

 

    1. Crea una tabla llamada ContadorFolio

       

        • Solo debe tener una fila con la columna [UltimoFolio].

        • Esta columna almacena el último número asignado.

    1. Crea un Bot en AppSheet que haga lo siguiente:

       

        • Evento: Al crear un nuevo registro en la tabla principal.

        • Proceso: Ejecuta las siguientes tareas en orden:

           

            1. Leer el valor actual de UltimoFolio.

            1. Incrementar ese valor en 1.

            1. Actualizar el campo [Folio] del nuevo registro.

            1. Actualizar la tabla ContadorFolio con el nuevo valor.

✅ Esto garantiza unicidad del folio incluso si varios usuarios están usando la app simultáneamente, ya que el cambio ocurre en el servidor, no en el dispositivo local.


⚡ ¿Y si el Bot es demasiado lento?

Es una observación válida: a veces el Bot tarda algunos segundos en ejecutar todo el proceso, lo cual puede generar una experiencia menos fluida para el usuario.

Soluciones posibles:

🔹 1. Folio provisional visible + folio real asignado luego

Muestra un número temporal al usuario al crear el registro (por ejemplo TEMP-1432 o con NOW()), y luego el Bot lo reemplaza con el número definitivo.

🔹 2. Generador de folios con Google Apps Script (crear un id autonumérico en Appsheet)

Puedes usar un webhook que llame a un Apps Script para:

 

    • Leer el último folio desde una hoja de cálculo.

    • Generar el nuevo número (ej. 2025-0007).

    • Escribirlo directamente en la fila correspondiente usando la API de AppSheet.

Este método es más rápido que los Bots tradicionales y te da mucha flexibilidad.


🧪 Comparativa de métodos para generar folios

Método ¿Seguro? ¿Rápido? ¿Offline? Comentario
MAX()+1 directo en fórmula ❌ No ✅ Sí ❌ No Muy inseguro en apps multiusuario
UNIQUEID() ✅ Sí ✅ Sí ✅ Sí Ideal como clave, pero no legible
Tabla de control + Bot ✅ Sí ❌ Medio ✅ Sí Robusto, pero puede tardar unos segundos
Apps Script vía Webhook ✅ Sí ✅ Sí ❌ No Potente y flexible, requiere algo de código
Folio provisional + Bot ✅ Sí ✅ Sí ✅ Sí Experiencia más fluida para el usuario


🧩 Consejo de experto

Siempre utiliza UNIQUEID() como clave principal (Key) del registro.
Usa el número autonumérico solo como campo de referencia visual o administrativa (ej. “Folio”).


🏁 Conclusión

Crear un folio autonumérico seguro y funcional en AppSheet es totalmente posible, pero requiere una implementación pensada para evitar colisiones entre usuarios, especialmente en aplicaciones colaborativas y con acceso offline.

La estrategia más segura y profesional combina:

 

    • Un UNIQUEID() como clave interna.

    • Un folio generado por Bot o Apps Script.

    • Un control centralizado del contador.

Enlaces recomendados:

🔗 Enlaces recomendados

AppSheet.es – Guías, recursos y tutoriales en español
Blog especializado en AppSheet en español con guías prácticas, soluciones no-code y estrategias de automatización.

Documentación oficial de AppSheet – Funciones y automatizaciones
Recurso esencial para consultar expresiones, configuración de bots y automatizaciones paso a paso.

Sitio web oficial de AppSheet – Creador de apps sin código
Página oficial de Google AppSheet con acceso al editor, ejemplos, tutoriales y casos de éxito.

Carrito de compra