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 <noreply@anthropic.com>
This commit is contained in:
Abel López
2026-10-21 12:34:10 -04:00
co-authored by Claude Opus 5.5
parent c8743d85c8
commit 8ced6a5498
+4 -9
View File
@@ -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 =