From 8ced6a5498f5753a060187af81b193b6b9efc981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abel=20L=C3=B3pez?= Date: Wed, 21 Oct 2026 12:34:10 -0400 Subject: [PATCH] cpprrp004 (Estado de Cuenta): exportacion a PDF/Excel/pantalla - La salida escribia un XML crudo en FGLSPOOL (no era PDF ni Excel); vuelve a configureOutput() (modo compatibilidad de GRE, como en 3.20) con la ventana comun seleccionarsalida() (EXCEL / PDF / SCREEN). - Se quita defecto(): solo cargaba codigos de impresora matricial que, si el menu pasa una impresora, salian como basura en PDF/Excel. Verificado contra la BD .250 (22-770, 01/08/2026 al 15/08/2026): PDF y Excel generados; documentos y creditos (38,910.46) cuadran con SQL. Build OK con gsmake. Sin cambios (igual que 3.20): 'Balance Al' sale .00 porque usa cptb00001.tipo_doc_cp, vacia en todas las filas; hoja final vacia. Co-Authored-By: Claude Opus 5.5 --- PROYECTO/cpdir/cpprrp004.4gl | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/PROYECTO/cpdir/cpprrp004.4gl b/PROYECTO/cpdir/cpprrp004.4gl index 379bbc6..c30cf93 100644 --- a/PROYECTO/cpdir/cpprrp004.4gl +++ b/PROYECTO/cpdir/cpprrp004.4gl @@ -16,7 +16,6 @@ GLOBALS "cpprgb000.4gl" DEFINE salir, salir2, salir1, salir3, tipo_venta CHAR(1) DEFINE selec5, selec6 CHAR(1500) DEFINE valor2,valor3 DECIMAL(18,2) - DEFINE p_reportfile STRING DEFINE tot_gen1 RECORD totald DECIMAL(10,2), @@ -170,15 +169,11 @@ FUNCTION cpprrp004() CONSTRUCT criterio ON a.cod_sp_sec FROM cod_sp_sec - CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of, - doble_on,doble_off,comp_on,comp_off, - doce,normal,archivo,copia + -- defecto() solo cargaba codigos de la impresora matricial (comp_on, normal...); + -- en PDF/Excel salian como caracteres basura. La salida es por configureoutput(). - -- La API de configuracion de reportes (fgl_report_*) no esta - -- disponible en este FGL; se escribe el XML directo a un archivo - -- en FGLSPOOL en lugar de la vista previa SVG. - LET p_reportfile = FGL_GETENV("FGLSPOOL"), "/cpprrp004_estcta.xml" - LET handler = om.XmlWriter.createFileWriter(p_reportfile) + CALL seleccionarsalida() RETURNING r_output + CALL configureoutput(r_output) RETURNING handler START REPORT report141 TO XML HANDLER handler LET selec5 =