Listado de cambios Velneo 36.0

Plataforma

Código Descripción

VELNEO-4468

Mejora en la gestión de horarios para tareas programadas en Velneo vAdmin

Se ha implementado un nuevo control de hora y zona horaria en las tareas programadas, asegurando que se respeten los horarios locales tras cambios en el sistema mediante la definición de la zona horaria en la que se lanza la tarea, facilitando la programación de tareas multi-país y evitando confusiones derivadas del cambio horario de verano e invierno. Esto optimiza la experiencia del usuario al asegurar que las tareas siempre se ejecuten a la hora prevista, independientemente de las variaciones en la configuración del sistema.

VELNEO-4480

Mejora de visualización de controles rotados en el editor de informes personalizables

Resuelta incidencia en el editor de informes personalizables al rotar un control. Éste quedaba desplazado fuera del área del mismo y al desplazarlo generaba una estela que dificultaba su visualización.

VELNEO-7969

Mejora del copiado en rejillas con cabeceras multilínea

Mejora de la opción Copiar de las rejillas al incluir el soporte de saltos de línea en el contenido de la cabecera a la hora de copiar el contenido de la vista al portapapeles.

VELNEO-10193

Visualización detallada de errores en certificados TLS/SSL de Velneo vServer

Al cargar un certificado TLS/SSL en Velneo vServer, los posibles errores, como caducidad o formato incorrecto, se mostrarán automáticamente en el panel de mensajes de Velneo vAdmin, facilitando la identificación y corrección de problemas de configuración para los administradores del sistema y mejorando la seguridad y el control en las instalaciones.

VELNEO-13180

Mejora en la carga optimizada de listas de registros mediante VRegisterList en el API de JavaScript

La función readAt() de la clase VRegisterList en el API para JavaScript ahora permite leer listas de registros de forma masiva y eficiente en primer y segundo plano, aprovechando la optimización de tamaño de paquete. Esta mejora reduce significativamente las peticiones al servidor y agiliza la carga de datos en scripts, mejorando el rendimiento y facilitando la gestión de grandes volúmenes de información por parte del desarrollador.

VELNEO-13735

Mejora en la gestión de errores en vDevelop para evitar roturas

Solucionada rotura cuando borramos campos de una tabla en determinado escenario al deshacer el cambio rompe el editor

VELNEO-14521

Visor HTML soportado en Linux con Ubuntu 22

El control Visor HTML es soportado en Linux con Ubuntu 22 sin requerir configuraciones adicionales (export QTWEBENGINE_DISABLE_SANDBOX=1)

VELNEO-14861

Mejora en la estabilidad del editor al gestionar el portapapeles en informes nativos

Se ha corregido un problema que provocaba que vDevelop generase error tras cortar un control y deshacer la operación en informes nativos en macOS y Windows. Esta mejora aumenta la estabilidad del entorno de desarrollo al trabajar con informes, garantizando un flujo de trabajo más fluido para los desarrolladores al gestionar controles mediante operaciones de deshacer y rehacer.

VELNEO-15289

Botón Buscar funcional en la Ayuda en línea en vDevelop

Si desde vDevelop accedemos al menú Ayuda/Ayuda Online, ahora nos aparece la opción de «Buscar».

VELNEO-16377

Sincronización de repositorios Git mejorada para usuarios con nombres de usuario complejos

Hemos optimizado los repositorios de vDevelop para garantizar una sincronización fluida con Git, incluso cuando los nombres de usuario del sistema operativo contienen espacios o caracteres especiales como tildes.

VELNEO-16638

Optimización del envío y recepción de listas de registros

Se ha optimizado el envío entre el cliente y el servidor de las listas que identifican los registros a mostrar en vistas de datos, rejillas, etc., o procesar en procesos y manejadores de evento. Con ello conseguimos velocidades superiores 12 veces mayores de media, y hasta 200 veces más rápido en listas grandes. Veremos entonces que la carga de listas en vistas de datos como las rejillas será mucho más rápido aún en entornos Cloud, consiguiendo una mejor experiencia de usuario que verá que las vistas de datos son más ágiles, y también verá procesos más rápidos aún cuando trabajen sobre muchos registros.

VELNEO-16751

Personalización de los textos de cálculo en pies de agrupamiento de rejilla avanzada

Ahora es posible personalizar los textos que aparecen en los pies de agrupamiento y totales de la rejilla avanzada, utilizando el nuevo comando Interfaz: Configurar textos de cálculos de rejillas avanzadas. Este permite definir textos personalizados para suma, mínimo, máximo, número de elementos y media, e incluso dejar los textos vacíos, facilitando así adaptar la visualización a las necesidades concretas de la aplicación y mejorar la experiencia de usuario final en cualquier plataforma.

VELNEO-16823

Uso de vLanzadera y ejecución web en el puerto estándar HTTPS 443

Se añade parámetro configurable en la vLanzadera (puerto WSS) para poder cambiar el puerto por defecto (vatps + 9), de modo que se tenga la posibilidad de usar el puerto que queramos (por ejemplo 443). Implica configuración de apache que se puede ver en la documentación.

VELNEO-16934

Mejora de usabilidad al navegar por las pestañas del dock central en Velneo vDevelop

Cuando editamos un objeto se abre una pestaña en el panel central. Cuando en el panel central tenemos abiertas varias pestañas, al hacer clic en una se posicionará sobre el objeto en el dock de objetos del proyecto de explorador de proyectos. Esta opción se puede desactivar en el menú Ver.

VELNEO-16940

Mejoras en la información al editar objetos que carecen de editor específico en vDevelop

Cuando se editan objetos que no tienen un editor central y solo se puede editar sus propiedades o las de sus subobjetos, dado que el programador necesita tener un feedback de qué objeto tiene en edición, se añadirá siempre una pestaña en el dock central que muestre la información básica informando de qué objeto está en edición.

VELNEO-17045

Nuevos comando de instrucción para limpiar la caché de registros

Hemos añadido nuevos comandos de instrucción de proceso para forzar el borrado de un o varios registros de la caché y así asegurarse de que tenemos su información actualizada. Limpiar registro de caché, que permite borrar la caché de un registro y Limpiar registros de caché, que permite borrar la caché de una lista de registros.

VELNEO-17148

Mejora de la ordenación de registros tras cambiar la vista en rejillas avanzadas

Resuelta incidencia que provocaba que cuando una rejilla avanzada en una vista de datos con modo carga «siempre que se muestra» cuando ordenábamos y cambiábamos de vista, al volver ya no ordenaba bien los registros.

VELNEO-17326

Mejora de la gestión de transacciones no válidas

Cuando una transacción deja de ser válida por haber expirado el tiempo en la conexión u otras razones para cancelar un proceso, se gestiona la transacción mostrando mejores mensajes de error (“No se ha podido realizar la operación porque la transacción no es válida”), indicando el motivo (transacción no existente, ya cerrada por error de programación, expiración de tiempo de conexión, etc.) además de los elementos implicados. En el momento que esto afecte a la estabilidad de la aplicación, el servidor se detendrá informando del error permitiendo localizar el origen para evitarlo en futuras ejecuciones.

VELNEO-17339

Optimización de refrescos al ejecutar procesos que modifiquen fichas

Cuando se ejecute un proceso que modifique fichas, el proceso llamador recibirá como respuesta la información de qué registros han cambiado. De esa forma, en cuanto se vuelva a pedir la información al servidor se refrescará con lo último que haya en éste, optimizando el refresco de la información.

VELNEO-17673

Nuevo log de errores en disco para Velneo vClient

Durante la ejecución de una aplicación se generará un log de errores en disco, donde se registrarán tanto errores de código Velneo como de JavaScript con el fin de que el desarrollador pueda recopilar los mensajes de error de cara a depurar o mejorar su aplicación.

VELNEO-17702

Nueva funcionalidad de reconexión automática del cliente

Cuando estemos ejecutando una aplicación y se pierda la conexión con el servidor, si se deja el cliente Velneo vClient abierto éste intentará reconectarse al servidor a los 60 segundos. Para ello hemos de configurar el tiempo y el modo de reconexión con el nuevo comando de instrucción de proceso Modo de reconexión.

VELNEO-17745

Mejora en la regeneración de índices gracias a la Tecnología Bigkey6

Gracias a nuevas optimizaciones llegamos a la fase 6 de BigKey, que permite mejorar los tiempos de la regeneración de índices de la tabla y la regeneración de índices complejos de los servidores con suscripción. Permite mejorar la optimización de la regeneración de índices estándar y también de índices complejos.

VELNEO-17778

Nuevo asistente para modificar campo

Ahora la acción de listas Modificar campo… pasa a ser un potente asistente que te permitirá tener un control total sobre lo que vas a modificar. Además, las modificaciones se hacen en tercer plano por lo que el rendimiento es muy superior al de versiones anteriores.

VELNEO-17784

Nuevo comando de acción Navegante: navegante asistido

Esta acción dispara un nuevo navegante asistido totalmente rediseñado y mejorado. El navegante a maestros y plurales pasa a ser un asistente en el que podremos indicar a qué tablas queremos navegar y obtener en un solo clic todos los registros de todos los maestros o plurales que tengamos, facilitando al usuario final el acceso a la información.

VELNEO-17805

Impresión de informes personalizables en aplicaciones web

Ahora es posible generar PDF desde informes personalizables directamente desde aplicaciones Web, funcionando igual que los informes nativos. Los informes se generan en PDF y se muestran en una nueva pestaña del navegador, permitiendo previsualización e impresión bajo demanda.

VELNEO-18054

Nueva opción para localizar dónde se modifican campos y variables en vDevelop

Se incorpora al menú Objetos de Velneo vDevelop la función Dónde se cambia valor de campos y variables, que permite identificar rápidamente los lugares donde se asignan valores a campos o variables en proyectos. Esta utilidad agiliza la revisión y mantenimiento del código, facilitando al programador localizar acciones de escritura, discriminando entre lecturas y modificaciones, y mejorando la comprensión del flujo de datos en la aplicación.

VELNEO-18107

Mejora del panel de Descarga de instaladores personalizados de Android y Windows

Se ha solucionado incidencia que impedía la descarga directa de los instaladores personalizados de Android y Windows desde el panel en Mi Velneo.

VELNEO-18200

Mejoras en el cierre de aplicaciones con notificaciones activas.

Resuelta incidencia que provocaba que al cerrar una aplicación con notificaciones activas el enganche no se llegaba a expulsar.

VELNEO-18205

Mejora en el cierre de sesión en vLanzadera

Se soluciona una inconsistencia en el logout que causaba un error en la carga de la lanzadera hasta que se borraban las cookies.

VELNEO-18208

Mejoras en rejillas avanzadas con foco y selección de registro

En una rejilla avanzada incrustada en una vista de datos cuando gana el foco la primera celda, ahora responde al tabulador y a las teclas de movimiento del cursor quedando seleccionado el registro.

VELNEO-18211

Cambio de instancia en caliente en Velneo vClient mediante selector de instancias

Ahora es posible cambiar de instancia en caliente en vClient gracias al nuevo comando de acción Seleccionar instancia, permitiendo al usuario abrir otra instancia desde la aplicación, ya sea en la misma ventana o en una nueva, sin requerir iniciar sesión de nuevo. Esta mejora asegura que los objetos globales de la aplicación se renueven correctamente y los eventos necesarios se ejecuten tras el cambio, facilitando una gestión más ágil y productiva para el desarrollador y el usuario final.

VELNEO-18262

API de Velneo para JavaScript: la función getOsString de la clase VSysInfo no devolvía el valor correcto en una máquina con Windows 11.

Resuelta incidencia que provocaba que la función getOsString de la clase VSysInfo ejecutada en una máquina con Windows 11 devolviese “Windows 10”.

VELNEO-18268

Objetos en los filtros en extensión buscador

Se soluciona una error que causaba que no se mostraran los objetos en los filtros en la extensión buscador de vDevelop.

VELNEO-18270

Mejora de rendimiento en navegar a maestros y plurales tanto en gestor de base de datos como en vClient

Al entrar en la opción Navegar tanto de vClient como del Gestor de base de datos se mostrará de forma rápida toda la lista de maestros y plurales con el nº de registros en blanco. El usuario podrá seleccionar los maestros y plurales deseados o usar el nuevo botón “calcular número de registros”. Al pulsarlo mostrará el nº de registros que tiene cada tabla enlazada y además quedará seleccionada para navegar a los registros de la misma.

VELNEO-18277

Icono del objeto «Consumo webservice» en Repositorios

En la extensión repositorios, se muestra el icono asociado al objeto “Consumo webservice“ cuando se trabaja con éste, de cara a mantener la correlación y aportar mayor claridad.

VELNEO-18408

Control del nombre de carpeta en Velneo vAdmin para no admitir caracteres especiales

En el administrador se controla que en el nombre del directorio dentro una carpeta compartida no se puedan escribir caracteres especiales no soportados por lo sistemas operativos. Solo están permitidos introducir caracteres alfanuméricos, y los símbolo ‘-‘, ‘’, ‘ ‘ y ‘.’ (guión, guión bajo, espacio y punto). Las vocales acentuadas serán sustituidas por la vocal sin acentuar. El resto de caracteres inválidos serán sustituidos por ‘‘ (guión bajo)

VELNEO-18412

Mejora de usabilidad en vDevelop al permitir mover varios objetos dentro de la ventana del proyecto

Ahora es posible seleccionar múltiples carpetas/objetos en la ventana de proyecto y moverlos a otra ubicación de forma agrupada, facilitando al desarrollador la tarea de organización del proyecto.

VELNEO-18425

Conocer la IP del cliente que hace la petición en procesos Web con vModApache

Para ello, disponemos de varios métodos: Uso de la nueva variable local especial REQUEST_IP, una nueva función ip() en la clase VRequest y además en la clase VApp las siguientes funciones: clientIP(), equivalente a la función nativa getClientIP y serverIP(), equivalente a la función nativa getServerIP. De esta forma podemos tener de la IP pública del usuario que se conecta a la web.

VELNEO-18474

Mensaje informativo cuando se detecten plurales repetidos

Cuando, por error de programación, se crean tablas con el mismo identificador en diferentes proyectos que no tienen relación en directa a nivel de herencia en la instanciación se mostrará mensaje de error de los plurales no disponibles en los mensajes del servidor: “Se ha detectado que la tabla con el identificador %1 del proyecto %2 está duplicada en el proyecto %3. Por favor, renombra el identificador de la tabla para que la aplicación pueda ejecutarse correctamente.”

VELNEO-18524

Implementación de variables especiales para vModApache configurado en modo cliente (sin la directiva VelneoMode SERVER)

Cuando se tiene configurado el vModApache sin la directiva VelneoMode (es decir, en modo cliente) también dispondremos de las variables especiales REQUEST_INFO_BODY, REQUEST_INFO_BODY64 y REQUEST_INFO_VARSPOST.

VELNEO-18604

Mejora del comando de instrucción Crear o modificar lista desde JSON, Crear o modificar ficha desde JSON cuando no tiene acceso a la tabla

Se evita incidencia de rotura de Velneo vServer cuando ejecutamos el comando de instrucción Crear o modificar lista desde JSON o Crear o modificar ficha desde JSON en una instancia que no tiene acceso a la tabla.

VELNEO-18632

Botón de refresco en vistas del Gestor de bases de datos

Se ha mejorado la funcionalidad del botón refrescar en la interfaz para que al actualizar una lista tras un proceso se realice una recarga completa de datos, mostrando de inmediato los nuevos registros. Esta mejora asegura que los programadores y usuarios finales siempre visualicen información actualizada en tiempo real sin necesidad de cerrar y reabrir vistas.

VELNEO-18647

Correción en la edición de las rejillas avanzadas de la propiedad “tipo de cálculo”

La propiedad “tipo de cálculo”, en el combobox se mostraba el texto “Porcentaje” en lugar de “Media”.

VELNEO-18720

Mejora en la gestión de instancias detenidas en el servidor en vAdmin

Esta mejora permite a los administradores reiniciar instancias detenidas sin problemas, mejorando la gestión de aplicaciones y la continuidad del servicio para los usuarios finales.

VELNEO-18723

Mejora de la ordenación en campos fórmula de la rejilla avanzada

Se ha corregido el comportamiento de ordenación en la rejilla avanzada con columnas de tipo fórmula, garantizando que todas las columnas se reordenen correctamente y los datos permanezcan alineados. Esto evita la mezcla de información, mejorando la fiabilidad visual y la experiencia del usuario final.

VELNEO-18847

Nuevo comando de instrucción para abrir pestañas en el navegador desde aplicaciones Velneo Web

Se ha introducido el comando Abrir nueva pestaña en el navegador web que permite a los desarrolladores abrir contenido HTML o una URL directamente en sus aplicaciones Web sin requerir un servidor Apache, facilitando la compatibilidad con entornos WASM en los que no es posible hacer uso del visor HTML.

VELNEO-18897

Optimización en el envío de listas entre distintos componentes de la plataforma

Se ha optimizado el envío de listas entre los distintos componentes de la plataforma (vClient, vDataClient, vServer…) Esta optimización mejora significativamente el rendimiento de las aplicaciones, reduciendo los tiempos de respuesta y el uso de recursos al trabajar con listas grandes o complejas. No obstante, esta nueva versión garantiza la compatibilidad e interoperabilidad con las versiones anteriores de Velneo. Esto significa que los desarrolladores pueden actualizar a la última versión sin preocuparse por posibles problemas de compatibilidad con aplicaciones que usan versiones anteriores del entorno de desarrollo.

VELNEO-18903

Mejora del sistema de control de licencias para ejecución Web

Se mejora el sistema de control de licencias para ejecución Web para que funcione de forma correcta en Velneo Cloud, permitiendo el acceso mediante vAdmin Web y vDataClient Web a los servidores.

VELNEO-18921

Secure protocols por defecto para OpenSSL en WebAssembly

Se configura para que por defecto sólo se permitan protocolos considerados seguros en las librerías OpenSSL en el acceso con Velneo Web.

VELNEO-18943

Mejora en el manejo de borrados de objetos en vDevelop

Se implementará un sistema para evitar errores en vDevelop al realizar el borrado de objetos mediante un proceso genérico en el mapeo de objetos. Esta mejora contempla la actualización de vistas después de eliminar objetos, asegurando que no se pase por alto ningún caso en los editores. El objetivo es mantener la estabilidad y rendimiento del entorno, facilitando la tarea del desarrollador al gestionar operaciones como borrar, cortar, pegar, deshacer y rehacer, sin perder eficiencia en comparación con versiones anteriores.

VELNEO-18952

Mejora del ajuste de ancho de columnas en rejillas en Android con configuración por defecto

Las columnas de la rejilla respetan el ancho por defecto configurado y permitir ajustes manuales, tal como ocurre en iOS y en entornos de escritorio.

VELNEO-18962

Mejoras en el sistema transaccional cuando se cambia la estructura de datos previamente a deshacer una transacción

Implementada mejora en el sistema transaccional que mejora la gestión de las transacciones cuando cuando coincide un cambio de estructura de una tabla con una transacción pendiente de deshacer que la afectaba, aplicando la nueva estructura a la información de la transacción.

VELNEO-18977

Detección mejorada de errores en propiedades de objetos y comandos de proceso que hacen referencia a scripts.

La mejora en el inspector de errores facilita la identificación de comandos de instrucción de proceso o procesos JavaScript sin un script asociado o con rutas no válidas, garantizando que los datos utilizados sean correctos. Esto mejora la depuración y el rendimiento de aplicaciones, beneficiando tanto a desarrolladores como a usuarios finales.

VELNEO-18987

Garantizar la persistencia de variables al reimportar proveedores en vLanzadera

La mejora asegura que al reimportar proveedores en vLanzadera, las variables ya configuradas, como secretos de cliente y tokens, se mantengan, evitando así perder configuraciones críticas y ahorrando tiempo a los desarrolladores al evitar reconfiguraciones manuales innecesarias.

VELNEO-18990

Corrección en la generación automática de URL en vLanzadera para servidores propietarios en vLanzadera

Se ha corregido un error en vLanzadera donde la generación de URL fallaba si el dominio del servidor propietario no terminaba con «/». Ahora, las URL se crean correctamente, con o sin «/», mejorando la experiencia del usuario al simplificar el proceso y evitar fallos al acceder a servidores.

VELNEO-19017

Actualizada extensión de Generar objetos para plugin de ChatGPT

Se ha actualizado la extensión de Generar objetos para plugin de ChatGPT para adaptar los objetos generados a los requisitos de OpenAI.

VELNEO-19043

Mejora en la gestión del guardado de propiedades modificadas en vDevelop

Se ha implementado una mejora que asegura que las propiedades modificadas se guarden correctamente al cambiar de pestaña o pulsar fuera del editor, evitando pérdidas de información y mejorando la usabilidad del entorno de desarrollo. Esto incrementa la eficiencia del programador, minimizando errores y asegurando que las modificaciones se mantienen.

VELNEO-19051

Actualización de las extensiones para compatibilidad con Qt 6

Se han actualizado las extensiones de vDevelop para compatibilizarlas con Qt6, mejornado su aspecto e integración con el sistema, incluyendo modo oscuro.

VELNEO-19052

Mejora en la gestión de iconos de la interfaz en extensiones de Velneo

Se ha mejorado la carga de iconos en extensiones, eliminando errores de carga en la consola y asegurando su correcta visualización. Esto garantiza una interfaz más consistente y sin errores, mejorando la experiencia del usuario final.

VELNEO-19064

Soporte de modo oscuro en múltiples plataformas y su gestión en Velneo

Esta versión ahora ofrece soporte de modo oscuro para Linux, macOS, Windows, iOS y Android, ajustándose automáticamente a la paleta del sistema operativo. Las aplicaciones nativas, excluyendo los nuevos gestores de BBDD, adaptan su apariencia al modo definido en el sistema operativo, mejorando la cohesión visual.

El método de la API de Velneo para JavaScript currentAspect() permiten obtener el modo actual de manera funcional en todas las plataformas, con configuraciones personalizables en macOS/iOS. Los menús de aspecto están limitados a estas plataformas, ajustándose al modo sistema en otras.

VELNEO-19090

Mejoras Asíncronas en la Ejecución Web

Se han implementado mejoras en la ejecución web de Velneo, sustituyendo la apertura de diálogos por comandos asíncronos. Estas medidas aportan mayor eficiencia y fluidez al sistema, abarcando múltiples comandos e instrucciones de proceso.

VELNEO-19106

Mejora en la obtención optimizada de datos en vistas de datos

Se ha implementado la función getData en la API de Velneo para JavaScript y un comando de instrucción de proceso que obtienen cabeceras, datos y pies optimizados, mejorando la manipulación de registros. Esto beneficia a los desarrolladores al obtener de forma precisa la información mostrada en la vista de datos.

VELNEO-19112

Animación en docks

Se ha implementado animación de movimiento en docks, con parámetros ajustables para duración y tipo, proporcionando una experiencia visual fluida. Esto mejora la estética y respuesta en todas las plataformas.

VELNEO-19118

Nuevo control Switch en formularios para activación y desactivación moderna

Se ha incorporado un nuevo control Switch en los formularios, que simula la funcionalidad de un checkbox tradicional pero con una interfaz visual actual y completamente configurable. Este control permite personalizar fácilmente colores, animaciones y estados mediante CSS, y cuenta con propiedades y funciones accesibles desde JavaScript, facilitando así el trabajo del desarrollador y mejorando la experiencia del usuario final.

VELNEO-19135

Optimización del manejo de asincronía en diálogos en la ejecución Web.

Se ha implementado una mejora en el manejo de asincronía en diálogos abiertos desde otros diálogos en Velneo Web.

VELNEO-19156

Manejo asincrónico en multivistas de tres niveles en ejecución Web

Se ha mejorado el manejo de la asincronía en los multivistas de tres niveles en la ejecución Web. Esta mejora soluciona un error al abrir el formulario asociado a la rejilla del primer nivel, optimizando el soporte para operaciones asincrónicas y evitando bloqueos del sistema, lo que mejora el rendimiento y la experiencia del usuario.

VELNEO-19182

Mejora en la correcta visualización de controles de edición de fecha al aplicar CSS

Se ha identificado un problema donde los controles de edición de fecha se visualizan incorrectamente tras aplicar una CSS en múltiples ocasiones. Al expandir y colapsar el menú lateral, el texto de la fecha puede superponerse al botón del calendario, haciendo que este sea inoperable. La mejora propuesta soluciona la incidencia optimizando la forma en que se aplican los estilos, garantizando que los controles mantengan su funcionalidad y apariencia deseadas en todas las interacciones. Esto incrementará la usabilidad de la aplicación para los usuarios finales.

VELNEO-19190

Descargar versión de recursos web sin reiniciar solución en vLanzadera

Se ha implementado una nueva funcionalidad en vLanzadera que permite descargar e instalar automáticamente nuevas versiones de wasm sin necesidad de reiniciar la solución. Este proceso puede realizarse tanto de forma manual, mediante un botón, como de forma automática, a través de una tarea programada, mejorando la eficiencia y reduciendo la intervención manual.

VELNEO-19205

Mejoras para evitar mensajes de advertencia al ejecutar scripts JavaScript en vClient Web

Se ha corregido el comportamiento por el que, al ejecutar scripts de JavaScript en aplicaciones web, aparecían avisos innecesarios en la consola del navegador incluso cuando el contenido del script estaba vacío. Esta mejora evita distracciones y falsas alarmas, facilitando el trabajo del desarrollador y proporcionando una experiencia más limpia tanto en el desarrollo como en el uso de aplicaciones web.

VELNEO-19206

Mejora en la carga de proyectos en vDevelop para evitar errores durante la carga de proyectos

Se ha solucionado una incidencia durante la carga optimizada de proyectos en vDevelop de forma paralela, que producen errores debido a condiciones de carrera. Esta mejora ayudará a estabilizar la carga inicial de los proyectos, evitando caídas y comportamientos anómalos, lo que beneficiará a los desarrolladores al asegurarse de que la operación se realice sin errores.

VELNEO-19293

Rejillas editables y teclas de alta y eliminación registros

Ahora cuando en un mismo formulario coincidan dos rejillas editables, estando el foco en cualquiera de ellas, pueden usar las teclas de alta y eliminación registros.

VELNEO-19309

Mejora en el uso del inspector de errores en vDevelop

Se ha identificado un comportamiento inesperado en el inspector de errores de vDevelop al utilizar funciones de JSON con variables globales, como jsonAddToObject y jsonDeleteArrayItem. Aunque las funciones se ejecutan correctamente, el inspector reportaba errores innecesarios, lo que podía causar confusión durante el desarrollo.

VELNEO-19316

Mejora en la navegación entre paneles de Velneo vTranslator

Se ha resuelto una incidencia que provocaba un error al moverse del panel de Objetos al panel de soluciones Cargadas de vTranslator. Esto mejora la estabilidad del sistema cuando se navega por el árbol de proyectos sin abrir editores, especialmente en entornos multi-idioma como vERP.

VELNEO-19326

Extensión de vDevelop para la corrección ortográfica

El Corrector ortográfico analiza ortográficamente todas las palabras de un proyecto y muestra las que no aparecen en el diccionario que incorpora, pudiendo añadir o no, las palabras a dicho diccionario. Una vez instalada, podremos ejecutarlo desde el menú Proyectos de Velneo vDevelop.

VELNEO-19363

Adaptación de vAdmin y ajuste del ancho del menú

Se ha adaptado vAdmin a Qt6, mejorando la experiencia inicial del usuario. Adicionalmente, se ha optimizado el ancho del menú para asegurar una visualización correcta tanto en escritorio como en la web, solucionando el problema de visualización excesiva.

VELNEO-19366

Mejora en el control de interacción en docks, formularios y controles mediante señales de hover

Se implementan nuevas señales de hover en formularios y controles que permiten gestionar la entrada y salida del ratón, ofreciendo un mayor control sobre la interacción del usuario. Esto beneficia al desarrollador al mejorar la experiencia visual y funcional en los diversos controles de formularios, como botones y cajas de texto, permitiendo un uso más dinámico y atractivo de la interfaz.

VELNEO-19374

Mejora en la inclusión de extensión en archivos enviados con VFormData

Se ha detectado que al utilizar la función append con un objeto VFile en VFormData, la propiedad «filename» no incluye la extensión del archivo, lo que puede generar problemas al procesarlo en el destino. Esta mejora asegura que el nombre de archivo enviado mantenga su extensión original, facilitando la correcta gestión y reconocimiento de los ficheros por parte de aplicaciones y usuarios finales.

VELNEO-19383

Mejora de la gestión de la visualización de rejillas en aplicaciones Android al usar el comando de seleccionar ficha de la lista en el evento pre-inicializado del marco

Se ha resuelto una incidencia que provocaba que al usar el comando seleccionar ficha de la lista en el evento de pre-inicializado del marco de la aplicación en Android la rejilla se mostraba desplazada.

VELNEO-19399

Mejora en la habilitación de verificación de scripts

Se ha implementado la verificación de scripts JavaScript en vDevelop asegurando que los desarrolladores puedan ejecutar y depurar scripts de forma efectiva, lo que mejora la estabilidad y funcionalidad de las aplicaciones con programación en javascript.

VELNEO-19405

Nueva función para obtener una fecha y hora según la zona horaria del asistente de fórmulas

Se ha implementado una nueva función de fórmula llamada dateTimeToTimeZone que permite obtener la fecha y hora local en función de una zona horaria específica, utilizando UTC como referencia. Esta mejora facilita el manejo de diferencias horarias y optimiza la experiencia de los usuarios al interactuar con aplicaciones que requieren información temporal precisa.

VELNEO-19416

Soporte de estilos CSS en el nuevo control Switch de formularios

El nuevo control Switch en formularios admite la configuración de tamaño y color de bordes, tanto del fondo como del manejador, en distintos estados (normal, hover, focus y disabled) utilizando propiedades específicas en CSS. Estas opciones permiten a los desarrolladores personalizar el diseño visual adaptándose a cualquier prototipo, mejorando la apariencia y experiencia para el usuario final. Consulta cómo aplicar estilos y la lista de propiedades disponibles en la documentación sobre controles y CSS.

VELNEO-19446

Control de la descompresión de datos en la lectura de campos objetos

Se implementa una verificación previa al uso de la función de descompresión de un campo objeto para asegurar que el contenido no esté vacío, evitando así mensajes de error innecesarios en la consola y mejorando la experiencia de desarrollo. Esta mejora reducirá la aparición de warnings en la ejecución de aplicaciones Velneo, tanto en su versión web como en escritorio, optimizando la claridad del entorno de trabajo.

VELNEO-19449

Mejora del soporte de streaming en servicios web y XmlHttpRequest

Se ha implementado la capacidad de obtener datos parciales de la respuesta de Web Services, tanto en el objeto Consumo servicio Web mediante el nuevo parámetro proceso respuesta parcial como en la clase XMLHttpRequest de la API de Velneo para JavaScript, mediante la función setActiveReadyRead.

Esto permite a los desarrolladores recibir información en tiempo real y optimizar la experiencia de usuario.

VELNEO-19491

Mejora en la visibilidad de opciones de extensiones con la configuración de idioma Inglés de vDevelop

El importador de tablas de la Toolbar, las extensiones del menú Ver y las creadas por los programadores se visualizan correctamente cuando el idioma del vDevelop está en Inglés.

VELNEO-19509

Mejora en la estabilidad del inspector de errores en vDevelop

Se ha solucionado una incidencia en el inspector de errores de vDevelop que podía provocar caídas al evaluar la función sendMetrics, al producirse inconsistencias en el modelo por eventos asíncronos. Esta mejora asegura que las actualizaciones del árbol de errores solo se realicen cuando el modelo está consistente, aumentando la fiabilidad y estabilidad del entorno de desarrollo para el programador.

VELNEO-19537

Mejora en el comportamiento de la selección automática en las vista de datos asociadas a controles de edición

En versiones anteriores, al desplegar una vista de datos de lista de un control de edición de formulario, al escribir un texto para localizar un registro, si no había ningún registro coincidente, seleccionaba el más próximo de la lista y lo asignaba al campo. En esta versión se ha ajustado la lógica de selección y, si el registro no existe, no no se seleccionará ningún elemento, evitando errores en los usuarios.

VELNEO-19565

Compatibilidad mejorada con certificados obsoletos mediante opción Legacy en OpenSSL

Ahora se activa por defecto la opción Legacy de OpenSSL, permitiendo que las aplicaciones soporten certificados digitales antiguos como certificado cliente en XmlHttpRequest y Objeto Consumo Servicio Web, que serían rechazados en versiones modernas. Cuando un certificado no pueda importarse, se informa del motivo con un mensaje de error.

VELNEO-19568

Renovación del certificado de distribución de iOS

La renovación de certificados mejora y refuerza la seguridad en el uso de aplicaciones iOS descargadas desde App Store.

VELNEO-19572

Mejora de la función setLabelText de controles en formularios web

Se ha corregido el funcionamiento de setLabelText para que no provoque errores en vClient Web al ser ejecutado en eventos pre-ini, post-ini u on-show. Ahora, los desarrolladores pueden cambiar el texto de etiquetas en formularios web de manera fiable, garantizando una experiencia homogénea entre el cliente web y el de escritorio.

VELNEO-19607

Mejora en la clase VSSLCertificate del API de Velneo para JavaScript para permitir el uso de certificados PEM

Se ha añadido un nuevo constructor a la clase VSSLCertificate que permite recibir un byte array con el contenido del certificado junto con el formato de encoding (PEM o DER), facilitando la gestión de certificados y mejorando la flexibilidad para los desarrolladores. Este cambio simplifica la integración de certificados en aplicaciones y asegura una validación más efectiva.

VELNEO-19646

Se ha actualizado el nombre de la opción «Generar objetos para plugin de chatGPT»

Ahora, la opción del menú «Objetos» de vDevelop se denomina «Generar objetos para ChatGPT«. Este cambio facilita la identificación y el uso de la funcionalidad, reflejando su propósito de generar objetos compatibles con los GPT de ChatGPT.

VELNEO-19653

Nuevo estilo «Retardo señales de hover» para formularios

Se ha implementado un nuevo estilo denominado “Retardo señales de hover” que permite gestionar de manera más eficiente las interacciones del usuario con los formularios. Esto garantiza que las señales de hover: entrar y hover: salir se retrasen 200ms, mejorando la experiencia del desarrollador al utilizar estos formularios y optimizando el rendimiento en la interfaz de usuario.

VELNEO-19660

Nuevo modo software por defecto para la renderización de QML

Se ha configurado la renderización en modo software de QML como opción predeterminada asegurando compatibilidad y facilitando un funcionamiento más estable en diferentes dispositivos. Esto simplifica la configuración, evita problemas gráficos en equipos sin aceleración por hardware y asegura mayor compatibilidad para desarrolladores y usuarios finales.

VELNEO-19667

Optimización en la obtención de datos de maestros y campos complejos en las vistas de datos

Se ha mejorado el rendimiento de la función getData() de la clase VAbstractDataView y el comando Interfaz: Obtener datos de la vista en rejillas normales, optimizando la carga de maestros, fórmulas, punteros y campos objeto. Esta mejora permite obtener grandes volúmenes de datos de manera mucho más rápida, reduce tiempos de espera y evita bloqueos de la interfaz, beneficiando directamente al desarrollador y mejorando la experiencia de usuario en aplicaciones con grandes registros.

VELNEO-19687

Ejecución web de Velneo vAdmin y Velneo vDataClient en Cloud

Los servidores en Velneo Cloud permiten el acceso vía web para la administración y la gestión de bases de datos.

VELNEO-19760

Corrección en el refresco del control de edición de maestro con vista de datos

Se ha solucionado el problema por el que el refresco de una variable global al crear la vista de datos sobrescribía lo escrito por el usuario en el control de edición cuando ya existía un registro seleccionado. Ahora, el control de edición mantiene el valor del usuario al refrescarse la vista, evitando pérdidas accidentales de cambios y mejorando la experiencia del desarrollador y del usuario final.

VELNEO-19821

Persistencia de la carpeta scripts en ejecución web

Ahora la carpeta scripts de Velneo se almacena de forma persistente en caché durante la ejecución web, igual que el directorio cacherun, permitiendo su uso normal en reinicios o recargas. Esto garantiza que los desarrolladores puedan emplear scripts locales sin preocuparse de su pérdida en sesiones posteriores, asegurando continuidad y fiabilidad en el funcionamiento de las aplicaciones web.

VELNEO-19825

Optimización de fórmulas de visibilidad, activo y solo lectura dependientes de maestros en ejecución web

Se ha optimizado la gestión de fórmulas en condiciones de visibilidad de controles de formulario que dependen de campos de maestro en aplicaciones web. Ahora los formularios ya no se bloquean ni muestran errores cuando se utilizan estas fórmulas en WebAssembly, mejorando la estabilidad y experiencia del usuario al consultar o editar datos relacionados.

VELNEO-19839

Actualización de librerías de integración Qt a la versión 6.5.5 LTS

Se ha actualizado la librería Qt a la versión 6.5.5 LTS, lo que mejora la compatibilidad, seguridad y estabilidad del sistema, facilitando el desarrollo de aplicaciones modernas y compatibles con las últimas tecnologías y sistemas operativos.

VELNEO-19840

Actualización de librerías web del Visor HTML con Chromium 112

Se han actualizado las librerías web del Visor HTML, incorporando la versión 112.0.5615.213 de Chromium, y la versión 121.0.6167.160 de seguridad. Esto permite a los desarrolladores ofrecer una experiencia más segura y actualizada, compatible con los últimos estándares y funcionalidades web.

Cloud

Código Descripción

VCLOUD-1044

Mejora de las gráficas de consumo de recursos en el panel de Velneo Cloud

Se ha incorporado la opción de visualizar las gráficas de consumo de recursos del panel de Cloud para periodos de 30 y 60 días, lo que permite a los usuarios analizar tendencias a largo plazo y optimizar la gestión de sus recursos. Esto mejora la capacidad de planificación y toma de decisiones para los usuarios del Cloud de Velneo.

VCLOUD-1086

Optimización de recursos y mejoras de rendimiento en Velneo Cloud

Se han mejorado la configuración y el rendimiento de las máquinas host en Velneo Cloud, ajustando discos, anchos de banda y recursos generales de CPU y memoria. Estas mejoras permiten aplicaciones más ágiles y estables, beneficiando tanto a desarrolladores como a usuarios finales con entornos de ejecución más eficientes, con mejor rendimiento y menor latencia.

vERP y Apps

Código Descripción

VERP-2872

vWeb Pedidos móvil

Nuevo módulo del Ecosistema de Velneo para la introducción de pedidos de venta desde una aplicación html diseñada para ser ejecutada desde un dispositivo móvil.

  • Configuración del módulo: En el menú de Configuración podremos configurar la URL del API, el icono de la aplicación, el número de días a mostrar en los pedidos de venta, las imágenes del carrusel, los iconos de los idiomas y los datos de envío de emails mediante correo transaccional.
  • Scripts: permite guardar los scripts HTML para permitir modificar su contenido en tiempo real y comprobar su visualización desde el mismo formulario.
  • Sesiones: gestión de las sesiones iniciadas en el navegador controlando su caducidad, tipo de acceso (cliente o comercial) y gestión de logs.

Al realizar login en la aplicación, valida el acceso del usuario como cliente o como comercial mostrando las opciones en el idioma elegido. Permite las funciones de recuperación de contraseña y/o cambio de la misma.

Una vez validado, el sistema nos mostrará un menú con las opciones de Mis pedidos para visualizar los pedidos realizados anteriormente, teniendo en cuenta los días máximos a mostrar recogidos en la configuración, pudiendo visualizar el detalle de los mismo.

Si la validación del usuario ha sido como comercial, la aplicación nos mostrará un menú con la lista de los clientes asignados a ese comercial para elegir a qué cliente le vamos a realizar el pedido.

También es posible pulsar en un pedido para duplicarlo y llevar los productos a la cesta en un nuevo pedido.

La opción Nuevo pedido nos permitirá crear un nuevo pedido interactuando con el listado de productos, realizar búsquedas por palabras, elegir las cantidades y llevarlas a la cesta. Disponemos de un botón para activar y desactivar la visualización de las imágenes

Desde la cesta de la compra nos permitirá aumentar o disminuir las unidades y validar el cierre del pedido.

Objetos añadidos en Velneo vERP

  • Idiomas de artículos: posibilidad de introducir más de un idioma en cada artículo.
  • Contactos: Búsqueda ENT_M_CMR

Objetos modificados en Velneo vERP

  • Formulario: ART_M
  • Búsquedas: VTA_PED_G_API y VTA_PED_LIN_G.

VERP-2879

vVersion. Scripts QML actualizados para funcionar con Qt 6.5 a partir de la versión 36.0 de Velneo.

Se ha actualizado código QML de vVersion para que sea compatible con las nuevas versiones de Qt 6.5 que a partir de la versión de plataforma 36.0 en adelante.

Objetos modificados:

  • Proyecto de aplicación
    • Scripts QML
      • Comparador/Compardor.qml
      • Comparador/DiferenciasObjeto.qml
    • Alternador de lista VERSIONS
    • Lista QML VERSIONS_CMP

VERP-2896

Gestión. En documentos de compra y venta la pérdida de foco del campo POR_DTO comprueba sobre cambios de la ficha.

A partir de ahora comprueba que sólo haya cambiado el campo POR_DTO y además pasa las verificaciones del pre-aceptar antes de guardar la ficha.

Objetos modificados:

  • Proyecto de aplicación
    • Formularios COM_ALB_G, COM_FAC_G, COM_PED_G, VTA_ALB_G, VTA_FAC_G, VTA_PED_G y VTA_PRE_G
      • Nuevo manejador de evento y conexión de evento GAN_FOC_POR_DTO
      • Modificado manejador de evento PIE_FOC_POR_DTO

VERP-2905

Gestión. En el formulario TRA_G_DET se asigna un valor incorrecto a una variable.

Objetos modificados:

  • Proyecto de aplicación
    • Formulario TRA_G_DET: manejador de evento MOV
      • La instrucción Set variable local de objeto ( PRO_ALT_MOV, REG_IVA_COM, #ART.REG_IVA_VTA) se corrige por Set variable local de objeto ( PRO_ALT_MOV, REG_IVA_COM, #ART.REG_IVA_COM)

VERP-2909

Gestión. La propiedad del control NRO_ORD del formulario ART_M no debe llevar decimales.

Objetos modificados:

  • Proyecto de aplicación
    • Formulario ART_M: propiedad número de decimales del control NRO_ORD se elimina el contenido al tratarse de un campo numérico sin decimales.

VERP-2914

API REST. Error cuando se quiere publicar un proceso sin origen a través de OpenAPI con V2.

Cuando se intenta publicar un proceso sin origen mediante el API REST a través de OpenAPI con V2 genera un error por una variable inexistente.

Objetos modificados:

  • Proyecto de datos
    • Script js/api_rest_v2/openapi.js

VERP-2919

Gestión. Mejora en la visualización de la firma en los pedidos de venta en el móvil.

Se ha mejorado el espacio donde se realiza la firma de un pedido de venta desde la versión móvil de vERP.

Objetos modificados:

  • Proyecto de aplicación
    • Formulario QML VTA_PED_G_CAP_FIR propiedad redimensionamiento.

VERP-2924

General. Error en la gestión de los registros de sesiones de usuarios.

Corregido bug derivado de la optimización del arranque que generaba múltiples sesiones de usuario en el log de usuarios concurrentes.

Objetos modificados:

  • Proyecto de aplicación
    • Procesos: ON_INIT_CLIENT, SES_DAT y AUTOEXEC_PRE_INI

VERP-2930

Contabilidad. Cuadro de amortización de inmovilizado. Se corrige y se mejora el proceso de cálculo del método lineal, para que tenga en cuenta los períodos ya contabilizados y genere los restantes por los períodos que faltan y el importe ajustado a los mismos.

Objetos nuevos:

  • Proyecto de aplicación
    • Constante PRG_INM_AMO_FCH_INI

Objetos modificados:

  • Proyecto de aplicación
    • Proceso INM_C_GEN_AMO_LIN
    • Formulario INM_C_AMO manejador de evento BTN_GEN_AMO

VERP-2933

Veri*factu. TPV. Llevar FAC_T a VTA_FAC_G. Facturas simplificadas.

Se ha llevado la lógica de uso de FAC_T (tickets/facturas simplificadas) de la solución vTPV, a la lógica de uso de VTA_FAC_G de la solución vERP_2, en vistas a poder aplicar Veri*factu a tickets/facturas simplificadas.

Las tablas FAC_T, FAC_LIN_T y FAC_COB_T pasan a ser “Deprecated” por lo que en futuras versiones desaparecerán.

Solución vERP_2

Objetos modificados:

  • Proyecto de datos
    • Tablas CHQ_DEV_T, VTA_FAC_G, EMP_M, COB_C y SER_M
    • Índice complejo CHQ_DEV_CLT_NOM
  • Proyecto de aplicación
    • Formularios EMP_M_CFG_TPV, EMP_M_CFG_TPV_SCR y SER_M_DAT
    • Proceso VTA_FAC_G_NUE

Objetos nuevos:

  • Proyecto de aplicación
    • Menús EMP_M_BTN_AUX_CHQ_DEV, EMP_M_BTN_AUX_COB_BCO, EMP_M_BTN_AUX_COB_CAJ, EMP_M_BTN_FPG_TPV_CHQ_DEV, EMP_M_BTN_FPG_TPV_CON, EMP_M_BTN_FPG_TPV_MUL y EMP_M_BTN_FPG_TPV_CAJ
    • Acciones EMP_M_ALT_AUX_CHQ_DEV, EMP_M_ALT_AUX_COB_BCO, EMP_M_ALT_AUX_COB_CAJ, EMP_M_EDT_AUX_CHQ_DEV, EMP_M_EDT_AUX_COB_BCO, EMP_M_EDT_AUX_COB_CAJ, EMP_M_LOC_AUX_CHQ_DEV, EMP_M_LOC_AUX_COB_BCO, EMP_M_LOC_AUX_COB_CAJ, EMP_M_ALT_FPG_TPV_CHQ_DEV, EMP_M_ALT_FPG_TPV_CON, EMP_M_ALT_FPG_TPV_MUL, EMP_M_ALT_FPG_TPV_TAJ, EMP_M_EDT_FPG_TPV_CHQ_DEV, EMP_M_EDT_FPG_TPV_CON, EMP_M_EDT_FPG_TPV_MUL, EMP_M_EDT_FPG_TPV_TAJ, EMP_M_LOC_FPG_TPV_CHQ_DEV, EMP_M_LOC_FPG_TPV_CON, EMP_M_LOC_FPG_TPV_MUL y EMP_M_LOC_FPG_TPV_TAJ

Objetos eliminados:

  • Proyecto de aplicación
    • Menú EMP_M_BTN_FPG_TPV
    • Acciones EMP_M_ALT_FPG_TPV, EMP_M_EDT_FPG_TPV y EMP_M_LOC_FPG_TPV

Solución vTPV

Objetos eliminados:

  • Proyecto de aplicación
    • Rejilla FAC_T
    • Formulario FAC_T_DEV
    • Búsqueda FAC_T_FCH
    • Cesta global FAC_T
    • Procesos FAC_LIN_TMP_T_ALT_FAC, FAC_T_FAC_LIN, FAC_T_INF_CAB y FAC_T_INF_TICK_REG

Objetos nuevos:

  • Proyecto de aplicación
    • Rejilla VTA_FAC_G
    • Formulario VTA_FAC_G_ABO
    • Búsqueda VTA_FAC_G_FCH
    • Cesta global VTA_FAC_G
    • Procesos FAC_LIN_TMP_T_ALT_VTA_FAC, VTA_FAC_TO_MOV_G, VTA_FAC_T_INF_CAB y VTA_FAC_T_INF_TICK_REG

Objetos modificados:

  • Proyecto de aplicación
    • Rejillas CHQ_DEV_T, CHQ_DEV_T_SEL y FAC_LIN_T_SIN_FRM
    • Formulario CHQ_DEV_T y TPV_PAR_TPV
    • Formulario PAG_CMB manejadores de evento BTN_ACE, BTN_CHQ_DEV y BTN_GEN_CHQ_DEV
    • Formulario TPV manejador de evento PAG
    • Formulario TPV_FAC_SIM y manejadores de evento ANU_FAC, BUS_FAC_SIM, IMP, IMP_TIC_REG y PRE_INI. Eliminado manejador de evento FAC
    • Procesos CAR_VTA_ULT_7_DIA, CHQ_DEV_T_NUE, ON_INIT_CLIENT, PV_CAR_FAC_SIM_HOY y TPV_LIM_CES

VERP-2940

Veri*factu. Facturas a destinatarios sin identificar (contado).

Objetos modificados:

  • Proyecto de datos
    • Tabla ENT_M añadido nuevo campo booleano #VAR (cliente/proveedor de varios).
  • Proyecto de aplicación
    • Formulario ENT_M_OTR

VERP-2944

General. El script velneoPlurales.js da error con el nuevo engine porque usa la directiva «use strict» y hace uso de una variable que no ha sido inicializada previamente

Objetos modificados:

  • Proyecto de datos
    • script js/database/velneoPlurales.js

VERP-2945

Contabilidad. En la auditoría de asientos de facturas de venta, aparecen prefacturas cuyo error es «08 – Los vencimientos a cobrar no coinciden con el total factura», pero es que los vencimientos se generan en el momento de pasarlas a factura.

Hemos añadido en la condición para mostrar el error que el estado de la factura debe ser facturada, y no pre-factura, además de controlar que tenga vencimientos: (#FAC=»1″) & (#FPG.NUM_VTO) & (#TOT_FAC ! VTO_PAG_IMP) en el proceso “COM_FAC_G_VRF”.

VERP-2946

Contabilidad. Cuando existe el asiento de variación de existencias no se calculan correctamente los informes Balance de Situación y Cuenta de Pérdidas y Ganancias.

Temporalmente hasta resolver ésta incidencia, se resuelve cambiando el tipo de asiento a “Normal”.

Objetos modificados:

  • Proyecto de aplicación
    • Proceso INF_C_CAL: en la variable local array del periodo 12 además de sumar los importes correspondientes a _12 también se suman los correspondientes a _VAR

VERP-2947

Gestión. Cuando se hace un movimiento de salida generado por un traspaso, no respeta la hora de salida.

El motivo del error es por la secuencia de rellenado de los campos de la tabla MOV en el proceso MOV_G_NUE, primero se rellena el campo #HOR y después se rellena el campo #ALM_TRA. Como #ALM_TRA se usa en el contenido inicial del campo #HOR, este se dispara y rellena el campo #HOR con currentTime().

Objetos modificados:

  • Proyecto de aplicación
    • Proceso MOV_G_NUE: se traslada al final del proceso el momento en el que se modifican los campos #FCH y #HOR
    • Formulario TRA_G_DET: se modifica el tipo de la variable loca HOR_SAL a “Hora” pues estaba definida como “Fecha”.
  • Proyecto de datos
    • Tabla MOV_G contenido inicial del campo #HOR: se hace coherente que si es una salida por traspaso que tome la hora de la salida del traspaso, al igual que se hace con la hora de entrada si es una entrada por traspaso. Hasta el momento tomaba currentTime()

VERP-2958

Ecosistema. vTPV. No es posible acceder al menú General desde el TPV.

Por motivo de la optimización del arranque en vERP, quedó inaccesible el menú General del TPV. Se ha corregido.

Objetos nuevos:

  • Proyecto de aplicación
    • Proceso ON_INIT_CLIENT

VERP-2964

Ecosistema. SII. Corrección en el llamado a procesos que muestra listas de datos mediante JavaScript.

Se corrige el llamado al proceso VER_LST_VIS donde se le indica el OBJ_ID_REF de la rejilla a mostrar con el alias incorrecto.

Objetos modificados:

  • Proyecto aplicación
    • Procesos FAC_EMI_C_SII_CON_LST, FAC_EMI_C_SII_LST, FAC_REC_C_SII_CON_LST y FAC_REC_C_SII_LST

VERP-2970

Contabilidad. Asiento descuadrado al contabilizar desde gestión factura de venta con descuento

En ocasiones puede generarse el asiento descuadrado al contabilizar desde gestión factura de venta con descuento. Debido a la posible pérdida de algún céntimo al aplicar el descuento global de factura, de manera particular a cada cuenta contable de ingreso, y redondear y sumar arrastrando los importes redondeados.

Objetos modificados:

  • Proyecto de aplicación
    • Proceso VTA_FAC_G_CON: donde se evalúa si la factura lleva IVA incluido para ajustar algún posible céntimo de descuadre entre los apuntes de ingresos y el total de las bases imponibles de la factura, se ha modificado ese IF para que también lo evalúe si la factura tiene porcentaje de descuento global.

VERP-2975

General. Toma de forma incorrecta el aspecto del sistema para determinar qué CSS aplicar.

Cuando se tiene definido Tema a aplicar por usuario y el aspecto es “Sistema”, siempre estaba aplicando el tema oscuro. Se ha modificado para que tome en cuenta el aspecto del sistema del cliente y en base a ello aplicar el tema correspondiente.

Objetos modificados:

  • Proyecto aplicación
    • Procesos: AUTOEXEC, ON_INIT_CLIENT y SES_DAT

VERP-2986

General. La variable global SES_DAT no se actualiza cuando se cambia de empresa.

La variable de sesión que se carga durante el arranque optimizado, no se actualiza cuando se ejecuta cambio de empresa.

Objetos modificados:

  • Proyecto de aplicación
    • Proceso SEL_EMP

VERP-2995

API. No permite duplicar registros de API cuando están definidos con seguridad oAuth.

No se realiza la duplicación de un registro de API cuando está configurado con seguridad oAuth, debido a la restricción de clave única del campo #CLT_ID_OAU

Objetos modificados:

  • Proyecto de aplicación
    • Formulario API_KEY_W manejador de evento BTN_DUP

VERP-3001

SII. Al descontabilizar una factura desde gestión no se elimina el registro de extensión.

Ello provoca que el asiento no se pueda eliminar al no poderse eliminar el registro de IVA.

Objetos modificados solución SII:

  • Proyecto de aplicación
    • Formularios COM_FAC_G_ASI y VTA_FAC_G_ASI: manejadores de evento BTN_DES_CON

VERP-3007

API REST. Cuando un API está configurada como oAuth y se consume con api key, retorna valores cuando no debería.

Objetos modificados:

  • Proyecto de datos
    • Scripts js/api_rest_v1/api_rest_funciones_v1.js y js/api_rest_v2/api_rest_funciones_v2.js

VERP-3014

Integrar sheet.js para exportar a Excel.

Agregada la libreria sheet.js para exportar a excel rejillas.

Objetos nuevos

  • Proyecto de aplicacion
    • Scripts
      • /vTools/listas/export/export_rejilla_excel_sheet.js
    • Procesos
      • EXP_XLS_SHE
    • Accion
      • EXP_XLS_SHE

Objetos modificados

  • Proyecto de aplicacion
    • Menu
      • EXP

VERP-3018

Diseño: Añadir botón de «Nuevo xxx» para altas de registros desde formularios de menús.

De manera general, en todos los formularios que dan funcionalidad de menú y que desde ellos se puedan dar altas de registros, en su cabecera se ha añadido el botón de “Nuevo xxx” para dar de alta los registros, dejando de usarse la acción de alta de la toolbar. Para ello también se ha añadido el nuevo manejador de evento BTN_ALT en cada uno de esos formularios. Ese manejador es el que se vincula al nuevo botón de la cabecera del formulario menú. La acción de alta de la toolbar se ha quitado.

VERP-3019

Se han rediseñados todos los menús de vERP.

  • Se ha reubicado el botón de alta.
  • Se ha mejorado la interfaz de los controles de edición con texto estático encima usando layouts para mejorar los espacios.
  • Se añade la sección de filtrados con toda la funcionalidad de apertura/cierre, botón de filtro activo, botón para filtrar y limpiar filtros.
  • Se han mejorado todos los menús de todos los módulos: compras, ventas, almacén, contabilidad, maestros y configuración.

VERP-3022

Se mejora la función de título de formularios tanto en vista como en ventana, usando la función TIT donde se aplica en la mayoría de los casos la función de fórmula getCurrentObjectName() para obtener el nombre del objeto (que permite traducción directa) y para la longitud salvo excepciones donde se deja a 0 para no limitar el tamaño, se usa un tamaño definido en la nueva constante LON_TIT.

Se declaran obsoletas (añadiendo en el texto de la constante “(deprecated)” las constantes de texto que ya no tienen uso. Estas constantes serán eliminadas de vERP a partir de las versión 37 por lo que de momento se mantienen para que se pueda hacer el cambio sin errores en el inspector.

VERP-3044

De manera general, en todas las toolbars de vERP en las que había menú de imprimir, sus acciones han sido añadidas al menú de más opciones, y el menú de imprimir se ha eliminado. En ellas, si no existía menú de más opciones se ha creado. También en las toolbars afectadas su propiedad “Modo” se ha cambiado a “Texto”, y en los menús de más opciones su propiedad “Nombre” se ha cambiado a “Opciones”.

VERP-3059

IA. Nuevo Agente IA en vERP.

A partir de la versión 36 de Velneo, vERP dispone de un Agente IA para que el usuario pueda interactuar con un LLM.

El Agente IA se configura a nivel de empresa y funciona en base a un script configurado también a nivel de empresa.

Se interactúa con el Agente IA como un chat, al que también se le pueden enviar datos desde cualquier rejilla con la nueva opción en el menú contextual “Enviar datos al Agente IA”. Dispone también de un historial de conversaciones.

  • Proyecto de datos
    • Carpeta IA donde se encuentran las nuevas tablas y variables globales.
    • Tabla SCR_W añadido nuevo índice NAME_IA
    • Tabla EMP_M añadidos nuevos campos #UTI_VAG, #VAG_URL, #VAG_TOK y #VAG_SCR
    • Nuevo proceso MIG_36_0
  • Proyecto de aplicación
    • Carpeta vAgente donde se encuentran todos los nuevos objetos de interfaz tales como formularios, listas QML, casilleros, procesos, funciones, acciones y menús.
    • Nuevo formulario PRG_SI_NO
    • Dibujos: MEN_GEN_VAG, VAG_COP, VAG_DAT, VAG_FLE_DER, VAG_FLE_IZQ, VAG_HIS_CHA, VAG_MAS, VAG_MAS_OPC, VAG_STO
    • Constantes: MSG_PRG_VAG_TXT_ELI_CNV, MSG_VAG_CHT_SIN_TIT, MSG_VAG_CON_DAT_ALT, MSG_VAG_CON_DAT_NOM, MSG_VAG_IA_EN_CUR, MSG_VAG_NO_EXI_PTP, MSG_VAG_NO_EXI_SCR_EMP, MSG_VAG_NO_VAG, MSG_VAG_SEL_DAT, MSG_VAG_TXT_COP_POR, PRG_VAG_ELI_CNV, TXT_VAG_CNC_CON, MSG_VAG_NO_CFG_NO_ADM
    • Menú LST añadida acción VAG_ENV_REG
    • Nuevo formulario EMP_M_CFG_IA_VAG
    • Formulario EMP_M_CFG_IA añadido en el separador el subcontrol VAG con el formulario EMP_M_CFG_IA_VAG
    • Añadido en el formulario MEN_APP la opción de Agente IA, nuevo manejador VAL_VAG y modificados POS_INI y SEL_EMP
    • Marco AUTOEXEC añadido nuevo dock VAG_IA
    • Menú PRN_APL añadida acción VAG_IA_ON_OFF

VERP-3065

Añadidos a vCRM y a todo el ecosistema los mismos idiomas que tiene vERP.

Soluciones modificadas:

  • vCRM (Proyecto de aplicación y de datos)
  • Iconos material vERP (Proyecto de aplicación)
  • Iconos material vERP color (Proyecto de aplicación)
  • Números de serie (Proyecto de aplicación)
  • Produccion (Proyecto de aplicación y de datos)
  • Shopify ERP (Proyecto de aplicación )
  • Shopify pedidos (Proyecto de aplicación y de datos)
  • vSII (Proyecto de aplicación y de datos)
  • Tallas y Colores (Proyecto de aplicación)
  • vAgenda (Proyecto de aplicación)
  • vERPLatam (Proyecto de aplicación y de datos)
  • vFactElect (Proyecto de aplicación y de datos)
  • vFacturación Electrónica España (Proyecto de aplicación y de datos)
  • vKanban (Proyecto de aplicación)
  • vMailTrans (Proyecto de aplicación)
  • vMapas (Proyecto de aplicación)
  • vRRHH (Proyecto de aplicación)
  • vTPV (Proyecto de aplicación)
  • vWeb (Proyecto de aplicación)
  • vWooCommerce (Proyecto de aplicación)

VERP-3066

Gestión. Contabilizar factura desde gestión. Aparece mensaje en blanco al contabilizar.

Ocurría desde la pestaña asiento de una factura en gestión, al usar el manejador de evento de contabilizar. Si la serie de la factura tiene marcado “No generar registro de IVA”, se ejecutaba el comando de instrucción mensaje con un mensaje vacío.

Objetos modificados:

  • Proyecto de aplicación
    • Formularios COM_FAC_G_ASI_SRC y VTA_FAC_G_ASI_SCR, sus manejadores de evento BTN_CON

VERP-3080

Ajustada toda la interfaz de los objetos de Veri*factu al estilo visual de vERP.

VERP-3081

API REST. Cuando se quiere utilizar el parámetro planoEjecucion no hace caso del parámetro.

Cuando en el API REST V2 se hace uso del parámetro “planoEjecucion” para la ejecución de un proceso, no hace caso de dicho parámetro, ejecutándolo siempre en modo cliente.

Objetos modificados:

  • Proyecto de datos
    • Script js/api_rest_v2/api_rest_funciones_v2.js

VERP-3087

API REST. Error cuando se ejecuta un proceso sin tabla y no retorna nada, o la variable de retorno está vacía.

Se ha corregido el caso de que cuando se consume el API REST, tanto en V1 como en V2, de un proceso sin origen que no retorna nada o el retorno está vacío, se generan mensajes de error en el servidor y en determinadas circunstancias podría hasta hacerlo caer.

Objetos modificados:

  • Proyecto de datos
    • Scripts js/api_rest_v1/v1.js y js/api_rest_v2/v2.js

VERP-3139

General. Implementar nuevo comando de instrucción Modo de reconexión.

Objetos nuevos:

  • Proyecto de datos
    • Nueva tabla estática MOD_REC_W

Objetos modificados:

  • Proyecto de aplicación
    • Formulario APP_CFG_W_SUP añadidos controles de edición para el modo de reconexión y los segundos entre reintentos.
    • Proceso AUTOEXEC_PRE_INI añadidas las instrucciones del protocolo de reconexión.
  • Proyecto de datos
    • Tabla APP_CFG_W nuevos campos #MOD_REC y #SEG_REC y nuevos traspasos de campos MOD_REC y SEG_REC

VERP-3140

TPV. Actualizar QML para operar con las nuevas librerías de QT 6.

Objetos modificados:

  • Proyecto de aplicación
    • Formularios
      • TPV: controles CAS_FAM y CALC posiciones X Y
      • TPV_APT_CAJ: manejador de evento INI_CMB
      • TPV_FAC_SIM: manejador de evento INI_CMB
      • APT_CAJ_T: manejador de evento IS_NUM
    • Marco AUTOEXEC: manejador de evento PRE_INI
    • Lista QML TPV_DEP: nuevo UserRole DETAIL
    • Scripts
      • qml/Componentes/Tags/AnyTags.qml
      • qml/Componentes/Tags/ControlTag.qml
      • qml/Componentes/PageStack.qml
      • qml/Componentes/Slider.qml
      • qml/js/menu.js
      • qml/Menu/CollapsibleList.qml
      • qml/Menu/JSONListModel.qml
      • qml/Menu/ListItem.qml
      • qml/Menu/Menu.qml
      • qml/Menu/Scroll.qml
      • vTPV/BackOfficeMenu/CollapsibleList.qml
      • vTPV/BackOfficeMenu/ListItem.qml
      • vTPV/BackOfficeMenu/Menu.qml
      • vTPV/BackOfficeMenu/MenuModel.qml
      • vTPV/CalcTPV/ButtonCalc.qml
      • vTPV/CalcTPV/Calc.qml
      • vTPV/CalcTPV/CalcPasswords.qml
      • vTPV/CalcTPV/CalcTPV.qml
      • vTPV/CalcTPV/Display.qml
      • vTPV/CalcTPV/ForPagDialog.qml
      • vTPV/Charts/QChart.qml
      • vTPV/Components/Border.qml
      • vTPV/Components/BusyForm.qml
      • vTPV/Components/Button.qml
      • vTPV/Components/OperationViewer.qml
      • vTPV/Components/RadioButton.qml
      • vTPV/Components/SlideViewMan.qml
      • vTPV/Components/Switch.qml
      • vTPV/controls/bars/Bar.qml
      • vTPV/controls/bars/ButtonBar.qml
      • vTPV/controls/buttons/ButtonDefault.qml
      • vTPV/controls/cards/Card.qml
      • vTPV/controls/content/TextContent.qml
      • vTPV/controls/list/DefaultListView.qml
      • vTPV/controls/list/List.qml
      • vTPV/controls/list/ThumbnailListStyle.qml
      • vTPV/controls/styles/CardStyle.qml
      • vTPV/controls/styles/DefaultListViewStyle.qml
      • vTPV/controls/styles/ListDividerStyle.qml
      • vTPV/controls/styles/ThumbnailListViewStyle.qml
      • vTPV/controls/styles/TouchClearStyle.qml
      • vTPV/controls/styles/TouchOutline.qml
      • vTPV/controls/styles/TouchStyle.qml
      • vTPV/controls/variables//button.js
      • vTPV/Delegates/CabFacSim.qml
      • vTPV/Delegates/Casillero.qml
      • vTPV/Delegates/FacSimp.qml
      • vTPV/Delegates/Linea.qml
      • vTPV/Delegates/ListDelegate.qml
      • vTPV/Delegates/SimFacLin.qml
      • vTPV/Efects/Border.qml
      • vTPV/Efects/Shadow.qml
      • vTPV/JS/fullScreen.js
      • vTPV/Scrollable/ScrollBar.qml
      • vTPV/Tables/Delegates/Casillero.qml
      • vTPV/Tables/qml/Calc/_Button.qml
      • vTPV/Tables/qml/Calc/Display.qml
      • vTPV/Tables/qml/Models/DecoModel.qml
      • vTPV/Tables/qml/Models/TablesModel.qml
      • vTPV/Tables/qml/Background.qml
      • vTPV/Tables/qml/Calculator.qml
      • vTPV/Tables/qml/Comands.js
      • vTPV/Tables/qml/DesignButtons.qml
      • vTPV/Tables/qml/Dialog.qml
      • vTPV/Tables/qml/Fader.qml
      • vTPV/Tables/qml/Floor.qml
      • vTPV/Tables/qml/GenericObject.qml
      • vTPV/Tables/qml/ListPanel.qml
      • vTPV/Tables/qml/ObjectsPanel.qml
      • vTPV/Tables/qml/PanelObject.qml
      • vTPV/Tables/qml/RegDelegate.qml
      • vTPV/Tables/qml/SalList.qml
      • vTPV/Tables/qml/SalName.qml
      • vTPV/Tables/qml/ShadowBorder.qml
      • vTPV/Tables/DesignForm.qml
      • vTPV/Tables/ObjectsList.qml
      • vTPV/Tables/SelectForm.qml
      • vTPV/Toolbar/Divider.qml
      • vTPV/Toolbar/Input.qml
      • vTPV/Toolbar/KeyBoard.qml
      • vTPV/Toolbar/ToolBar.qml
      • vTPV/Toolbar/ToolBarSearch.qml
      • vTPV/Toolbar/ToolButton.qml
      • vTPV/Toolbar/ToolDelCli.qml
      • vTPV/VirtualKeyboard/Key.qml
      • vTPV/VirtualKeyboard/LineEdit.qml
      • vTPV/VirtualKeyboard/LineImputForm.qml
      • vTPV/VirtualKeyboard/VirtualKeyb.qml
      • vTPV/BarcodeReader.qml
      • vTPV/Clock.qml
      • vTPV/Dependient.qml
      • vTPV/EntSal.qml
      • vTPV/EstatsGraf.qml
      • vTPV/FacSimList.qml
      • vTPV/FacAparcadas.qml
      • vTPV/FindKeyboard.qml
      • vTPV/Keyboard.qml
      • vTPV/Lineas.qml
      • vTPV/ListClient.qml
      • vTPV/Products.qml
      • vTPV/SelDepen.qml

VERP-3151

Contabilidad. Error en el proceso de verificaciones contables de facturas de compras.

Se corrige que después de recorrer la lista de facturas de compra, hay un If ( #ASI ) que tiene origen lista de las facturas de compra, y eso no es posible, ya que debería ser origen cada ficha de factura. Por eso ese If se corta y se añade dentro del recorrer lista solo lectura justo después del error 10.

También se corrige los If de los errores 12, 15 y 25, pues hacían referencia a facturas emitidas en vez de recibidas, y a clientes en vez de proveedores.

Objetos modificados:

  • Proyecto de datos
    • Proceso COM_FAC_G_VRF

VERP-3156

API. Cambio de formato de retorno en funciones del API de javaScript para los metodos getTime() por el cambio de motor javaScript.

Debido al cambio de motor de javaScript de scriptEngine hacia QJsEngine, ha cambiado el formato de retorno de valores para funciones del api para javaScript, especificamente funciones que retornen tiempo como fieldToTime.

Se ha corregido el API REST para que retorne el valor esperado.

Por ejemplo, un campo hora, de manera tradicional en el API REST siempre se devolvía HH:MM:SS.mmm

Con el nuevo motor y sin la corrección actual se pasó a devolver: Tue Mar 25 2025 12:44:26 GMT-0300

Con la corrección actual se devuelve de nuevo: 12:44:26.0

Objetos modificados:

  • Proyecto de datos
    • Scripts js/api_rest_v1/api_rest_funciones_v1.js y js/api_rest_v2/api_rest_funciones_v2.js

VERP-3175

Funciones para realizar compresion zip con la libreria fflate de js

Se ha implementado el uso de la libreria fflate para comprimir ficheros en formato zip

Objetos creados

  • Proyecto de datos
    • Scripts
      • /libraries/fflate/fflate.js
      • /libraries/fflate/zip.js
    • Funciones
      • ZIP

VERP-3192

API REST. Se ejecuta el envío de correo cuando se modifica la fecha de último acceso.

Cuando se modifica la fecha de último acceso del API-KEY se dispara el envío de correo de forma innecesaria.

Objetos modificados:

  • Proyecto de datos
    • Tabla API_KEY_W trigger posterior a una modificación.

VERP-3216

Veri*factu 100% funcional en vERP 36.

Se contemplan las funcionalidades completas:

  • Uso de pre-facturas para poder revisar y ajustar los datos antes de convertirlas en facturas.
  • Una vez generada una factura ya no se podrá cambiar ningún dato que afecte a Veri*factu, y tampoco en las líneas de detalle en aquellos datos que afecten al apartado económico o el artículo y la descripción de la línea.
  • Sí, que es posible modificar datos adicionales que no afectan a Veri*factu como el comercial en la cabecera o el almacén en las líneas de detalle.
  • Se incluye un PDF plantilla para la declaración responsable. Recuerda que debes rellenarlo y cambiarlo en cada versión, y que esa información también debe estar accesible fuera de la aplicación, por ejemplo en tu página web. vERP al ser de código fuente abierto requiere que los que venden la aplicación rellenen la declaración responsable ya que son los responsables del código fuente y pueden haberlo alterado a partir de la plantilla que Velneo entrega.
  • vERP genera el historial de envíos de cada factura, y además se puede consultar un historial general de todos los envíos.
  • El informe de factura incluye el código QR.
  • A nivel de empresa se pueden configurar las URL que se usan para la presentación en modo pruebas y también en producción. Se recomienda comenzar a usar en producción en los clientes finales lo antes posible, ya que la AEAT ya lo ha puesto en producción en el mes de abril de 2025.