Agrega y corrige inprrp008, inprrp028, inprrp009 e inprrp011 (Materia Prima)

- inprrp008: agrega CONNECT faltante en MAIN, corrige ruta de impresion
  hardcodeada (C:\archivo -> FGLSPOOL) y comando RUN sin comillas,
  reconstruye infmrp008 como .4fd (el campo Ordenamiento se compilaba
  como checkbox en vez de texto)
- inprrp028: restaura la rama matricial (Si/No Reporte Grafico) que
  habia quedado comentada, dejando el programa forzado a la via XML
  rota; agrega funcion compartida seleccionarSalida() a defecto.4gl
- inprrp009: agrega notNull al combo de Bodega para quitar los items
  <blank>/<not blank>, agrega titulo a la ventana
- Registra formularios infmrp008, infmrp028 e infmrp011 en el proyecto
- Todos probados: corren completos sin error de FGL (Exit code: 0) via
  matricial; la salida grafica/PDF sigue siendo la limitacion conocida
  de entorno (Report Writer 2.0 no disponible)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 16:48:20 -04:00
co-authored by Claude Sonnet 5
parent cda8053d90
commit f140ab917e
8 changed files with 85 additions and 22 deletions
+6
View File
@@ -180,3 +180,9 @@ FUNCTION selectOutput()
-- con la limitacion ya conocida; usar MATRICIAL en su lugar.
RETURN "PDF"
END FUNCTION
FUNCTION seleccionarSalida()
-- Mismo caso que selectOutput(): el formulario "Configuration" del
-- Report Writer 2.0 no esta disponible en este entorno; usar MATRICIAL.
RETURN "PDF"
END FUNCTION
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="smarmotech" fileVersion="40100" gstVersion="60003" name="ManagedForm" uid="{7a1f2c30-8e4b-4d5a-9b6a-2f3c4d5e6f70}">
<AGSettings>
<DynamicProperties version="4"/>
</AGSettings>
<Record name="record1" uid="{4a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d}">
<RecordField colName="decide" comment="Digite A - Alfabetico N - Numerico" fieldIdRef="0" name="decide" sqlTabName="formonly" uid="{1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c51}"/>
<RecordField colName="cod_mov" fieldIdRef="1" fieldType="TABLE_COLUMN" name="intb00005.cod_mov" sqlTabName="intb00005" uid="{1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c52}"/>
</Record>
<Form gridHeight="5" gridWidth="60" name="infmrp008" text="Tipos de Movimientos">
<Grid gridHeight="5" gridWidth="60" name="grid1" posX="0" posY="0">
<Label gridHeight="1" gridWidth="20" name="label1" posX="0" posY="0" text="Ordenamiento"/>
<Edit autoNext="true" colName="decide" comment="Digite A - Alfabetico N - Numerico" fieldId="0" gridHeight="1" gridWidth="2" name="decide" posX="22" posY="0" sqlTabName="formonly" tabIndex="1" widget="Edit"/>
<Label gridHeight="1" gridWidth="20" name="label2" posX="0" posY="1" text="Codigo Movimiento"/>
<Edit colName="cod_mov" fieldId="1" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="3" name="intb00005.cod_mov" posX="22" posY="1" sqlTabName="intb00005" tabIndex="2" widget="Edit"/>
</Grid>
</Form>
</ManagedForm>
+2 -2
View File
@@ -15,7 +15,7 @@
<RecordField fieldIdRef="9" name="bodega" uid="{29e8d1d3-d3fb-4bb5-9a5e-5870d09c4012}"/>
<RecordField fieldIdRef="3" name="tipoReporte" uid="{af73cc7b-ed97-4526-9306-7ceb3e14bb9d}"/>
</Record>
<Form gridHeight="24" gridWidth="80" name="infmrp009">
<Form gridHeight="24" gridWidth="80" name="infmrp009" text="Existencias a Diferentes Fechas">
<Grid gridHeight="24" gridWidth="80" name="grid1" posX="0" posY="0">
<Label gridHeight="1" gridWidth="11" name="label2" posX="9" posY="1" text="Fecha Final"/>
<Edit colName="fech_fi" comment="Introduzca Fecha Final" fieldId="4" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="fech_fi" posX="24" posY="1" sqlTabName="formonly" sqlType="DATE" tabIndex="1" widget="Edit"/>
@@ -34,7 +34,7 @@
<Edit colName="cod_tipo" fieldId="7" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="intb00001.cod_tipo" posX="39" posY="5" sqlTabName="intb00001" tabIndex="6" widget="Edit"/>
<Edit colName="cod_sec" fieldId="8" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="intb00001.cod_sec" posX="46" posY="5" sqlTabName="intb00001" tabIndex="7" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="label12" posX="10" posY="6" text="Bodega"/>
<ComboBox fieldId="9" gridHeight="1" gridWidth="31" items="" name="bodega" posX="25" posY="6" tabIndex="-1" title="combobox1" widget="ComboBox"/>
<ComboBox fieldId="9" gridHeight="1" gridWidth="31" items="" name="bodega" notNull="true" posX="25" posY="6" tabIndex="-1" title="combobox1" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="1" name="label9" posX="10" posY="8" text="0"/>
<Label gridHeight="1" gridWidth="2" name="label10" posX="21" posY="8" text="50"/>
<Label gridHeight="1" gridWidth="3" name="label11" posX="35" posY="8" text="100"/>
+23 -4
View File
@@ -46,6 +46,10 @@ FUNCTION inprrp005()
us_anula CHAR(9)
END RECORD
DEFINE nombre_suplidor CHAR(30)
DEFINE p_fecha RECORD
fecha DATE
END RECORD
DEFINE filtro_fecha CHAR(60)
OPTIONS
@@ -63,9 +67,7 @@ FUNCTION inprrp005()
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CONSTRUCT criterio ON a.fecha,a.cod_mov,a.num_doc
FROM fecha,cod_mov,num_doc
INPUT BY NAME p_fecha.fecha
IF int_flag THEN
LET numero_msg = 2
@@ -73,6 +75,22 @@ FUNCTION inprrp005()
LET int_flag = FALSE
RETURN
END IF
CONSTRUCT criterio ON a.cod_mov,a.num_doc
FROM cod_mov,num_doc
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET filtro_fecha = ""
IF p_fecha.fecha IS NOT NULL THEN
LET filtro_fecha = " AND CONVERT(CHAR(10),a.fecha,103) = '",
p_fecha.fecha USING "dd/mm/yyyy", "' "
END IF
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
doble_on,doble_off,comp_on,comp_off,
doce,normal,archivo,copia
@@ -82,7 +100,7 @@ FUNCTION inprrp005()
let selec =
"SELECT a.cod_n, a.cod_grupo, a.cod_tipo, a.cod_sec,b.descrip_esp, ",
" b.unidad_med,a.num_doc,CONVERT(char(10),a.fecha,104),a.cantidad_1,a.cantidad_2, ",
" b.unidad_med,a.num_doc,CONVERT(char(10),a.fecha,103),a.cantidad_1,a.cantidad_2, ",
" c.cod_mov,c.descrip_mov,a.conduce_no,a.fact_no,a.orden_compra, ",
" a.cod_sp,a.cod_sp_sec,a.depto_de,a.depto_a,a.cod_seccion, ",
" a.status_t,CONVERT(CHAR(16),a.fech_mod),a.us_mod ",
@@ -91,6 +109,7 @@ FUNCTION inprrp005()
" a.cod_grupo = b.cod_grupo AND a.cod_tipo = b.cod_tipo AND " ,
" a.cod_sec = b.cod_sec AND c.cod_mov = a.cod_mov AND ",
" b.status_t is NULL AND c.status_t is NULL ",
filtro_fecha CLIPPED,
"ORDER BY c.cod_mov,a.num_doc "
PREPARE busca FROM selec
+11 -2
View File
@@ -10,6 +10,11 @@ GLOBALS "inprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CONNECT to "smarmotech" USER usuarios USING clave
SELECT * INTO p_companias.* FROM companias
CALL inprrp008()
END MAIN
@@ -92,7 +97,9 @@ WHENEVER ERROR CONTINUE
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
START REPORT movimiento TO "C:\\archivo"
LET archivo = FGL_GETENV("FGLSPOOL"),"\\archivo_tipomov.txt"
START REPORT movimiento TO archivo
FOREACH accion INTO tipo.*
IF status = NOTFOUND THEN
EXIT FOREACH
@@ -104,7 +111,9 @@ WHENEVER ERROR CONTINUE
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
LET dcmd = "type \"",archivo CLIPPED,"\" > %USPRINT%"
RUN dcmd
END FUNCTION
REPORT movimiento(x)
DEFINE x RECORD
+11 -4
View File
@@ -179,14 +179,19 @@ LET select_ant =
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
#CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
# doble_on,doble_off,comp_on,comp_off,
# doce,normal,archivo,copia
LET opt1 = fgl_winquestion("Atencion","Desea Reporte Grafico?",
"no","yes|no","question",0)
IF opt1 = "yes" THEN
CALL seleccionarsalida() RETURNING r_output
CALL configureoutput(r_output) RETURNING HANDLER
START REPORT prt_exist TO XML HANDLER handler
ELSE
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
doble_on,doble_off,comp_on,comp_off,
doce,normal,archivo,copia
START REPORT prt_exist TO archivo
END IF
LET idx_ant = 1
@@ -278,7 +283,9 @@ END WHILE
FINISH REPORT prt_exist
CLEAR SCREEN
IF opt1 <> "yes" THEN
RUN imprime
END IF
END FUNCTION
REPORT prt_exist(x)
+4
View File
@@ -389,6 +389,10 @@
<File filePath="indir/infmcs006.4fd"/>
<File filePath="indir/infmrp003.per"/>
<File filePath="indir/infmrp005.per"/>
<File filePath="indir/infmrp008.4fd"/>
<File filePath="indir/infmrp009.4fd"/>
<File filePath="indir/infmrp028.per"/>
<File filePath="indir/infmrp011.per"/>
</Library>
<Library binaryName="FUNCIONES_IN" dependencies="-1026233879" id="-801525068" label="FUNCIONES_IN">
<File filePath="indir/inprgb000.4gl"/>