Validación con dos condiciones en la misma fila de la lista

Hola buenas noches me gustaría solicitar ayuda para resolver un problema.
Hice una aplicación que registra códigos de barra en una tabla de google spreadsheets, el problema que tengo es que necesito hacer una validación para que el código no se repita 2 veces en el mismo ingreso el cual se hace por un número de lote que se asignara como co-relativo ya logre que me identifique si el código de barras se repite, pero necesito que ademas de ver esa validación lo haga igual correlativo de lote ingresada en la misma fila y lo compare con el que esta actualmente y no con los pasados.

Ejemplo: en el lote 20 se ingresan 300 códigos y el el lote 21 se ingresan 250 en su mayoría los mismos códigos del lote 20.

¡¡Muchas gracias de antemano!!.

Hello Jaime,

how are you interacting with googleSheet, with SpreadSheet component or with Web component?

In global Scanner2 I guess you have the list of codes of a lot (the 20 or the 21 in your example?) so, you need to get the list of codes of the other lot in the same way and add the validation.

How are you getting the data of Scanner2?

I had created it by the following blocks, and if you ask for the entire information, it's inside global scanner.
but i don't know how to mix 2 codes in one validation.

And what does your googSheet look like?

Can you answer this?

I guess column H is the lot ID so, if you are generating lot 7 you want to compare with lot 7 (you already have it) and lot 6, rigth?

with web component i guess i'm really new on this.

If your googleSheet has permissions for anyone with the link you can do a direct select "SELECT B WHERE H = lot_number and B=code".

If your google sheet is restricted, then you will need a google script.

Whit gviz it would be something like this:

If you get a result it means that the code already exists in colB, for the lot indicated (col H). If empty response (only cols names), then the code doesn't exist.

Reading again...maybe I understood you wrong...and you get already all the information in your app...and the only thing you want is to use a OR operator in the if statement?

Yes, that was the validation that i had needed. Thank you so much!!

Great and excuse the misunderstanding...y eso que habías escrito en mi idioma.... :stuck_out_tongue:

jajajaja amigo pero aun me da problemas, me deja pasar un código pero el segundo lo rechaza como que ya lo hubiera ingresado.

Entonces es que ya está en la lista Scaner2 ¿no?

Esto es lo que supuestamente estas recibiendo de tu googleSheet y estas formando 3 listas:

Luego parece que ecaneas un nuevo articulo y validas:

  • que el nuevo código escaneado esté en la lista Scan2
  • Y una seguna condición (ver si un texto está en Partida)

si se cumplen ambas condiciones, está repetido.

Si ya encontré el error era que estaba obteniendo datos de la web 2 veces.

Te pasaste por la ayuda eres un grande un abrazo mi buen!.

Sigue dando el mismo problema, guarda 1 pero el segundo código repetido no lo deja ingresar, lo que estaba pensando es que podría existir algo así como un buscar.si.conjunto o buscarx y transformarlo a boolean cosa de que si detecta la coincidencia este quedaría en 1, así mandaría el bloqueo y si esta en 0 ingresa.

Mira a ver que tienes en la lista Scanner2, antes y depués de escanear cada nuevo producto.

Hola!!, Ramón.

Actualice un poco los datos pero es lo mismo, quiero que filtre partida y código.

Voy a probar un script para ver si así me sale mas fácil.

Hola,

una vez que te has traido los datos a tu aplicación puedes filtrar por lo que quieras... Si tienes todos los datos es recorrerte la lista, buscando para la/s partida/s que quieras, si existe el código nuevo.

No te hace falta ni "desmontar" la lista Scanner que recibes con todo....en Scanner tienes una lista de las filas recuperadas (lista de listas.

Cuando escaneees un codigo nuevo, recorre la ista comporbando si para las partidas que quieres, existe el codigo nuevo.
Un ejemplo simple. Con una lista inicial (reducido a 2 parametros, con lo tuyo sería similar), donde intento meter un código que ya existe (Partida:2 y Código:11111). Comprueba la partida actual y la anterior:

Y un ejemplo, metiendo un código nuevo (Partida:2 y Código:12345):