Automatización de aplicaciones Ingra mediante JavaScript

El programa ingra_xjs.exe que acompaña a la aplicación, permite ejecutar código JavaScript que incluya arrancar el programa o utilizarlo si ya está en ejecución, y realizar operaciones con él incluso si no está en modo edición (aunque para ello, naturalmente el usuario con el que se abre la base de datos tiene que tener permiso para ejecutar código JavaScript y editar la base).

La ejecución desde un programa externo, o un acceso directo, o cualquier otra forma de ejecutar esta aplicación es pasándole unos parámetros de la forma:

ingra_xjs.exe <aplicación> <archivo de Script> <función a ejecutar> <parámetro de la función>

- Con el nombre del ejecutable arrancamos el programa de conexión

- <aplicación> es el nombre del ejecutable de la aplicación ingra que vamos a utilizar con la automatización (decodata, menfis, tecno_sw, etc...)

- <archivo de Script> es el nombre de uno de los programas de JavaScript del directorio \informes del programa, sin extensión .xjs

- <función a ejecutar> es el nombre de la función que está en el archivo .xjs

- {<parámetros de la función>} puede ser una serie de parámetros separados por espacios en blanco. Los parámetros deben estar en el formato en que JavaScript va a entender los datos, es decir, que si tienen espacios en blanco, deben ir entre dobles comillas "nombre 1"; si tiene caracteres de control como un camino en disco, deben llevan la barra inclinada "C:\\dir programas\\datos", etc.

El programa se puede utilizar copiándolo en cualquier directorio.

Al ejecutarlo, busca si la aplicación con la que se comunica está arrancada. Si no lo está la arranca con los datos del registro de Windows y le manda un mensaje con los parámetros explicados más arriba.

CON ESTE MECANISMO, SE SOPORTA CUALQUIER PROCESO DE AUTOMATIZACIÓN DE LA APLICACIÓN INGRA, DESDE OTRA.

Ejemplo:

Si en el archivo decodata_lib.xjs de la aplicación decodata tenemos definida una función cad_abre con la definición:

function cad_abre (cad)
{ ... }

y dentro de la función se utiliza la cadena de caracteres cad para dar de alta un concepto y ponerle como resumen la cadena, esta operación se realizará ejecutando la utilidad con los parámetros:

ingra_xjs.exe decodata decodata_lib cad_abre "Concepto 1"

Ejemplo de ejecución mediante WSH (Windows Scripting Host):

Para hacer una prueba de conexión, basta con ejecutar el siguiente código en un archivo con extensión .JS

 

var a= "ingra_xjs.exe decodata decodata_lib cad_abre c:\\cd\\cddecodata\\aca\\deco\\deco\\work\\prudec.exp";

var wss = new ActiveXObject ("WScript.Shell");
wss.Run (a, 0, false); // 1:muestra en ventana en el estado original, true:detiene la ejecución del script hasta que termina el comando