WhatsApp

  
Visual Basic y editor de Scripts en Hopex

Visual Basic Script, también conocido como VBScript, es un lenguaje de programación interpretado desarrollado por Microsoft. Se diseñó principalmente para la creación de scripts del lado del cliente en entornos web y para la automatización de tareas en sistemas operativos Windows.

Aunque VBScript fue ampliamente utilizado en el pasado para crear scripts en páginas web, su popularidad ha disminuido con el tiempo debido a la adopción más generalizada de JavaScript en el ámbito del desarrollo web. Sin embargo, para Mega HOPEX, este lenguaje es fundamental para la manipulación de objetos o automatización de tareas dentro de la herramienta. En este caso, lo utilizaremos para la manipulación "Express" de los objetos de nuestro entorno.

El ejercicio consiste en ejecutar el editor de scripts, con el fin de demostrar que no es necesario o mandatorio hacer una creación de un objeto tipo "macro" para que podamos ejecutar código de VBs. Por lo tanto, tomaremos de ejemplo las aplicaciones declaradas en el ambiente y que su lista comienza como esta:

Cada una de estas aplicaciones, tiene un atributo de código de aplicación, que se puede visualizar accediendo a las propiedades de cada una de ellas.

En este caso, cada uno de ellos es muy distinto y no sigue un patrón estándar, lo que puede dificultar la administración de todas estas aplicaciones, sobre todo cuando se tienen bastantes, entonces, supóngase que se desea que cada una de ellas debe seguir un formato, para ello, utilizaremos el editor de scripts.


Al dar click en esta opción, se abrirá una nueva ventana que nos recordará al wizard que hemos estado utilizando para las macros que utilizan varios objetos de Hopex, la diferencia más grande será que esta, vendrá totalmente en blanco.


Si recordamos de ejercicios anteriores, todas las macros venían con comentarios o funciones precargadas para que pudieran ser utilizadas más rápido y fácil, de cualquier modo, ahora nosotros escribiremos de forma breve una macro para manipular todas las aplicaciones y que podamos cambiar el código de aplicación si necesidad de entrar una por una a editar.

Set mgRoot = GetRoot()
Dim Aplicaciones : Set Aplicaciones = mgRoot.GetSelection("Select Aplicacion")
Dim aplicacion
For Each aplicacion in Aplicaciones
Print aplicacion.GetProp("Short name") & ": " & aplicacion.GetProp("Codigo de aplicacion")
Next

En la macro anterior, estamos obteniendo por medio de una Query, todas las aplicaciones del repositorio y almacenando la colección en "Aplicaciones" para después, tomar cada una e imprimir su nombre y código de aplicación, el resultado es el siguiente:


Podemos ver el nombre de las aplicaciones y su código de aplicación, en este caso podemos confirmar que no hay un estándar para dichas aplicaciones y que incluso hay algunas que no tienen código definido. Por lo que, modificaremos la macro para darle un formato específico a todas ellas sin importar la aplicación.

Set mgRoot = GetRoot()
Dim Aplicaciones : Set Aplicaciones = mgRoot.GetSelection("Select Aplicacion")
Dim aplicacion, codeIndex
codeIndex = 0
For Each aplicacion in Aplicaciones
aplicacion.SetProp("Codigo de aplicacion") = "MDA-000" & CStr(codeIndex)
Print aplicacion.GetProp("Short name") & ": " & aplicacion.GetProp("Codigo de aplicacion")
codeIndex = codeIndex + 1
Next

En este caso, la macro se ha modificado para simplemente escribir sobre el atributo de las aplicaciones una por una, un código de aplicación que comienza por "MDA-000" y concatenando el índice de cada iteración. Ejecutando esto, el resultado se ve de la siguiente manera:


Y verificando dentro de una aplicación aleatoria, volveremos a ingresar en sus propiedades.


Por lo tanto, es correcta la ejecución de esta macro y como ha quedado demostrado, no fue necesaria la creación de un nuevo objeto y definir el tipo de macro. Simplemente se toma el editor de Scripts y es cuestión de comenzar a escribir el código en Visual Basic Script. Hay que tomar en cuenta que esto facilita mucho la edición de objetos, sin embargo, es mejor tener controlada esta ejecución, pues si no se hace con cuidado el cambio (en este caso) de algún atributo, podríamos afectar directamente a toda la colección de datos.

La manipulación de los objetos es más simple y directa, también es posible que este método nos ayude a realizar pruebas sobre objetos que nosotros tengamos en la mira, ya que una ventaja de estar ejecutando esto en HOPEX Customizer, es que si no se publica el cambio, podemos descartar y seguir realizando nuestras pruebas internas. Así que esperamos que esto sirva de ayuda para la modificación de objetos y sobre todo, ayudar con pruebas internas que se quieran realizar.


Rodolfo Velazquez 28 diciembre, 2023
Compartir
Categorías


Iniciar sesión dejar un comentario

  
Búsqueda de objetos en HopexSintaxis de Queries para la Búsqueda Eficiente de Objetos