Corregir ipprrp002 (Catalogo Productos Terminados) y registrar assets de ipprrp002_1/ipprrp052
- Rescatar de un backup viejo (PROYECTOS/bin) los .4rp que faltaban en el repo: ipprrp002.4rp, ipprrp002_1.4rp, ipprrp002_2.4rp e ipprrp052.4rp. Sin ellos el reporte nunca podia generarse (fgl_report_loadCurrentSettings fallaba y el programa hacia EXIT PROGRAM). - Registrar en mbsERP.4pw los formularios ipfmrp002.4fd, ipfmrp002_1.4fd e ipfmrp052.4fd, y los .4rp anteriores: existian en el repo pero nunca se habian agregado al proyecto. - ipprrp002.4gl: cambiar `cuenta` de SMALLINT a INTEGER, causaba "Value too large to fit in a SMALLINT" al generar el catalogo completo (43,796 productos sin filtro). - ipprrp002.4gl: envolver el flujo de captura/reporte en un WHILE para permitir buscar de nuevo sin cerrar el programa, y para que Cancelar termine limpio (antes, al terminar de generar el reporte el programa quedaba colgado y habia que forzar el cierre). Verificado con producto 29-668-1403-6952 (1 pagina, ciclo buscar-reporte- cerrar limpio) y catalogo completo sin filtro (43,796 productos, 1093 paginas, generacion correcta). Nota aparte (sin corregir): sin filtro de codigo el programa genera el catalogo completo (43,796 productos) sin ninguna advertencia; evaluar si deberia exigir un filtro minimo. Campo "Anio" en pantalla sin uso en el codigo. ipprrp002_1 e ipprrp052 tienen sus assets registrados pero aun no se han probado funcionalmente. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,8 @@ GLOBALS "ipprgb000.4gl"
|
||||
|
||||
DEFINE tipo_info VARCHAR(30),
|
||||
formato VARCHAR(3),
|
||||
cuenta,cod_lista SMALLINT,
|
||||
cuenta INTEGER,
|
||||
cod_lista SMALLINT,
|
||||
selec_cta STRING
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
@@ -54,28 +55,27 @@ FUNCTION ipprrp002()
|
||||
DISPLAY "ipprrp002" AT 4,3
|
||||
DISPLAY "Catalogo Productos " AT 6,33
|
||||
|
||||
WHILE TRUE
|
||||
LET progreso = 0
|
||||
DISPLAY progreso TO progreso
|
||||
|
||||
INPUT BY NAME decide,tipo_info,formato,cod_lista
|
||||
|
||||
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
|
||||
|
||||
|
||||
|
||||
END INPUT
|
||||
LET nombre_ant = "E"
|
||||
CONSTRUCT criterio ON a.cod_cia,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec
|
||||
FROM cod_cia,cod_n,cod_grupo,cod_tipo,cod_sec
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
|
||||
IF decide = "A" THEN
|
||||
@@ -119,10 +119,8 @@ ELSE
|
||||
END IF
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
|
||||
|
||||
@@ -145,7 +143,7 @@ END IF
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
|
||||
#LET handler= fgl_report_createProcessLevelDataFile("datos.xml")
|
||||
#LET handler= fgl_report_createProcessLevelDataFile("datos.xml")
|
||||
|
||||
--run the report
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
@@ -197,8 +195,8 @@ IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
ELSE
|
||||
FINISH REPORT catalogo
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END WHILE
|
||||
END FUNCTION
|
||||
|
||||
REPORT catalogo(x)
|
||||
|
||||
Reference in New Issue
Block a user