diff --git a/PROYECTO/cpdir/cpfmrp017.per b/PROYECTO/cpdir/cpfmrp017.per index fbfbf42..186452b 100644 --- a/PROYECTO/cpdir/cpfmrp017.per +++ b/PROYECTO/cpdir/cpfmrp017.per @@ -1,4 +1,4 @@ -database marmotech +database smarmotech screen { diff --git a/PROYECTO/cpdir/cpprrp011.4gl b/PROYECTO/cpdir/cpprrp011.4gl index 7ffd81f..2022a95 100644 --- a/PROYECTO/cpdir/cpprrp011.4gl +++ b/PROYECTO/cpdir/cpprrp011.4gl @@ -10,7 +10,7 @@ GLOBALS "cpprgb000.4gl" - DEFINE mvto RECORD + DEFINE mvto RECORD fecha_in DATE, fecha_fi DATE, cod_sp SMALLINT @@ -18,6 +18,8 @@ GLOBALS decide CHAR(1), entrada CHAR(14), detalle1 CHAR(30) + DEFINE p_reportfile STRING + DEFINE p_ref_chk CHAR(50) DEFINE prt_mvto11 RECORD factura CHAR(10), @@ -67,14 +69,15 @@ END MAIN EXIT INPUT END IF AFTER FIELD entrada - SELECT UNIQUE a.ref FROM cgtb00004 a - WHERE a.ref = entrada +display "DIAG AFTER FIELD entrada: [",entrada CLIPPED,"]" + SELECT UNIQUE a.ref INTO p_ref_chk FROM cgtb00004 a + WHERE a.ref = entrada IF STATUS != NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD entrada - END IF + END IF AFTER FIELD fecha_in IF mvto.fecha_in IS NULL THEN LET numero_msg = 16 @@ -109,8 +112,9 @@ END MAIN NEXT FIELD fecha END IF - END IF + END IF END INPUT +display "DIAG DESPUES DE INPUT: [",entrada CLIPPED,"]" IF int_flag THEN LET numero_msg = 2 @@ -119,7 +123,11 @@ END MAIN RETURN END IF - CALL configureoutput("SVG") RETURNING handler + -- 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"), "/cpprrp011_cuentasft.xml" + LET handler = om.XmlWriter.createFileWriter(p_reportfile) START REPORT cuenta_ft TO XML HANDLER handler DECLARE movto CURSOR FOR @@ -355,6 +363,7 @@ END MAIN LET t_debito = t_debito + reg_final.debito LET t_credito = t_credito + reg_final.credito IF decide = "S" THEN +display "DIAGNOSTICO decide=[",decide,"] entrada=[",entrada CLIPPED,"]" INSERT INTO cgtb00004 (fecha, tipo, ref, cuenta_no,departamento, num_doc, cod_aux, cod_sec, detalles, detalle_1, detalle_2, debito, credito, status_t, us_crea, fech_crea, us_mod, fech_mod) diff --git a/PROYECTO/cpdir/cpprrp017.4gl b/PROYECTO/cpdir/cpprrp017.4gl index 7f2ecbe..3af449c 100644 --- a/PROYECTO/cpdir/cpprrp017.4gl +++ b/PROYECTO/cpdir/cpprrp017.4gl @@ -10,8 +10,9 @@ GLOBALS "cpprgb000.4gl" DEFINE selec1 CHAR(500) + DEFINE p_reportfile STRING - DEFINE mvto RECORD + DEFINE mvto RECORD fecha_in DATE, fecha_fi DATE, cod_sp SMALLINT @@ -32,7 +33,18 @@ GLOBALS debito DECIMAL(12,2), credito DECIMAL(12,2), id INTEGER - END RECORD + END RECORD + +MAIN + DEFER INTERRUPT + CALL ARG_VAL(1) RETURNING usuarios + CALL ARG_VAL(2) RETURNING clave + + CONNECT to "smarmotech" user usuarios USING clave + SELECT a.* INTO p_companias.* FROM companias a + + CALL cpprrp017() +END MAIN FUNCTION cpprrp017() CLEAR SCREEN @@ -41,7 +53,6 @@ GLOBALS #WHENEVER ERROR CONTINUE OPEN FORM cpfmrp017 FROM "cpfmrp017" DISPLAY FORM cpfmrp017 - CALL PANTALLA() DISPLAY "cpprrp017" AT 4,3 ATTRIBUTE(blue) DISPLAY "Validacion de Facturas" AT 6,29 LET int_flag = FALSE @@ -60,7 +71,10 @@ GLOBALS LET 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,a.rowid ", + " a.debito,a.credito, ", + -- a.rowid es una pseudo-columna de Informix, no existe en SQL Server; + -- se sustituye por un numero de fila equivalente para el orden del reporte. + " ROW_NUMBER() OVER (ORDER BY a.factura) ", "FROM cptb00003 a,cotb00001 b,cptb00001 c ", "WHERE (a.cod_sp = b.cod_sp AND a.cod_sp_sec = b.cod_sp_sec) and ", " (a.cod_sp = c.cod_sp AND a.cod_sp_sec = c.cod_sp_sec) and ", @@ -74,7 +88,10 @@ GLOBALS DECLARE movto CURSOR FOR comando OPEN movto - START REPORT val_ctas TO "C:\\archivo" + -- 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 DISPLAY "<< " AT 19,14 DISPLAY "<< Impresion En Proceso .... Espere Por Favor. >>" AT 19,14 @@ -86,9 +103,9 @@ GLOBALS EXIT WHILE END IF OUTPUT TO REPORT val_ctas(prt_mvto11.*) - END WHILE + END WHILE FINISH REPORT val_ctas - RUN "type C:\\archivo > %USPRINT%" END FUNCTION + END FUNCTION REPORT val_ctas(x) DEFINE x RECORD diff --git a/PROYECTO/mbsERP.4pw b/PROYECTO/mbsERP.4pw index 9603a58..66f95df 100644 --- a/PROYECTO/mbsERP.4pw +++ b/PROYECTO/mbsERP.4pw @@ -234,6 +234,14 @@ + + + + + + + + @@ -244,6 +252,8 @@ + +