coprrp019: exportacion a PDF/Excel sin codigos de impresora

- Codigos de impresora matricial en NULL (salian como basura en PDF/Excel).
- PRINT antes de la raya de cierre: la ultima linea de detalle termina en ";"
  y la raya se pegaba a ella, saliendose de la pagina.
- nom_pt CLIPPED para que Flete/Gastos queden en sus columnas.
- RIGHT MARGIN 165 (el reporte usa hasta la columna 163).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Abel López
2026-10-26 13:37:23 -04:00
co-authored by Claude Opus 5.5
parent f48618a23c
commit 316496520b
+13 -16
View File
@@ -105,13 +105,8 @@ FUNCTION coprrp019()
DECLARE ent_curs SCROLL CURSOR FOR busca_entrega
OPEN ent_curs
-- La API de configuracion de reportes (fgl_report_*) no esta
-- disponible en este FGL; seleccionarsalida()/configureoutput()
-- tampoco estan definidas en este programa. Se escribe el XML
-- directo a un archivo en FGLSPOOL en lugar de usar la plantilla
-- .4rp con vista previa.
LET r_filename = FGL_GETENV("FGLSPOOL"), "/coprrp019_documento.xml"
LET handler = om.XmlWriter.createFileWriter(r_filename)
CALL seleccionarsalida() RETURNING r_output
CALL configureoutput(r_output) RETURNING handler
START REPORT documento TO XML HANDLER handler
@@ -249,6 +244,7 @@ FUNCTION coprrp019()
DEFINE valor DECIMAL(12,2)
DEFINE p_base DECIMAL(10,2)
OUTPUT
RIGHT MARGIN 165
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
@@ -256,15 +252,15 @@ FUNCTION coprrp019()
ORDER BY x.tipo,x.num_oc,z.codigo
FORMAT
PAGE HEADER
LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doble_on = NULL -- sin codigos de impresora (salida PDF/Excel)
LET doble_off = NULL -- sin codigos de impresora (salida PDF/Excel)
LET negrillas_on = NULL -- sin codigos de impresora (salida PDF/Excel)
LET negrillas_off = NULL -- sin codigos de impresora (salida PDF/Excel)
LET comp_on = NULL -- sin codigos de impresora (salida PDF/Excel)
LET comp_off = NULL -- sin codigos de impresora (salida PDF/Excel)
LET imp = "T"
LET doce = ASCII 27, ASCII 77
LET normal = ASCII 27, ASCII 80
LET doce = NULL -- sin codigos de impresora (salida PDF/Excel)
LET normal = NULL -- sin codigos de impresora (salida PDF/Excel)
LET hora = time
LET l = (162 - LENGTH(p_companias.nombre CLIPPED))/2
@@ -357,7 +353,7 @@ FUNCTION coprrp019()
PRINT COLUMN 2,negrillas_on,
"Puerto: ",negrillas_off,
" ","(",x.cod_pt clipped,")"," ",x.nom_pt,
" ","(",x.cod_pt clipped,")"," ",x.nom_pt CLIPPED,
COLUMN 48, negrillas_on,"Flete: ",negrillas_off,
x.c_flete using "##,###,###.##",
COLUMN 80, negrillas_on,"Gastos: ",negrillas_off,
@@ -391,6 +387,7 @@ FUNCTION coprrp019()
COLUMN 101, valor using "##,###,###.##";
AFTER GROUP OF x.num_oc
PRINT -- cierra la ultima linea de detalle (termina en ";")
PRINT COLUMN 1, "__________________________________________________",
"__________________________________________________",
"__________________________________________________",