diff --git a/PROYECTO/bin/inprrp028.4rp b/PROYECTO/bin/inprrp028.4rp
new file mode 100644
index 0000000..2d2a5a3
--- /dev/null
+++ b/PROYECTO/bin/inprrp028.4rp
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PROYECTO/indir/defecto.4gl b/PROYECTO/indir/defecto.4gl
index a23b8a3..6ee0b7e 100644
--- a/PROYECTO/indir/defecto.4gl
+++ b/PROYECTO/indir/defecto.4gl
@@ -167,22 +167,47 @@ END FUNCTION
FUNCTION configureOutput(tipo_file)
DEFINE tipo_file CHAR(3)
- -- La API fgl_report_* (Report Writer 2.0) no esta disponible en este
- -- FGL 6.00.01. Esta salida (XML/XLS/PDF por handler) no esta soportada
- -- en este entorno; usar r_output = 'MA' (impresion clasica) en su lugar.
+ IF NOT fgl_report_loadCurrentSettings(NULL) THEN
+ RETURN NULL
+ END IF
+ CALL fgl_report_setPageMargins("0.5cm", "0.5cm", "0.5cm", "0.5cm")
+ CALL fgl_report_configureCompatibilityOutput(160,"Monospaced",NULL,NULL,NULL,NULL)
+ CALL fgl_report_selectDevice(tipo_file)
+ CALL fgl_report_configurexlsxdevice(NULL, NULL, NULL, FALSE, FALSE, NULL, 1)
+ CALL fgl_report_selectPreview(TRUE)
+ RETURN fgl_report_commitCurrentSettings()
+
RETURN NULL
END FUNCTION
FUNCTION selectOutput()
- -- El formulario "Configuration" del Report Writer 2.0 no esta disponible
- -- en este entorno (ver configureOutput). Se devuelve un valor fijo para
- -- que el flujo de "Reporte Grafico" siga y falle de forma consistente
- -- con la limitacion ya conocida; usar MATRICIAL en su lugar.
- RETURN "PDF"
+ DEFINE
+ r_output STRING,
+ r_action STRING,
+ preview INTEGER
+
+ OPTIONS INPUT WRAP
+ OPEN WINDOW f_configuration WITH FORM "Configuration"
+ LET INT_FLAG=FALSE
+ LET preview = FALSE
+ INPUT BY NAME r_output
+ ON ACTION CANCEL
+ EXIT PROGRAM
+ ON ACTION CLOSE
+ EXIT PROGRAM
+ END INPUT
+ CLOSE WINDOW f_configuration
+ CALL ui.interface.refresh()
+
+ IF r_action IS NOT NULL THEN
+ IF r_action == "preview" THEN
+ LET preview = TRUE
+ END IF
+ END IF
+
+ RETURN r_output
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"
+ RETURN selectOutput()
END FUNCTION
diff --git a/PROYECTO/indir/inprrp011.4gl b/PROYECTO/indir/inprrp011.4gl
index e2503cf..d137c0c 100644
--- a/PROYECTO/indir/inprrp011.4gl
+++ b/PROYECTO/indir/inprrp011.4gl
@@ -159,14 +159,11 @@ LET selec =
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 = "yes"
+ CALL seleccionarsalida() RETURNING r_output
+ CALL configureoutput(r_output) RETURNING handler
+ START REPORT opera TO XML HANDLER HANDLER
- CALL seleccionarsalida() RETURNING r_output
- CALL configureoutput(r_output) RETURNING handler
- START REPORT opera TO XML HANDLER HANDLER
-
PREPARE busca_p FROM selec
DECLARE periodo SCROLL CURSOR FOR busca_p
OPEN periodo using ano_act,datos_cons.fech_in,datos_cons.fech_fi
@@ -185,6 +182,9 @@ LET selec =
FINISH REPORT opera
CLEAR SCREEN
+ IF opt1 <> "yes" THEN
+ RUN imprime
+ END IF
END FUNCTION
REPORT opera(x)
diff --git a/PROYECTO/indir/inprrp028.4gl b/PROYECTO/indir/inprrp028.4gl
index 1fb51bc..7e51904 100644
--- a/PROYECTO/indir/inprrp028.4gl
+++ b/PROYECTO/indir/inprrp028.4gl
@@ -184,7 +184,7 @@ LET select_ant =
IF opt1 = "yes" THEN
CALL seleccionarsalida() RETURNING r_output
- CALL configureoutput(r_output) RETURNING HANDLER
+ CALL configureOutputRp028(r_output) RETURNING HANDLER
START REPORT prt_exist TO XML HANDLER handler
ELSE
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
@@ -438,3 +438,17 @@ END FUNCTION
PRINT COLUMN 4, ASCII 27, ASCII 80
END REPORT
+FUNCTION configureOutputRp028(tipo_file)
+ DEFINE tipo_file CHAR(3)
+ IF NOT fgl_report_loadCurrentSettings("inprrp028.4rp") THEN
+ RETURN NULL
+ END IF
+ CALL fgl_report_setPageMargins("0.5cm", "0.5cm", "0.5cm", "0.5cm")
+ CALL fgl_report_selectDevice(tipo_file)
+ CALL fgl_report_configurexlsxdevice(NULL, NULL, NULL, FALSE, FALSE, NULL, 1)
+ CALL fgl_report_selectPreview(TRUE)
+ RETURN fgl_report_commitCurrentSettings()
+
+ RETURN NULL
+END FUNCTION
+
diff --git a/PROYECTO/mbsERP.4pw b/PROYECTO/mbsERP.4pw
index 95cb2df..58653f9 100644
--- a/PROYECTO/mbsERP.4pw
+++ b/PROYECTO/mbsERP.4pw
@@ -459,6 +459,7 @@
+