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:
@@ -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"/>
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user