Ejecutar procesos externos desde Axapta
Escrito por René Roca el . Posteado en X++En algunas ocasiones, nos encontramos con la necesidad de poder ejecutar ficheros externos desde Axapta, ya se un fichero .exe o de cualquier otra extensión.
Desde la introducción de Dynamics Ax 2009, la ejecución de estos ficheros desde el servidor, ha sido modificada para agregar políticas de seguridad, a todo aquello que ejecutemos en procesos Batch, por lo cual si queremos ejecutar un fichero desde el servidor, tendremos que utilizar el siguiente método:
Donde _process, es el nombre del ejecutable que queremos ejecutar, como por ejemplo ‘Notepad.exe’.
static server int executeOnServer(str _process = 'notepad.exe',str _arguments) { InteropPermission perm = new InteropPermission(InteropKind::ClrInterop); System.Diagnostics.Process p; int exitCode; ; perm.assert(); p = System.Diagnostics.Process::Start(_process,_arguments); p.WaitForExit(); exitCode = p.get_ExitCode(); return exitCode; }