Reescribir ipprrp010 (Operacion Movimientos Detallado): .4rp equivocado
El .4rp que traia el repo (y su copia en el backup viejo) era en realidad el reporte de "activos" de otro programa (RWFglReportName y todo el cuerpo no correspondian a REPORT detalle(x)) - por eso nunca pudo generar nada, ni siquiera despues de arreglar el crash original de configureOutput(). - Se convirtio el REPORT detalle(x) de PRINT COLUMN clasico a PRINTX (siguiendo el patron de ipprrp005, que si funciona), y se escribio un .4rp nuevo desde cero con las variables correctas. - Se quito el subtotal por "Orden" que la migracion habia agregado sin incluirlo en el ORDER BY (nunca funciono bien, no existia en 3.20). - Se agrego titulo a la ventana (usaba el generico "screen"). Pendiente: el acomodo visual de columnas del reporte sale apilado en vertical en vez de en fila - los datos y subtotales son correctos, pero falta pulir el layout en el Report Designer (consultado con Johnny). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,7 @@ FUNCTION ipprrp010()
|
||||
|
||||
OPEN FORM ipfmrp010 FROM "ipfmrp010"
|
||||
DISPLAY FORM ipfmrp010
|
||||
CALL ui.Window.getCurrent().setText("Operaciones Por Movimientos Al Standard")
|
||||
DISPLAY "ipprrp010" AT 4,3
|
||||
DISPLAY "Operaciones Por Movimientos Al Standard" AT 6,22
|
||||
|
||||
@@ -163,7 +164,16 @@ END INPUT
|
||||
doble_on,doble_off,comp_on,comp_off,
|
||||
doce,normal,archivo,copia
|
||||
|
||||
CALL configureOutput("SVG") RETURNING handler
|
||||
LET r_filename = "ipprrp010.4rp"
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
LET r_output = "SVG"
|
||||
LET preview = 1
|
||||
CALL fgl_report_selectDevice(r_output)
|
||||
CALL fgl_report_selectPreview(preview)
|
||||
LET handler = fgl_report_commitCurrentSettings()
|
||||
ELSE
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
START REPORT detalle TO XML HANDLER handler
|
||||
|
||||
PREPARE busca_ant FROM select_ac
|
||||
@@ -246,110 +256,37 @@ END FUNCTION
|
||||
proveedor VARCHAR(100)
|
||||
END RECORD
|
||||
|
||||
DEFINE primera CHAR(1)
|
||||
DEFINE c_ano1 char(4)
|
||||
DEFINE negrillas_on CHAR(3)
|
||||
DEFINE negrillas_off CHAR(3)
|
||||
DEFINE doce,comp_on,comp_off CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
DEFINE total_p,total_m DECIMAL(12,2)
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
PAGE LENGTH 150
|
||||
DEFINE total_p,total_m,total_consumo_m DECIMAL(12,2)
|
||||
DEFINE pcodigo CHAR(30)
|
||||
DEFINE fecha_fmt CHAR(10)
|
||||
ORDER BY x.cod_mov,x.num_doc
|
||||
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 doce = ASCII 27, ASCII 77
|
||||
}
|
||||
LET hora = time
|
||||
|
||||
PRINT comp_on
|
||||
LET lj = (100 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT COLUMN 1, "ipprrp010",
|
||||
COLUMN lj, p_companias.nombre CLIPPED,
|
||||
COLUMN 93, "Pag. ",pageno using "###"
|
||||
PRINT COLUMN 28, " Sistema de Inventario de Productos Terminados",
|
||||
COLUMN 93, today using "dd/mm/yyyy"
|
||||
PRINT COLUMN 28, " Operacion por Tipo de Movimiento Al Standard",
|
||||
COLUMN 96, hora
|
||||
|
||||
SKIP 1 LINES
|
||||
|
||||
PRINT COLUMN 2, "Desde ",datos_cons.fech_in using "dd/mm/yyyy",
|
||||
COLUMN 21, "Hasta ", datos_cons.fech_fi using "dd/mm/yyyy"
|
||||
PRINT COLUMN 1, "--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"------------------"
|
||||
|
||||
PRINT COLUMN 96, "Material +"
|
||||
PRINT COLUMN 96, "Labor +"
|
||||
|
||||
PRINT COLUMN 1, "Docto.",
|
||||
COLUMN 10, "ORDEN",
|
||||
COLUMN 20, "Fecha",
|
||||
COLUMN 32, "Producto",
|
||||
COLUMN 85, "Cantidad",
|
||||
COLUMN 98, "Gasto ",
|
||||
COLUMN 112, "Total"
|
||||
PRINT COLUMN 1, "--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"------------------"
|
||||
PRINT negrillas_off
|
||||
|
||||
BEFORE GROUP OF x.cod_mov
|
||||
LET total_m = 0
|
||||
LET total_consumo_m = 0
|
||||
|
||||
SELECT descrip_mov INTO x.descrip_mov FROM iptb00005
|
||||
WHERE cod_mov = x.cod_mov
|
||||
|
||||
PRINT negrillas_on
|
||||
PRINT COLUMN 1, "Movimiento: ",x.cod_mov using "##"," ",
|
||||
x.descrip_mov
|
||||
PRINT negrillas_off
|
||||
PRINTX x.cod_mov, x.descrip_mov
|
||||
|
||||
BEFORE GROUP OF x.num_doc
|
||||
PRINT COLUMN 1, x.num_doc USING "######",
|
||||
COLUMN 10, x.orden USING "#######",
|
||||
COLUMN 20, x.fecha USING "dd/mm/yyyy",
|
||||
2 SPACES, x.proveedor CLIPPED
|
||||
SKIP 1 LINE
|
||||
ON EVERY ROW
|
||||
LET total_p = x.costo * x.consumo
|
||||
LET total_p = x.costo * x.consumo
|
||||
IF total_p IS NULL THEN
|
||||
LET total_p = 0
|
||||
END IF
|
||||
LET total_m = total_m + total_p
|
||||
LET total_consumo_m = total_consumo_m + x.consumo
|
||||
|
||||
PRINT COLUMN 1, x.cod_n USING "&&&&","-",x.cod_grupo USING "&&&&","-",
|
||||
x.cod_tipo USING "&&&&&&&&","-",x.cod_sec USING "&&&&&&&&",
|
||||
" ",x.descrip_esp,
|
||||
COLUMN 80, x.consumo USING "###,###.###",
|
||||
2 SPACES, x.costo USING "#,###,###.###",
|
||||
2 SPACES, total_p USING "##,###,###.##"
|
||||
LET pcodigo = x.cod_n USING "&&&&","-",x.cod_grupo USING "&&&&","-",
|
||||
x.cod_tipo USING "&&&&&&&&","-",x.cod_sec USING "&&&&&&&&"
|
||||
LET fecha_fmt = x.fecha USING "dd/mm/yyyy"
|
||||
|
||||
AFTER GROUP OF x.num_doc
|
||||
SKIP 1 LINE
|
||||
PRINTX pcodigo, x.descrip_esp, x.num_doc, x.orden, fecha_fmt, x.proveedor,
|
||||
x.consumo, x.costo, total_p
|
||||
|
||||
AFTER GROUP OF x.cod_mov
|
||||
PRINT COLUMN 80, "-------------",
|
||||
COLUMN 109,"-------------"
|
||||
PRINT COLUMN 50, "Total ---->",
|
||||
COLUMN 80, GROUP SUM(x.consumo) USING "###,###.###",
|
||||
COLUMN 109, total_m USING "##,###,###.##"
|
||||
SKIP TO TOP OF PAGE
|
||||
AFTER GROUP OF x.orden
|
||||
PRINT COLUMN 80, "-------------",
|
||||
COLUMN 109,"-------------"
|
||||
PRINT COLUMN 50, "Total ---->",
|
||||
COLUMN 80, GROUP SUM(x.consumo) USING "###,###.###",
|
||||
COLUMN 106, GROUP SUM(x.consumo*X.costo) USING "###,###,###.###"
|
||||
PRINTX total_consumo_m, total_m
|
||||
ON LAST ROW
|
||||
PRINT ASCII 27, ASCII 80
|
||||
END REPORT
|
||||
|
||||
Reference in New Issue
Block a user