Por ejemplo si ya fuera enero de 2024 y fuera la primera me crearía la etiqueta 2024-1, la siguiente la 2024-2 y asi sucesivamente, pero si pongo una en el 2023 por la razón que fuera deberia ser la ultima etiqueta +1
Estoy intentando mejorar el codigo pero el problema que tengo es que el if siempre me inidca que falso aunque la consulta previa me diga verdadero.
El indice esta creado así :
INDEX ON Transform(year(fecha),"9999")+STRTRAN(Transform(etiqueta,"9999999999")," ","0") TAG "ETIQUETA" DESCENDING
- Code: Select all Expand view
regno:=recno()
(ccorte)->(DbSetOrder(5))
(ccorte)->(Dbgotop())
dbseek(transform(year(Var(4)),"9999"))
* if year(Var(4)) != year((ccorte)->fecha) -----> Linea anterior de control
msgalert(found()) ----------> Aqui me indica que .T.
msgalert(recno()) ----------> Me indica el registro correcto, con el numero de etiqueta correcto, el 2, el 14 o el que corresponda.
msgalert((ccorte)->etiqueta) ----> Me indica el numero de etiqueta correcto al que hay que sumarle 1
if !found() ------->SIEMPRE ME ENTRA EN ESTA OPCION AUNQUE LA CONSULTA ANTERIOR HAYA SIDO .T., POR LAS PRUEBAS QUE HECHO ENTRA SEA .F. o .T. la consulta del msgalert(found()) , lo he cambiado por (ccorte)->(found()) y sigue con el mismo error
msgalert("NO")
vnumetiqueta:= 1
else
msgalert("SI")
vnumetiqueta:= (ccorte)->etiqueta+1
endif
(ccorte)->(DbSetOrder(1))
(ccorte)->(Dbgotop())
(ccorte)->(Dbgoto(regno))
Y la verdad ya no se puede estar pasando. Estoy aqui parado. Puedo activar la linea que esta desactivada y no buscar, pero no podría hacer etiquetas de un año anterior.
¿Alguna idea? Ya es más por orgullo que por otra cosa