cpprrp017 (Validacion de Facturas): exportacion a PDF/Excel y filtro que se cortaba
- La salida escribia un .txt en FGLSPOOL (no era PDF ni Excel); vuelve a configureOutput() con la ventana comun seleccionarsalida() (EXCEL / PDF / SCREEN), RIGHT MARGIN 142 y sin codigos de impresora matricial. - BUG de la migracion: la consulta se armaba en selec CHAR(500); al cambiar rowid por ROW_NUMBER() el texto fijo paso a 463 caracteres y cualquier filtro de factura+suplidor o de fechas se cortaba (-4145). Ahora se arma en un STRING local. Verificado contra la BD .250: factura 068-1AK05 de 22-770 (Debe = Haber = 1,253,019.91) y grupo 22 del 01/08/2026 al 15/08/2026 (4 facturas, total 3,834,979.72) cuadran con SQL; PDF y Excel generados. Build OK con gsmake. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
65ad3fd68c
commit
3422acc241
@@ -10,7 +10,6 @@
|
||||
GLOBALS
|
||||
"cpprgb000.4gl"
|
||||
DEFINE selec1 CHAR(500)
|
||||
DEFINE p_reportfile STRING
|
||||
|
||||
DEFINE mvto RECORD
|
||||
fecha_in DATE,
|
||||
@@ -47,6 +46,9 @@ MAIN
|
||||
END MAIN
|
||||
|
||||
FUNCTION cpprrp017()
|
||||
-- La consulta se arma en STRING: con ROW_NUMBER() (en lugar de rowid) el texto
|
||||
-- fijo ocupa 463 de los 500 caracteres de selec y el filtro se cortaba (-4145).
|
||||
DEFINE l_selec STRING
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 8
|
||||
@@ -68,7 +70,7 @@ END MAIN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET selec =
|
||||
LET l_selec =
|
||||
"SELECT a.factura,a.cod_sp,a.cod_sp_sec,b.nom_sp,a.fecha,c.valor, ",
|
||||
" a.cuenta_no,a.departamento,a.cod_aux,a.cod_sec,a.num_doc, ",
|
||||
" a.debito,a.credito, ",
|
||||
@@ -84,14 +86,13 @@ END MAIN
|
||||
DISPLAY "<< Buscando Informacion .... Espere Por Favor. >>" AT 19,14
|
||||
ATTRIBUTE(REVERSE,BOLD)
|
||||
|
||||
PREPARE comando FROM selec
|
||||
PREPARE comando FROM l_selec
|
||||
DECLARE movto CURSOR FOR comando
|
||||
OPEN movto
|
||||
|
||||
-- La ruta original "C:\archivo" no es escribible sin privilegios de
|
||||
-- administrador; se usa un archivo en FGLSPOOL en su lugar.
|
||||
LET p_reportfile = FGL_GETENV("FGLSPOOL"), "/cpprrp017_valctas.txt"
|
||||
START REPORT val_ctas TO p_reportfile
|
||||
CALL seleccionarsalida() RETURNING r_output
|
||||
CALL configureoutput(r_output) RETURNING handler
|
||||
START REPORT val_ctas TO XML HANDLER handler
|
||||
|
||||
DISPLAY "<< " AT 19,14
|
||||
DISPLAY "<< Impresion En Proceso .... Espere Por Favor. >>" AT 19,14
|
||||
@@ -149,7 +150,8 @@ END MAIN
|
||||
negrillas_off CHAR(6),
|
||||
hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
OUTPUT
|
||||
RIGHT MARGIN 142
|
||||
LEFT MARGIN 0
|
||||
TOP MARGIN 1
|
||||
BOTTOM MARGIN 4
|
||||
@@ -157,10 +159,10 @@ END MAIN
|
||||
ORDER BY x.cod_sp_sec,x.factura,x.cuenta_no,x.id
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
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 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 hora = time
|
||||
LET lj = (82 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT COLUMN 1, comp_off,negrillas_on
|
||||
|
||||
Reference in New Issue
Block a user