Notas de la versión

Es conveniente leer la información siguiente antes de actualizar a esta versión

Ver requerimientos de la versión.

Nuevo motor JavaScript por defecto

A partir de la versión 35, activamos por defecto el nuevo motor JavaScript de Velneo. Este cambio afecta tanto a la ejecución en el cliente como en el servidor. Te recomendamos comprobar el correcto funcionamiento de los procesos JavaScript de tus aplicaciones con el nuevo motor antes de desplegar.

El nuevo motor JavaScript es más potente y versátil, adaptado a la nueva generación de motores JavaScript. Ya disponible durante varias versiones con clave beta, se unifican ahora el motor Javascript de Velneo con el que ya estabas disfrutando en QML.

Incluye soporte de Ecmascript 7 Mejora del sistema de detección de errores en caso de include, indicando el fichero y la línea del fichero incluido que tiene el error. Prueba tus scripts para comprobar que funcionan correctamente y cumplen las normas de Ecmascript 7, ayúdate de la opción de Verificar sintaxis del Editor de scripts. Comprueba que todas las variables usadas en tus javascript tienen correctamente definido el ámbito de ejecución (scope), ya que se trata del error más habitual, que el anterior motor no detectaba. En el caso de que el motor lo detecte, indicará un error de referencia que deberás subsanar en el código, y verificar que el script funciona como esperas.

Con este motor deja de ser operativa la depuración de procesos JavaScript que había en versiones anteriores, así como las funciones asociadas como print().

Si, por el motivo que sea, queremos que se siga usando el motor anterior, podemos crear la siguiente clave beta en registro del sistema operativo. Se recomienda generarla desde un proceso con el comando de instrucción de proceso Configuración del sistema: escribir cadena texto para establecerla, ejecutándolo en 1º (para activarla en el cliente) y 3º plano (para activarla en el servidor). Los parámetros se resolverán como indicamos a continuación:

Configuración de sistema: Escribir cadena de texto ( "Velneo", "beta", "scriptEngine", "7EFBF36FB471A2235790C210208E41380D5ADE76" )

El procedimiento sería:

  • Ejecutar la aplicación, lanzar el proceso en primero y/o tercer plano, según donde queramos activarla.

  • En el ámbito del cliente, las claves serán operativas en siguientes sesiones que se lancen del mismo.

  • En el ámbito del servidor, las claves serán operativas en cuanto se reinicie.

En el caso de vModApache se configurará en el fichero donde tengamos configurados los location. Se aplicará a nivel general, no en el ámbito de cada location. Para ello usaremos una directiva propia llamada VelneoBetaKey. Ejemplo:

Se añadirá al fichero httpd.conf lo siguiente:

VelneoBetaKey scriptEngine=7EFBF36FB471A2235790C210208E41380D5ADE76

A continuación puedes descargar un archivo que incluye dos procesos: uno que crea la clave beta y otro que la borra. Para incluirlos en un proyecto no tienes más que usar la opción Importar del menú Edición de Velneo vDevelop. Recuerda que debes lanzarlos en primer plano para crear/borrar la clave en el ámbito del cliente y en tercer plano para crearla/borrarla en el del servidor.

Nota importante sobre el uso de la sentencia "use strict" en scripts con el nuevo motor JavaScript

En el antiguo motor de JavaScript la sentencia "use strict" no se aplicaba, por lo que era menos estricto con la interpretación y ejecución del código.

En el nuevo motor JavaScript, sí se aplica, por lo código que veníamos usando y funcionaba en versiones anteriores, puede fallar. Por ejemplo, la gestión documental de vERP. Donde se utilizaban variables sin declarar. Por ejemplo, en el código siguiente, se usa una variable i que no ha sido declarada previamente:

for (i=0; i < z; i++)

Esto provocará un error de la ejecución del componente de Velneo cuando se ha aplicado previamente la sentencia "use strict". El código correcto sería:

for (var i=0; i < z; i++)

O así:

var i;
for (i=0; i < z; i++)

vLanzadera: nota importante para vLanzaderas personalizadas

En la aplicación vLanzadera, se añade un nuevo registro en estáticos de customized.js. Para su funcionamiento se ha modificado el body.html y se ha añadido una línea.

Los estáticos de la vLanzadera se actualizan automáticamente en la migración de datos al ejecutar por primera vez la lanzadera en vClient y aceptar el diálogo de actualización. Para los usuarios que hayáis hecho modificaciones en el estático de body.html y lo tengáis marcado como personalizado, no se actualizará el estático y tendréis que modificar el registro manualmente.

Al final del documento hay que añadir una línea con %%CUSTOMIZED%%, de modo que quede así (incluimos solo el bloque de código afectado):

<!-- <script type="text/javascript" src="%%RELATIVE_SITE_PATH%%/assets/js/app.js?v=20200901-4"></script> -->
<script type="text/javascript">
%%APP_JS%%
%%DEBUG_LOGS%%
$( document ).ready(function() {
%%APP_JS_CALLS%%
%%CUSTOMIZED%%
});
</script>
</body>
</html>

Fin del soporte de los comandos de instrucción de proceso el Grupo Scripts

El grupo de comandos de Scripts ya no es funcional para las plataformas Android e iOS. Para el resto de las plataformas, desaparecerán en la versión 36. En el enlace anterior se indica la alternativa que recomendamos aplicar.

Uso de Velneo Cloud API vía RFC obsoleto

Consideramos obsoleto el uso de funciones remotas para interactuar con el servicio de Velneo Cloud API. En su lugar se ha de usar el servicio REST.

Con esta versión finaliza el soporte de QML QtQuick 1.x y QtQuick.controls 1.x

Con esta versión finaliza el soporte de QML QtQuick 1.x y QtQuick.controls 1.x. Se tendrán que migrar a Qt Quick 2 obligatoriamente. Habrá que migrar los controles a Qt Quick Controls 2.

Última versión con soporte de macOS no ARM

Esta versión será la última en soportar macOS no ARM. Las próximas versiones requerirán hardware Apple con ARM. No habrá más soporte con Rosseta aprovechando las mejoras de rendimiento e integración que aportan las versiones ARM puras.

Cambio de versión de librerías de integración con el sistema para Android e iOS

La versión 35 de Android e iOS pasan a usar una nueva versión de librerías de integración con el sistema, lo que implica:

  • Cambios en el motor JavaScript también pero, a diferencia de los componentes de escritorio, será único, no se podrá volver al motor anterior.

  • Cambios en QML, se tendrán que migrar a Qt Quick 2 obligatoriamente. Habrá que migrar los controles a Qt Quick Controls 2.

  • Cambios en módulos de QML, como GraphicEffects, entre otros, que es deprecated.

Estos cambios ya fueron avisados en la versión 27.

En el caso de que hayas actualizado a la versión 35 y aún no has hecho los cambios necesarios en el QML para que tu desarrollo funcione con esta versión, aquí tienes los enlaces para descargar el vClient de Android de la versión 34.

vClient Android (aab)

vClient Android 32 (apk)

Otra posibilidad es distribuir en Android un instalador personalizado de la versión 34 y así no se forzará la actualización a ninguna otra versión.

En la versión 36 pasaremos el resto de los componentes de la plataforma a la nueva versión de librerías de integración con el sistema.

En vClient iOS la ventana de los submenús se abre detrás de la ventana del menú padre (VELNEO-17945)

en iOS la ventana de los submenús se abre detrás de la ventana del menú padre.

No lanza formulario de edición en una lista QML con la señal "selectionChanged" (VELNEO-17881)

Cuando desde un QML y un objeto lista QML, lanzamos la señal “selectionChanged” esta señal no la captura Velneo y por tanto, no lanza el formulario de edición asociado al objeto listaQML.

No se puede acceder a las cámaras en dispositivos móviles Android e iOS (VELNEO-17839)

El cambio de la versión de las librerías de integración con ambas plataformas ha provocado que no se pueda acceder a las cámaras de los dispositivos.

Los informes personalizables no son funcionales en Android (VELNEO-17909)

En versiones anteriores, en plataformas móviles los informes personalizados solamente eran funcionales en Android. En esta versión, debido al cambio de versión de librerías de integración con el sistema, no son funcionales.

Sí son funcionales los informes nativos.

vDataClient: en el asistente de procesos no son funcionales los procesos con origen ficha (VELNEO-17829)

En el asistente de procesos de Velneo vDataClient no son funcionales los procesos con origen ficha, ya que no toma correctamente el contexto de ejecución.

Se deja de distribuir la librería vRemoteFunctionV7.dll

A partir de esta versión se deja de distribuir esta librería porque queda obsoleta. En su lugar se recomienda usar peticiones HTTP a través de Velneo vModApache que, además, es multiplataforma.

En el caso de que se necesite seguir usando se podrá usar la de la versión 34 o anteriores. Ver la documentación al respecto de la versión 34.

Mejoras de rendimiento en beta

Estamos trabajando también en mejoras de rendimiento en procesos, un nuevo motor JavaScript, rejillas optimizadas y fórmulas en formularios.

Si quieres disfrutar de la versión beta de estas opciones, debes activar ciertas claves beta correspondiente en el cliente (en el caso de los objetos de interfaz) y también en el servidor (en el caso de procesos).

Las claves beta son entradas en la rama beta de Velneo del registro del sistema operativo. Se recomienda generarlas desde un proceso con el comando de instrucción de proceso Configuración del sistema: escribir cadena texto para establecerlos, ejecutándolo en 1º y 3º plano según corresponda. Los parámetros se resolverán como indicamos a continuación:

Configuración de sistema: Escribir cadena de texto ( "Velneo", "beta", "clave", "valor" )

El procedimiento sería:

Ejecutar la aplicación, lanzar el proceso en primero y/o tercer plano, según corresponda.

En el ámbito del cliente, las claves serán operativas en siguientes sesiones que se lancen del mismo.

En el ámbito del servidor, las claves serán operativas en cuanto se reinicie.

En el caso de vModApache se configurará en el fichero donde tengamos configurados los location. Se aplicará a nivel general, no en el ámbito de cada location.

Para ello usaremos una directiva propia llamada VelneoBetaKey. Deber tener la siguiente sintaxis:

VelneoBetaKey clave=valor

Las claves beta se leen en el arranque del componente donde se apliquen.

En el caso de Velneo vServer se informará mediante mensajes en el panel de mensajes Velneo vAdmin en el arranque.

En vClient: se puede ver en consola. En el caso de Windows podremos comprobarlo ejecutando Velneo vClent desde la ventana de comandos del sistema (CMD) redirigiendo la salida a un fichero de texto.

Ejemplo: vClient.exe > c:\log\logvClient.exe.

En vServer: en consola y también se verá en el panel de mensajes del sistema de Velneo vAdmin al arrancar el servicio.

En el caso de Velneo vModAapche, tras arrancar el servicio de Apache debería aparece un mensaje similiar al siguiente en el fichero error.log de Apache: "Activando la clave beta NombreDeClave."

Estas son las distintas claves beta que podemos configurar:

  • Rejillas estándar, carga y movimiento optimizado (requiere el estilo Optimizado):

    • Clave: optimizarRejillasClient

    • Valor: 8DF627183E075E86BADCF82C11D4F931E8BF62D8

    • Ámbito: cliente.

Si activamos esta clave debemos tener en cuenta que los totales de los pies de rejillas deben ser calculados en tercer plano.

  • Formularios, fórmulas optimizadas:

    • Clave: optimizarFormulariosClientFormulas

    • Valor: ED979A19EEFC93EE0E4F58FB93F432BF258E1E33

    • Ámbito: cliente.

  • Procesos, optimización de parámetros:

    • Clave: optimizarInstruccion

    • Valor: F15868161C0B05825E38ADE94001D5D9926CDFB7

    • Ámbito: cliente, servidor y Apache.

Última actualización