Corregir ipprrp002_1 (Catalogo Productos Con Costos): cierre colgado y titulo

- ipprrp002_1.4gl: envolver el flujo de captura/reporte en un WHILE,
  mismo bug que ipprrp002 (el programa quedaba colgado tras generar el
  reporte y habia que forzar el cierre; ahora Cancelar cierra limpio y
  se puede volver a buscar sin cerrar el programa).
- ipfmrp002_1.4fd: agregar texto al <Form> ("CATALOGO PRODUCTOS CON
  COSTOS"), la ventana no tenia titulo y mostraba "screen" por defecto.

Verificado con producto 29-668-1403-6952 (1 pagina, existencia 360.00,
costo 3,512.42, precio 7,379.02, coincide con la BD) y con el catalogo
completo sin filtro (mismo volumen que ipprrp002, generacion correcta
aunque lenta por las consultas adicionales que hace por fila).

Nota aparte (sin corregir): los campos "Origen" y "Lista Precios" en
pantalla no estan en el INPUT BY NAME ni se usan en el query (que trae
siempre ventas='1' y cod_lista=1 hardcodeados) - no seleccionables,
funcionalidad a medio conectar igual que "Anio" en ipprcs042.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-23 12:10:43 -04:00
co-authored by Claude Sonnet 5
parent 899f4ee138
commit 1ea7f53344
2 changed files with 16 additions and 19 deletions
+1 -1
View File
@@ -16,7 +16,7 @@
<RecordField colName="progreso" fieldIdRef="3" name="progreso" sqlTabName="formonly" uid="{2876bc75-5772-43f8-9ee4-2add49a40fa4}"/> <RecordField colName="progreso" fieldIdRef="3" name="progreso" sqlTabName="formonly" uid="{2876bc75-5772-43f8-9ee4-2add49a40fa4}"/>
<RecordField colName="total5" fieldIdRef="9" name="total5" precisionDecimal="10" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" uid="{b35a744a-9920-4579-ace9-15d4c60f41bb}"/> <RecordField colName="total5" fieldIdRef="9" name="total5" precisionDecimal="10" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" uid="{b35a744a-9920-4579-ace9-15d4c60f41bb}"/>
</Record> </Record>
<Form gridHeight="24" gridWidth="80" name="ipfmrp002_1"> <Form gridHeight="24" gridWidth="80" name="ipfmrp002_1" text="CATALOGO PRODUCTOS CON COSTOS">
<Grid gridHeight="24" gridWidth="80" name="grid1" posX="0" posY="0"> <Grid gridHeight="24" gridWidth="80" name="grid1" posX="0" posY="0">
<Label gridHeight="1" gridWidth="9" name="label1" posX="8" posY="1" text="Año Costo"/> <Label gridHeight="1" gridWidth="9" name="label1" posX="8" posY="1" text="Año Costo"/>
<ComboBox colName="pano" fieldId="10" gridHeight="1" gridWidth="8" items="" name="pano" posX="25" posY="1" sqlTabName="formonly" tabIndex="1" widget="ComboBox"/> <ComboBox colName="pano" fieldId="10" gridHeight="1" gridWidth="8" items="" name="pano" posX="25" posY="1" sqlTabName="formonly" tabIndex="1" widget="ComboBox"/>
+15 -18
View File
@@ -54,32 +54,31 @@ FUNCTION ipprrp002()
DISPLAY "ipprrp002" AT 4,3 DISPLAY "ipprrp002" AT 4,3
DISPLAY "Catalogo Productos " AT 6,33 DISPLAY "Catalogo Productos " AT 6,33
WHILE TRUE
LET progreso = 0
DISPLAY progreso TO progreso
INPUT BY NAME pano,tipo_info,formato INPUT BY NAME pano,tipo_info,formato
BEFORE INPUT BEFORE INPUT
CALL cano() CALL cano()
LET pano = YEAR(TODAY) LET pano = YEAR(TODAY)
DISPLAY BY NAME pano DISPLAY BY NAME pano
AFTER INPUT AFTER INPUT
IF int_flag THEN IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE LET int_flag = FALSE
RETURN EXIT WHILE
END IF END IF
EXIT INPUT EXIT INPUT
END INPUT END INPUT
LET nombre_ant = "E" LET nombre_ant = "E"
CONSTRUCT criterio ON a.cod_cia,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec 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 FROM cod_cia, cod_n,cod_grupo,cod_tipo,cod_sec
IF int_flag THEN IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE LET int_flag = FALSE
RETURN EXIT WHILE
END IF END IF
LET SELEC = LET SELEC =
"SELECT a.cod_cia,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ", "SELECT a.cod_cia,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ",
" a.unidad_med,SUM(b.cantidad_2),c.factor_conv,d.precio FROM iptb00002 a " a.unidad_med,SUM(b.cantidad_2),c.factor_conv,d.precio FROM iptb00002 a
@@ -111,7 +110,7 @@ FUNCTION ipprrp002()
EXIT PROGRAM EXIT PROGRAM
END IF END IF
#LET handler= fgl_report_createProcessLevelDataFile("datos.xml") #LET handler= fgl_report_createProcessLevelDataFile("datos.xml")
--run the report --run the report
IF handler IS NOT NULL THEN -- report engine was configured ok IF handler IS NOT NULL THEN -- report engine was configured ok
@@ -123,14 +122,12 @@ IF handler IS NOT NULL THEN -- report engine was configured ok
CALL integridad() CALL integridad()
IF bandera = 1 THEN IF bandera = 1 THEN
LET bandera = 0 LET bandera = 0
RETURN EXIT WHILE
END IF END IF
IF int_flag THEN IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE LET int_flag = FALSE
RETURN EXIT WHILE
END IF END IF
DECLARE accion CURSOR FOR busca DECLARE accion CURSOR FOR busca
@@ -165,8 +162,8 @@ IF handler IS NOT NULL THEN -- report engine was configured ok
DISPLAY Progreso TO progreso DISPLAY Progreso TO progreso
CALL ui.interface.refresh() CALL ui.interface.refresh()
FINISH REPORT catalogo FINISH REPORT catalogo
END IF END IF
END WHILE
END FUNCTION END FUNCTION
REPORT catalogo(x) REPORT catalogo(x)