diff --git a/PROYECTO/otrodir/MainMenu.4gl b/PROYECTO/otrodir/MainMenu.4gl index 136e172..47f0201 100644 --- a/PROYECTO/otrodir/MainMenu.4gl +++ b/PROYECTO/otrodir/MainMenu.4gl @@ -96,6 +96,7 @@ END MAIN FUNCTION show_mbs(d) DEFINE d ui.Dialog DEFINE rdir, rmbs INTEGER + DEFINE runtime STRING DEFINE cmd STRING,file_path VARCHAR(100), strconect VARCHAR(20) @@ -116,9 +117,24 @@ FUNCTION show_mbs(d) a.programa = pprograma # LET file_path = 'E:\\MARMOTECHC\\BIN320' DISPLAY BY NAME file_path,pperfil - DISPLAY "mainmenu credenciales: ",usuario clipped," ",clave clipped," ",file_path clipped - LET cmd = "fglrun ",file_path CLIPPED, "\\",mbs[rmbs].prog, ".42r " ,usuario CLIPPED," ",clave CLIPPED, + -- (antes imprimia usuario y CLAVE en texto claro en la consola/log) + DISPLAY "mainmenu ejecuta: ",mbs[rmbs].prog CLIPPED," desde ",file_path CLIPPED + -- Mismo runtime que el menu (no el primer "fglrun" del PATH del servidor) + LET runtime = fgl_getenv("FGLDIR") + IF runtime IS NULL OR runtime.getLength() = 0 THEN + LET runtime = "fglrun" + ELSE + LET runtime = '"', runtime, '\\bin\\fglrun"' + END IF + LET cmd = runtime," ",file_path CLIPPED, "\\",mbs[rmbs].prog, ".42r " ,usuario CLIPPED," ",clave CLIPPED, " ",pprinter1 ," ",pprinter2, " ",ckprinter," ",file_path," ",strconect + -- El programa arranca parado en su ruta de seg0005 (como en 3.20): ahi estan + -- cert\, filesXML\, net6.0\, tmp\... que la factura electronica busca con rutas + -- relativas, y sus .42m. Sin esto heredaba como directorio de trabajo la carpeta + -- del despliegue del GAR (que cambia en cada deploy y llego a tener .42m de 3.20). + IF file_path IS NOT NULL AND LENGTH(file_path CLIPPED) > 0 THEN + LET cmd = 'cd /d "', file_path CLIPPED, '" && ', cmd + END IF RUN cmd WITHOUT WAITING UPDATE seg0001 SET ultimo_programa_ejecutado = pprograma WHERE seg0001.usuario = usuario