JSOTO MainMenu: lanza cada programa desde su ruta de seg0005 y con el runtime del menu
- Cada programa arranca parado en su ruta de seg0005 (cd /d), como en 3.20: ahi estan cert\, filesXML\, net6.0\, tmp\... que la factura electronica busca con rutas relativas, y sus .42m. Antes heredaba como directorio de trabajo la carpeta del despliegue del GAR, que cambia en cada deploy y llego a tener .42m de 3.20 (-6201 Bad version). - Usa %FGLDIR%\bin\fglrun (el runtime del menu) en vez del primer fglrun del PATH. - Ya no imprime usuario y clave en la consola/log del GAS. Probado en .251 (despliegue mbs-20261019-121056): cgprmt001 y cgprmt004 OK. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user