Funciones Numeración consecutiva para identificar productos

Hola a todos!! Necesito un poco de ayuda, empecé con AppSheet hace menos de una semana y quiero seguir aprendiendo :)

Tengo 6 productos a los que quiero asignar un código en una app de appsheet:

Un chaleco talla M
Un pantalón talla S
Una blusa talla ÚNICA
Un chaleco talla ÚNICA
Una blusa talla S
Un pantalón talla M

Quiero que el código empiece con las 3 primeras letras del nombre del producto, luego un guión, luego la talla, luego un número consecutivo solamente respecto al mismo tipo de producto; con el orden que mencioné, quiero que los códigos se vean de la siguiente manera:
Cha-M-001 (primer chaleco registrado)
Pan-S-001 (primer pantalón registrado)
Blu-ÚNICA-001 (primera blusa registrada)
Cha-ÚNICA-002 (segundo chaleco registrado)
Blu-S-002 (segunda blusa registrada)
Pan-M-002 (segundo pantalón registrado)

Qué expresión exacta debo utilizar para lograr esto?

De antemano muchísimas gracias por su ayuda!
 

Aguilar

Miembro Activo
Hola Marcela, espero que te encuentres bien.

Me alegra mucho que hayas elegido Appsheet para hacer tu aplicación. Ahora paso a contestar tu pregunta:
1724862818322.png
Empecé por incluir una "Descripción" y una "Imagen" en la tabla. Y en detalle así se ve la tabla en Appsheet.
1724863025208.png
Vas a editar la columna "IDProducto" y en el apartado "Auto compute" opción "Initial value" vas a copiar la siguiente expresión:

CONCATENATE(UPPER(LEFT([Tipo], 3)),"-",[Talla],"-",RIGHT("000"&(COUNT(FILTER("Productos", ([Tipo] = [_THISROW].[Tipo])))+1),3))

1724863298180.png
Luego de escoger el Tipo de producto y la talla, te mostrará el IDProducto completo

Espero te funcione...
 
Mil gracias, funcionó de maravilla! Le modifiqué un detallito nada más pero quedó perfecta :D(y)
La app en total tiene 9 tablas y tengo que relacionar varias entre ellas, en eso estoy, pero se me ocurrió crear nuevas bases de datos con las tablas de a dos en dos, para ir resolviendo de a pocos, sobre todo porque quiero aprender :) Si patino en muchas cosas pero otras las he logrado :geek:

Creo que me verán seguido por aquí haciendo preguntas :)

Saludos
 

Aguilar

Miembro Activo
Me alegra poder ayudarte.

Sólo un recordatorio. Esta expresión genera un correlativo en base a un conteo. En esta parte de la expresión:

COUNT(FILTER("Productos", ([Tipo] = [_THISROW].[Tipo])))+1

Se filtran Todos los registros que sean del mismo [Tipo] al que estás creando y le suma 1, para garantizar que no se repita, es por eso que tienes que tener mucho cuidado al eliminar registros. Aconsejo que le coloques un estatus de "Activo" y "No activo", para no perder la secuencia y no repetir ID.

Saludos cordiales
 
Buenas tardes! Intenté esa fórmula en una tabla en la que el campo "Talla" no es tipo Enum sino que está relacionado con una tabla llamada "MEDIDAS", y la fórmula ya no me funcionó :( Tabla prototipo.png
En la tabla MEDIDAS, cada medida tiene muchas variables que necesito para elaborar la prenda, por eso no puede ser simplemente tipo Enum... Además esa tabla la hice como si fuera para una hoja de cálculo tipo Excel, ya que para la talla S, por ejemplo, la medida de la cintura está en el rango entre los 60 y los 64 cm, por eso creé la tabla así, con desplegables en la hoja de cálculo. Pero se puede obviar ese rango si es un problema para la fórmula de appsheet Agregar Producto en tabla prototipo.png

Esta captura muestra que si quiero agregar un producto, el ID no se muestra, y la tabla "Talla" es del tipo Ref
...

Por favor me puede orientar para que la fórmula me funcione correctamente? No sé si ese detalle de la tabla sea el que no permite que la fórmula funcione...
 

Aguilar

Miembro Activo
Hola Marcela

Si cambiaste la columna [Tipo] por [NombreProducto]... también lo tienes que cambiar en la expresión que te dí.

CONCATENATE(UPPER(LEFT([NombreProducto], 3)),"-",[Talla],"-",RIGHT("000"&(COUNT(FILTER("Productos", ([NombreProducto] = [_THISROW].[NombreProducto])))+1),3))

Sugerencias:
1.- Usa "U" para la talla única.
2.- Deja como [Tipo] lo de Chaleco, Blusa, Pantalón y agregar una columna [Descripción] donde podrás describir la prenda color, tejido, etc.
3.- [NombreProducto] o [Tipo] como lo quieras llamar... usa tipo "Enum", esto ahorra tiempo en la entrada de datos y minimiza los errores de entrada.
4.- Con la columna [Talla] muestralos como botones, te ahorrará tiempo para la entrada de datos.

Espero que te sea de ayuda.
 
Excelente, muchísimas gracias! Eres muy amable :love:

Sí cambié [Tipo] por [NombreProducto] (y)

Mañana espero tener listos los cambios y probarlos, porque esta noche mis ojos no dan más de ver tanto la pantalla...

Que tengas buena noche!
 
Arriba