ipprmt021: limita la busqueda a las 500 requisiciones mas recientes (CERRADA traia 35,812 y fallaba con -1326)

Ordena por fecha desc y avisa al usuario cuando hay mas para que use los filtros.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 16:04:57 -04:00
co-authored by Claude Sonnet 5.5
parent 4a8d31d9d0
commit f6f1c9b8c7
+9 -2
View File
@@ -44,14 +44,15 @@ FUNCTION ipprmt021()
ON ACTION buscar ATTRIBUTE(TEXT="Buscar",IMAGE="find")
CALL arr_busqueda.clear()
LET selec =
"SELECT b.estado,b.idestado,CAST(a.cod_mov AS VARCHAR(10))||' '||a.descrip_mov,b.numero_doc,b.fecha,c.nombre,
"SELECT TOP 500 b.estado,b.idestado,CAST(a.cod_mov AS VARCHAR(10))||' '||a.descrip_mov,b.numero_doc,b.fecha,c.nombre,
b.observacion,' ',b.cod_mov,b.us_crea
FROM iptb00005 a,iptb00057 b INNER JOIN iptb00061 d ON b.idestado = d.idestado
LEFT OUTER JOIN vetb00004 c ON c.tipo_cliente = b.tipo_cliente AND
c.sec_cliente = b.sec_cliente
WHERE a.cod_mov = b.cod_mov AND
b.status_t IS NULL AND
", criterio CLIPPED
", criterio CLIPPED,
" ORDER BY b.fecha DESC, b.numero_doc DESC"
PREPARE comando FROM selec
DECLARE buscardata CURSOR FOR comando
@@ -67,6 +68,12 @@ FUNCTION ipprmt021()
CALL arr_busqueda.clear()
END IF
# Limite de 500: la consulta trae solo las mas recientes
IF idx = 501 THEN
CALL fgl_winmessage("INFO",
"Se muestran las 500 requisiciones mas recientes." || ASCII 10 ||
"Use los filtros para acotar la busqueda.","info")
END IF
END CONSTRUCT
INPUT ARRAY arr_busqueda FROM sautoriza.* ATTRIBUTE(WITHOUT DEFAULTS)
BEFORE INPUT