Scripts

Velneo ha integrado en el núcleo de su plataforma la ejecución de scripts. Esto supone una apertura de la plataforma a estándares como EcmaScript y a otros lenguajes de programación como QML y JavaScript. Esta integración es completa y se puede apreciar en múltiples ámbitos de trabajo como procesos o fórmulas. Para conseguir esta integración se ha desarrollado un completo API que incluye un conjunto de clases que aportan objetos y funciones adicionales para facilitar el uso de objetos Velneo y nuevos objetos en estos lenguajes.

Para la ejecución de Scripts, se usa un motor que admite EcmaScript7.

La API de Velneo es la misma para el acceso tanto desde vJavaScript como desde QML, con la excepción de que desde QML no están disponibles las siguientes clases, que sí están disponibles para JavaScript: VDir, VFile, VImage, VQuery, VTextFile y VXmlWriter.

Debido a una limitación del motor javascript de QML, en scripts de QML no es posible declarar nuevos objetos de Velneo (declaración new), solamente se pueden usar los objetos de Velneo ya creados.

Directorio scripts

Cada proyecto de Velneo contiene un directorio donde podemos crear una estructura de carpetas y guardar en ellas los ficheros de scripts: QML, JavaScript, … y sus ficheros auxiliares.

Al ejecutar una aplicación con vClient, vWebClient o vDataClient, se cargan también los directorios de scripts de cada proyecto de la aplicación.

Scripts reutilizables

Un mismo fichero QML o JavaScript se puede usar desde distintos objetos. Además, hay distintos tipos de objetos que los usan como procesos, Lista QML y Formulario QML. Un mismo fichero QML o JavaScript puede ser usado en objetos con distintas entradas y salidas, tabla y/o ficha/lista, controlando el programador mediante las funciones API de los objetos de entrada/salida que nos da vJavaScript. También se puede asumir que un fichero QML o JavaScript tiene una tabla de entrada y/o salida determinadas, con el nivel de abstracción deseado en cada fichero script.

Para introducir en un objeto la propiedad “Fichero script” en el edit disponemos de un botón que nos presenta un árbol con los directorios de scripts del proyecto en curso y de sus proyectos heredados.

Velneo incorpora también editores de código fuente para los distintos lenguajes soportados.

Se puede usar “import” en los ficheros fuente QML para importar otros ficheros QML, JavaScript o carpetas enteras contenidas en los directorios scripts del proyecto y heredados.

Editor de scripts

En el componente de edición vDevelop se ha integrado un editor de scripts para facilitar la edición de los ficheros de script que se almacenan en el directorio scripts. El editor contempla las siguientes funcionalidades:

Coloreado de código

Como podemos ver en la imagen superior el editor contempla coloreado de código en función del lenguaje.

Autocompletar para clases y objetos

Autocompletar para funciones, señales y métodos

Autocompletar para enums de parámetros de funciones

Ayuda con los parámetros de funciones

Configuración del editor

Destacar la última opción que permite dejar configurado por defecto el tamaño de zoom que se aplicará al código cuando es editado. Para guardar el tamaño deseado, primero debemos seleccionar el zoom deseado y luego ejecutar esta opción.

Tabulador para indentar código

Si nos situamos al comienzo de una línea, pulsando la tecla Tab añadiremos una tabulación, con la combinación de teclas Shift + Tab quitaremos una tabulación.

Toolbar del editor de Scripts

La toolbar incluye los siguientes comandos:

Configuración: nos permite activar/desactivar las opciones siguientes:

  • Numerar líneas: al activar esta opción, se mostrará un número al principio de cada línea de código en el editor.

  • Espacios visibles: al activar esta opción, el editor muestra un punto · en el lugar de cada espacio en blanco. También hace visibles otros caracteres "invisibles" como las tabulaciones.

  • Auto indentación: aplica automáticamente el nivel de sangrado correcto a la siguiente línea de código cuando presionamos Enter. Si estamos dentro de una función, un bucle o una condición, la nueva línea comenzará con la misma o mayor indentación.

  • Estilo de carpeta: esta opción controla la apariencia visual de los indicadores que se usan para expandir y contraer bloques de código (también conocido como code folding o plegado de código). Estos bloques suelen ser funciones, clases, bucles o cualquier fragmento delimitado por llaves {} o indentación.

    • Ninguno: no se muestra ningún indicador visual para plegar el código.

    • Plano: muestra un simple signo de más [+] para expandir y de menos [-] para contraer.

    • Círculo: utiliza iconos circulares con un + o - en su interior.

    • Caja: Usa un icono cuadrado con un + o -.

    • Círculo y árbol: combina el icono circular con líneas de árbol que conectan visualmente los bloques de código anidados.

    • Caja y árbol: similar al anterior, pero con iconos cuadrados. Es un estilo muy común porque las líneas de árbol ayudan a visualizar claramente la jerarquía y el anidamiento del código. Es el valor por defecto.

  • Fin de línea: define el carácter o secuencia de caracteres invisibles que se añaden al final de cada línea para indicar un salto de línea. Este es un detalle técnico crucial para la compatibilidad entre diferentes sistemas operativos. Los valores posibles son:

    • Windows (CR + LF).

    • Linux (LF) //Valor por defecto.

    • Mac (CR).

  • Hacer zoom actual por defecto: esta es una acción, no una configuración permanente. Permite ajustar el tamaño del texto del editor (haciendo zoom con Ctrl + rueda del ratón o mediante un atajo de teclado: Ctrl + + para aumentar y Ctrl + - para reducir) a un nivel que te resulte cómodo y, a continuación, guardar ese nivel de zoom como el predeterminado.

Verificar sintaxis: es una herramienta fundamental del editor que analiza tu código en busca de errores estructurales y gramaticales. Su función es comprobar que lo que has escrito sigue las reglas y la "gramática" del lenguaje de programación que estás utilizando.

No se enfoca en la lógica de tu programa (es decir, si hace lo que se supone que debe hacer), sino en si está escrito correctamente.

Include de otro JavaScript: En un script podremos hacer uso de otros scripts que tengamos programados tanto en el proyecto en curso como en cualquier proyecto heredado. Para ello, al comienzo del script usaremos el comando include. Su sintaxis es la siguiente:

#include "id_proyecto.ext/senda/nombre_fichero.ext"

Por ejemplo:

#include “3b1pilnx.vca/js/funcionesGlobales/funcionesGlobales.js”

Este botón nos facilitará su especificación. Al hacer clic sobre él nos presentará una lista de scripts que podemos incluir y no tendremos más que seleccionarlo.

Los includes siempre deben ir al principio del script, en una línea independiente. No puede haber ninguna otra línea de código antes.

El incluir otro script sería lo mismo que copiar su código fuente y pegarlo en el script en curso; por lo que podremos hacer uso de cualquier objeto declarado en el script incluido.

En el include se especifica el proyecto al que pertenece el script o fichero a incluir, en el caso de que el fichero a incluir pertenezca al mismo proyecto, podemos sustituir el nombre del proyecto por la macro (CurrentProject):

“(CurrentProject)/js/funcionesGlobales/funcionesGlobales.js”

Esta macro también se puede usar en un proceso JavaScript para referenciar a otro script del mismo proyecto.

De esta forma, cuando movamos el script de un proyecto a otro, la referencia se conservará gracias a la macro, apuntando al fichero correspondiente buscándolo en el proyecto en curso.

Abrir script #include: nos permite abrir un script que se usa en modo #include en el script actual.

ImportClass: su propósito es importar una clase de la API de Velneo para JavaScript al entorno de JavaScript, permitiendo que se pueda instanciar y utilizar como si fuera un objeto nativo de JavaScript.

Las clases disponibles son:

Import API: su propósito es importar una API para poder hacer uso de ella en el script. La única API disponible es:

Asistente: tablas: en determinadas funciones de la API de Velneo para JavaScript debemos especificar tablas usando su identificador de referencia (identificadorRef) que no es más que un identificador que está compuesto por el nombre del proyecto de datos y el de la tabla. Ejemplo: "velneo_verp_2_dat/ART_M". Este comando nos permite seleccionar una tabla y nos pegará su identificador de referencia donde esté el cursor dentro del editor de scripts.

Asistente: identificadorRef de objeto: en determinadas funciones de la API de Velneo para JavaScript debemos identificar objetos de la aplicación usando su identificador de referencia (identificadorRef) que no es más que un identificador que está compuesto por el nombre del proyecto de aplicación y el de identificador del objeto. Ejemplo: "velneo_verp_2_app/ART_M" (formulario ART_M del proyecto de aplicación de vERP). Este comando nos permite seleccionar un objeto de un proyecto y nos pegará su identificador de referencia donde esté el cursor dentro del editor de scripts.

Abrir en editor externo: es una funcionalidad que te permite abrir el archivo de script actual directamente en tu editor de código preferido, que está instalado como editor por defecto en tu sistema operativo (por ejemplo, Visual Studio Code, Sublime Text, Notepad++, etc.).

En lugar de trabajar exclusivamente en el editor integrado en la aplicación, esta opción actúa como un puente, lanzando el editor externo y cargando el mismo archivo para su modificación.

Para actualizar el script desde el editor externo debemos usar la opción de guardado de éste.

Abrir con: similar a la opción anterior, pero en este caso, se abrirá el explorador de disco del sistema operativo para seleccionar el ejecutable con el que quieras editar el script.

Para actualizar el script desde el editor externo seleccionado debemos usar la opción de guardado de éste.

Cortar, copiar y pegar: nos permiten cortar, copiar y pegar, respectivamente, código dentro del editor de scripts.

Deshacer y rehacer los últimos cambios.

Buscar y reemplazar: nos permite buscar/reemplazar textos dentro de un script.

Zoom: nos permite establecer manualmente el zoom del editor de scripts.

Ampliar/reducir: estos botones nos permiten ampliar/reducir, respectivamente, el zoom del editor de scripts.

Imprimir: nos permite enviar a impresora el script.

Pdf: nos permite exportar el script en formato PDF.

Ayuda (F1): desplegará la ayuda de las clases del API de Velneo para JavaScript.

Última actualización

¿Te fue útil?