Listado de cambios Velneo 29.0

Plataforma

Código Descripción

VELNEO-7924

Mejora en el retorno de registros a través de Velneo ODBC Driver

En las consulta a una base de datos de Velneo usando el driver Velneo ODBC (un select all por ejemplo) ahora nos devuelve los registros existentes, evitando incluir los huecos relativos a registros eliminados, facilitando el procesado de datos desde una aplicación externa que accede por odbc.

VELNEO-9386

Mejora en cuadro de diálogo de caducidad de contraseña en Velneo Web

En el caso de que caduque la contraseña en Velneo Web, al igual que en escritorio, aparecerá el cuadro de diálogo correspondiente para la modificación de la contraseña.

VELNEO-9346

Nuevo interfaz de administración en versión escritorio de Velneo vAdmin

Se implementa un nuevo menú de selección de apartado con estilo coherente con la administración web.

VELNEO-9324

Reutilización de tareas en Velneo vAdmin

Podemos reutilizar una tarea que se haya programado para ser disparada una única vez para cambiar su configuración y volver a dispararla, aún cuando ya ha sido disparada previamente.

VELNEO-9169

Tareas de reinicio de instancia y heredadas y nuevo botón

Ahora es posible programar tareas para el reinicio de instancias de proyectos, esto nos permitirá forzar el reinicio de las instancias de un proyecto (y sus heredados si así lo configuramos), en una fecha y hora determinados, tengan o no enganches. Si los tiene, los expulsará.

Además, también podemos programar el reinicio diferido de una instancia desde el panel de instancias de Velneo vAdmin usando el botón correspondiente.

VELNEO-9078

Optimización en la carga de directorios y ficheros en el árbol de carpetas compartidas

Esta optimización permite navegar por los directorios y ficheros del árbol del servidor con más fluidez, ya que carga únicamente las carpetas por las que vamos a navegar, lo que en casos con muchas carpetas y ficheros, hace que sea mucho más ágil buscar la carpeta o fichero correspondiente.

VELNEO-8947

Nuevo tipo de tarea Reiniciar solución y opción en Soluciones en Velneo vAdmin

Nuevo tipo de tarea Reiniciar solución, que nos permite programar el reinicio de una solución, tarea que podemos crear desde la opción de ver soluciones con el botón correspondiente al seleccionar una solución. De esta forma, podemos programar reinicio desatendidos, fuera del horario de trabajo habitual, y la tarea se encargará de desenganchar los usuarios que todavía pueda haber conectados y reiniciar la solución para que a continuación esté disponible.

VELNEO-5977

Administración en Velneo Web

Hemos implementado la administración en Velneo Web, con las mismas funcionalidades que escritorio, vamos a poder administrar nuestros servidores sin necesidad de instalar el componente, desde cualquier navegador soportado, haciendo uso para ello de la nueva página de login, que nos permite elegir entre administrar o editar en un servidor de Velneo Cloud.

VELNEO-9140

Mejora en las condiciones de actualización en tablas en memoria cuando hacen uso de datos de un maestro

Cuando en la condición de un componente de una actualización entre dos tablas en memoria usábamos un campo de un maestro, ésta condición no se evaluaba correctamente y en la barra de estado se veía un mensaje que indica que el campo del maestro no existía. Ahora se evalúa de forma correcta cuando la persistencia es en memoria y en disco.

VELNEO-9050

Uso de diálogos nativos para la apertura de ficheros y carpetas

Cuando desde Velneo se haga uso de ficheros o carpetas de Android, se accederá a estos usando los diálogos nativos disponibles en el sistema, mejorando de esta forma la integración de nuestras aplicaciones con el sistema operativo Android, y facilitando al usuario el interfaz que ya conoce de su dispositivo móvil.

VELNEO-9048

Novedades en QtQuick

La principal novedad QML que debemos tener en cuenta es que QtQuick1 es obsoleto, dejará de estar soportado, y debemos hacer uso de QtQuick 2, que será además la que siga recibiendo novedades, como las siguientes:

  • Nuevo componente SplitView.
  • Los controles de texto Text y TextEdit soportan el formato Markdown (CommonMark and GitHub dialects) como alternativa a HTML.
  • Soporte en el componente TableView de columnas y filas ocultas.
  • Nuevas propiedades HorizontalHeaderView y VerticalHeaderView para mostrar información en un TableView. Soporta flicking y los estilos visuales por defecto.
  • Se añade WheelHandler y Event Handler para la rueda del ratón, que incluye la emulación de ratón de trackpads.
  • Image y BorderImage tienen ahora las mismas propiedades currentFrame y frameCount que tiene AnimatedImage, lo que nos permite escoger un icono individual de un fichero .ico que contenga múltiples iconos.
  • Nuevas propiedades PathPolyline PathMultiline como forma adicional de pinter o rellenar arbitrariamente.
  • Nueva propiedad Image.sourceClipRect para especificar una región de corte, haciendo que se renderize la parte correspondiente de la imagen.
  • Nueva propiedad cursorShape a los gestores de puntero de ratón. La mayoría de los manejadores cambiarán el cursor cuando el estado esté activo. HoverHandler cambiará cuando el ratón esté sobre su área.
  • Nueva propiedad cache para iconos.
  • Nueva propiedad selectTextByMouse en ComboBox.

VELNEO-9026

Implementadas las propiedades de ajuste de celdas de casillero por medio de CSS

Podemos modificar los atributos de margen y padding de las celdas de un casillero por css. Ahora con el atributo margin, por ejemplo, se podrá modificar el espaciado horizontal y vertical entre casillas, Ejemplo:

«VCDragTableView::item{
margin: 10px;

VELNEO-9008

Optimización en el manejo de arrays y objetos de JSON con funciones nativas

Hemos mejorado el rendimiento de las funciones de JSON nativos de Velneo para el manejo de arrays o objetos de JSON, consiguiendo que su uso en ejecución sea más rápido. Pero además, hemos incluido nuevas funciones para trabajar con listas, que harán que todavía sea más rápido trabajar con información JSON.

VELNEO-8980

Mejora en la gestión del alta en rejillas editables con columnas con botón

Corregida incidencia en rejillas editables que provocaba el cierre de Velneo vClient al iniciar el alta de un nuevo registro estando el cursor editando una celda con un botón menú incrustado.

VELNEO-8962

Mejoras en fichas de extensión

Se mejora la gestión de fichas de extensión en el cliente, evitando errores al ejecutar un formulario que contiene controles que hacen referencia a campos de una extensión de ficha.

VELNEO-8868

Mejora de drag&drop en casilleros

Solucionada incidencia que impedía realizar a operación de drag en casilleros.

VELNEO-8837

Mejora de actualización en vClient personalizado

Se mejora la configuración de vUpdater en vClient para instaladores personalizados de vClient con el fin de facilitar la actualización de vClient en instalaciones de usuarios.

VELNEO-8834

Mejora en la edición de numéricos cuando se vacía el valor

Se mejora el sistema de eventos para que cuando se vacía el valor, los manejadores de evento fuercen el valor a 0, ya que vacío no es un valor válido para la edición numérica.

VELNEO-8645

Firmado digital de vRemoteFunctionV7.dll de la instalación de Velneo vClient

Ahora se incluye firma también en vRemoteFunctionV7.dll, lo que garantiza no sólo la procedencia de la librería si no que también garantiza que no puede ser alterado sin romper la firma.

VELNEO-8490

Implementación de la señal tap&hold en rejillas avanzadas en Android y en iOS para la apertura de fichas

En la rejilla avanzada se implementa la señal de tap & hold en Android y en iOS de forma que activan en la rejilla las mismas acciones que el doble clic o la señal de activado, con el fin de que el usuario final pueda modificar la ficha en curso mediante un formulario.

VELNEO-7832

Nuevas funciones de fórmula dentro del grupo Cadena

stringToBase64(cadena, codec) Tooltip: Devuelve un base64 a partir de la cadena)
base64ToString(cadenaBase64, codec) Tooltip: Devuelve una cadena a partir de la cadena en base64)

En ambas funciones del grupo cadena, el primer parámetro es una cadena y el codec es opcional y si no se especifica, usa UTF8.

VELNEO-7732

Nueva conexión en móvil con vatps:// por defecto

Cuando creemos una nueva conexión con Velneo vClient en iOS y Android, el esquema de conexión que propone por defecto es vatps:// en lugar de vatp://, aunque podrá seguir siendo editable.

VELNEO-7696

Mejora en la gestión de contenidos iniciales en campos al avanzar control con la tecla intro en formularios

Se resuelve una incidencia que provocaba que se disparasen contenidos iniciales de ampos al avanzar control con la tecla intro, cuando en un formulario se incluía un botón que disparaba el comando mover foco al control siguiente y el botón tenia establecida la propiedad “Botón por defecto” a verdadero.

Cuando el foco estaba en un campo que se usaba en el contenido inicial de otro y, sin cambiar su contenido y pulsábamos intro para tabular, se disparaba igualmente el contenido inicial del otro campo.

VELNEO-7600

Versión beta del nuevo motor de ejecución de Javascript

Este es el primer paso de migración al nuevo motor con soporte de ECMAScript6. En próximas versiones, será el motor por defecto para los procesos y fórmulas javascript. Este motor incorpora mejoras y nuevas funcionalidades como el uso de let, las promesas y otras nuevas funcionalidades de ECMAScript6.

Este nuevo motor es compatible con el motor de Javascript del que se hace uso en QML, con lo que compartirá características y los procesos javascript que programemos podrán ser reutilizados en procesos javascript QML, incluyendo la posibilidad de crear objetos de las clases del API de Velneo para Javascript, y de esta forma, por ejemplo, hacer uso de VRegister y VRegisterList con el fin de trabajar con registros de la base de datos.

VELNEO-7081

Mejora en la configuracion por CSS del estilo del cuerpo de rejillas

Ahora se podrá modificar el color del cuerpo de las rejillas por CSS siempre y cuando se cumplan las condiciones siguientes: La fuente configurada en la columna es la fuente sistema y con estilo normal*.* El color es texto del cuerpo en la columna del sistema, es decir, no se ha modificado el valor por defecto de la propiedad. De esta forma, podemos personalizar aún más nuestra aplicación con el fin de que se adapte a nuestras necesidades de diseño corporativo o funcionales.

VELNEO-5938

Mejora de refresco en fichas de extensión

Se mejora el sistema de gestión de tablas de extensión para que se refresque un campo de una extensión de ficha al modificarlo desde un evento del formulario donde está declarada.

VELNEO-4533

Mejora en el control TreeWidget

En el control TreeWidget, ahora no añade opciones de ficha cuando configuramos un menú personalizado y se evita error cuando la ejecución de las opciones de ficha cuando se usa el menú por defecto y el control no tiene tabla asociada.

VELNEO-4307

Mejoras en el comando de instrucción de proceso pedir dato.

Ahora, cuando el tipo de dato a recoger es de tipo fecha, el modo de edición será tipo alfanumérico, es decir, podremos escribir la fecha como una cadena y al perder foco el control será cuando se valida y cuando la cadena escrita se convierta en un dato de tipo fecha. Para conocer los formatos de edición disponibles haz clic aquí. Además, el control incluirá un botón desde el que podremos desplegar un calendario para la selecicón de la fecha.

VELNEO-4093

Mejora en la gestión de focos en tabulación

Resuelta incidencia que hacía que no se disparase la señal de ganancia de foco en una vista de datos de un formulario cuando ésta tenía establecida a “false” la propiedad “seleccionable con tabulador”.

VELNEO-9458

Velneo vDevelop: cambia el nombre de la opción “Generar Aplicación” del menú Objetos

Dado que la opción lo que realmente hace es generar la interfaz de una aplicación la hemos renombrado como Generar Interfaz.

VELNEO-9274

Actualizado la librería de iconos material disponibles en la extensión Iconos Material, en inglés y traducidos al español.

Tras la última actualización en la extensión Iconos Material hay 5.962 iconos, añadiéndose 407 iconos nuevos.

VELNEO-9164

Mejora en la detección de orígenes y destinos en Repositorios

Repositorios detecta mejor los cambios que se hayan producido en el orígen o destino de un objeto, presentando la información correspondiente cuando visualizamos las diferencias entre objetos.

VELNEO-9145

Mejora en Repositorios de la detección de cambios en procesos

Repositorios además de detectar cuándo hay líneas comentadas en procesos, ahora muestra qué líneas han sido comentadas.

VELNEO-9134

Nueva opción Cambiar estilos para Velneo vDevelop

Nueva opción en el menú Objetos: cambiar estilos, que nos permite activar un estilo concreto a todos los objetos de un mismo tipo.

VELNEO-9108

Mejoras en el envío y recepción de seleccionados en Repositorios

Se evitan errores con objetos con cambio en el origen y destino durante el envío recepción de seleccionados en Repositorios, permitiendo al desarrollador enviar y recibir cualquier objeto que haya cambiado y seleccionado.

VELNEO-9041

Mejora en la edición de procesos usando el comando de instrucción Ordenar lista

Cuando utilizábamos la instrucción Ordenar lista, si el índice a utilizar tiene el carácter «Ñ», al mostrarlo en el campo de resolución, se visualizaba de forma errónea. Ahora el comportamiento es el correcto y se visualizar el nombre del indice de forma correctamente.

VELNEO-8984

Mejora de rendimiento en la detección de cambios en objetos de tabla

Se ha optimizado en Repositorios el proceso de detección e información de cambios en tablas y subobjetos, con lo que la velocidad de cálculo de diferencias entre proyectos se ha incrementado.

VELNEO-8964

Optimización del Inspector dónde se usa

Se ha mejorado el mecanismo de cálculo del Inspector Dónde se usa de los objetos para que sea más rápido. Además, se ha añadido una caché, por lo que, si no hay modificaciones en los proyectos implicados, encontrar dónde se usan los objetos será mucho más rápido ya que no requerirá el recálculo de usos de los objetos.

VELNEO-8825

Nueva opción del editor de formularios para visualizar y modificar el orden de tabulación de los controles

Esta nueva opción para visualizar y modificar el orden de tabulación nos permite tanto mostrar el orden de tabulación de los controles directamente en el formulario así como cambiarlo haciendo clic sobre los elementos, lo que nos facilita no sólo conocer si no configurar el orden tab en formularios haciéndolo de forma ágil y rápida.

VELNEO-8720

Mejora en el envío de seleccionados en Repositorios

En la extensión Repositorios, al enviar los seleccionados al repositorio, nos aparece la ventana para escribir los comentarios, cuya información se guarda la versión en vVersion, junto con la versión que en ese momento se guarde.

VELNEO-8719

Mejora en Repositorios en la detección de cambios en tabla

Repositorios detecta ahora cambios en nombre singular de tabla.

VELNEO-8711

Nueva opción para conocer los subobjetos no usados en el panel de subobjetos de Velneo vDevelop

Cuando usamos la nueva opción No usados del panel de subobjetos sobre un objeto con una pestaña de subobjetos abierta, nos selecciona los objetos que no están siendo usados directamente en ninguna propiedad de ningún objeto. Esto nos permite limpiar por ejemplo, las variables no usadas de un proceso.

Debemos tener en cuenta, que algunos objetos aunque no estén usados directamente en propiedades, pueden estar usados directamente o indirectamente: las columnas de una rejilla o controles de un formulario, que pueden ser usadas o no en comandos de interfaz, por ejemplo, pero si no, aparecerán como no usadas, o todos aquellos objetos que usemos en procesos javascript.

VELNEO-8705

Nueva opción en el editor de formularios Ordenar los controles para la tabulación

La nueva opción Ordenar los controles para la tabulación permite ordenar los controles seleccionados de 1 en adelante. ‌Si no se seleccionan controles, ordena todos.‌

El algoritmo de ordenación que sigue es: ‌Se ordenan por la posición de X en orden ascendente.‌ Si coincide el mismo X, se ordenan ascendentemente por Y. Si coincide X e Y , se ordena descendentemente por el alto del control. El más alto va primero. Si coincide X, Y y altura , se ordena descendentemente por anchura del control. El más ancho va primero.‌ Si coincide X, Y, altura y anchura, primero se ponen los layouts.‌ Los layouts se ordenan igual que el resto de controles y con los mismos criterios.

VELNEO-8618

Nuevo estilo Vista única en objetos formulario

El nuevo estilo Vista única en objetos formulario permite que los formularios que tengan activado este estilo puedan ser abiertos una sola vez, por cada Velneo vClient en ejecución y dato. De forma que si el usuario vuelve a intentar abrir la misma ficha, no se abrirá una nueva sino que se activará la que ya estaba abierta.

VELNEO-8556

Drag&Drop en edición en Velneo Web

Hemos habilitado el uso de drag&drop en la ventana de proyectos de Velneo Web, y en la edición de formularios y rejillas a la hora de arrastrar elementos desde el Inspector de campos al formulario, con el fin de facilitar al programador el desarrollo de aplicaciones con Velneo Web.

VELNEO-8469

Mejora en la gestión de la definición de Repositorios

Se mejora la gestión de la definición de Repositorios, para el control del repositorio en curso, que no se posicione en un repositorio si no existe y para ocultar la información cuando se borra un repositorio.

VELNEO-8440

Mejora del comando de instrucción Crear o modificar ficha desde JSON en tablas en memoria

Se mejora el comando de instrucción Crear o modificar ficha desde JSON para que en tablas en memoria no requiere conexión con el servidor y así poder usarlo con mejor rendimiento y en las ocasiones que puede que no haya conexión con el servidor y trabajemos mientras tanto con tablas en memoria.

VELNEO-8255

Mejoras en la gestión de enganches al ejecutar desde la edición en Velneo Web

Cuando pulsamos F5 o ejecutamos la aplicación desde la edición en Velneo Web, se mostrará el cuadro de diálogo para expulsar enganches si es necesario, permitiéndonos ejecutar la aplicación a continuación.

VELNEO-8120

Mejoras de usabilidad en interfaz de la extensión Iconos material

En la extensión Iconos Material se añade interacción con teclado y ratón, al arrancar la extensión ganará foco el campo de búsqueda, se marca el elemento seleccionado tanto en lista como en casillero, se navega con teclas en vistas casillero y lista y se despliega barra de scroll estándar, todo ello con el fin de facilitar el uso de la extensión.

VELNEO-7985

Resuelta incidencia que provocaba un error al previsualizar un formulario en Velneo Web

Se resuelve una incidencia que provocaba que al hacer una previsualización de un formulario desde el editor de formularios de Velneo vDevelop Web.

VELNEO-7983

Implementada la exportación e importación de dibujos en Velneo Web

En Velneo Web podrás importar y exportar dibujos en tus proyectos, instancias, etc.

VELNEO-7970

Mejora en la creación de carpetas en Velneo web

Cuando en estamos editando en Velneo Web y se usa la opción para crear una nueva carpeta, se abre la ventana para crearla, se establece el foco en la opción de escribir el nombre.

VELNEO-7941

Mejora en la ejecución con F5 aplicaciones desde Velneo Web

Cuando pulsamos F5 o ejecutamos aplicación desde la edición en Velneo Web, avisará si no hay instancia y lanzará el asistente de creación de instancia.

VELNEO-7938

Mejora en inspectores en edición en Velneo Web

Se implementa la opción de menú de contexto en losb otones de pestaña de los inspectores en edición en Velneo Web.

VELNEO-7874

Mejora en la edición de proyectos en Velneo Web

Cuando se creaba una carpeta u objeto nuevo en Velneo Web, en el árbol de proyectos no refrescaba el nombre o identificador hasta que se cambiaba de ítem. Ahora podremos ver que el refresco se realiza de forma correcta pudiendo ver los nombres de los objetos o identificadores actualizados.

VELNEO-6616

Mejora de la gestión de contraseñas en la edición de proyectos

Ahora nos solicitará contraseña cuando tratemos de abrir un objeto de un proyecto heredado que requiera de contraseña para ello, aunque antes no podíamos modificar, ahora tampoco podremos ver si no tenemos la contraseña.

VELNEO-6606

Mejora en edición en Velneo Web

Se evita incidencia en Velneo Web que se producía tras modificar el identificador de un objeto desde el inspector «dónde se usa».

VELNEO-6525

Mejora en la edición en el Asistente de fórmulas

En el Asistente de fórmulas no se activaban los comandos de cortar y copiar en el asistente cuando había contenido en el portapapeles.

VELNEO-9450

Actualizada la versión de las librerías de OpenSSL para Windows.

Ahora en Windows para las conesiones vatps se usa la versión 1.1,1k de las librerías de OpenSSL.

VELNEO-9354

Mejora del método append de la clase VRegisterList con el nuevo motor usando el comando Ejecutar sript

Se mejora el método append de la clase VRegisterList para que sea funcional en Ejecutar script con el nuevo engine javascript.

VELNEO-9117

Selección de componente y soporte de versión en Velneo Web

Se ha implementado en la página de acceso a Velneo Web la selección de componente, de edición o administración, que nos permite acceder a nuestro servidor y editar o administrar con el componente correspondiente.

Además, la página nos resuelve la selección de versión, siendo transparente totalmente, no necesita que indiquemos a qué versión nos queremos conectar para que se conecte con el componente en la versión correspondiente.

VELNEO-9059

Nuevas funciones de fórmula para comprimir y descomprimir cadenas

Las nuevas funciones de fórmula para comprimir stringCompress() y descomprimir stringUncompress() cadenas de texto nos permiten enviar, guardar y recibir información comprimida ocupando menos espacio y tardando menos en su transmisión. Por ejemplo, podremos usarlo en funciones remotas para enviar textos grandes o imágenes que hayamos convertido a base 64.

VELNEO-9049

Actualización del navegador integrado en Visor HTML y ayuda de componentes

El navegador que incorpora el Visor HTML y las ayudas integradas de los distintos componentes ha sido actualizado a la versión 80 de Chromium, más estable y con mejoras de rendimiento y seguridad. Entre otras mejoras encontraremos:

  • Reemplaza peticiones http por https cuando es posible.
  • Código Javascript puede comprimir usando streams.
  • Mejoras en soporte de cookies y soporte de css
  • Soporte de SVG para favicons
  • Fragmentos de texto: https://velneo.es/#:~:text=desarrollando aplicaciones empresariales
    • Esta url permite mostrar la página y subrayar el texto encontrado
  • Comienza a dejar de estar soportado el protocolo FTP.
  • Mejora en el acceso desde el navegador al disco
  • Mejoras de rendimiento en websockets: Linux: 7.5x más rápido, Windows: 4.1x, macos: 7.8x
  • Soporte de TLS 1.3 en todas las comunicaciones HTTPS.
  • Y muchas otras novedades más.

VELNEO-9042

Nuevas funcionalidades en el lenguaje QML

Entre las nuevas funcionalidades que podemos incorporar en QML están:

  • Componentes inline: Es posible declarar múltiples componentes QML en un fichero facilitando la reutilización de componentes y simplificando el despliegue.
  • Propiedades requeridas en componentes: Podemos definir que un componente requiera dar valor a propiedades para que sea correcto su funcionamiento.

Estas novedades facilitan la reutilización de los componentes que hemos diseñado.

VELNEO-8951

API de Velneo de vista única para JavaScript

Nueva clase VDataView, equivalente a la clase VDataViewDialog, pero que muestra objetos de ficha o de lista de interfaz en modo vista. De esta forma, podemos elegir en tiempo de desarrollo, mediante el api, si el interfaz visual que queremos desplegar, se va a ver en modo modal, que bloquea el interfaz, o en una vista más del marco, que permite al usuario ver la vista y seguir trabajando en otras vistas al mismo tiempo.

VELNEO-8930

Actualización de certificados en compilaciones macOS e iOS

Se actualizan los certificados de firma de software con los nuevos certificados Apple Worldwide Developer Relations certificate, para una mayor seguridad en la distribución de las instalaciones de macOS e iOS.

VELNEO-8922

Nuevas funciones para gestión de JSON en el API de Velneo para JavaScript.

Creadas funciones en el API para VRegister, VRegisterList y VRoot equivalentes a los comandos de instrucción de JSON.

  • VRegister
    • toJson ( aszIDs ): genera un JSON a partir de un registro.
    • fromJson ( szJson ): permite modificar el valor de múltiples campos de un registro a partir de los datos contenidos en un objeto JSON.
  • VRegisterList
    • toJson ( aszIDs ): genera un JSON a partir de una lista.
  • VRoot
    • registerFromJson ( szJson, nTipoOp, szTabla, szIndice ): recibe como parámetro un objeto JSON para crear o modificar un registro o una lista de registros, el tipo de operación, la tabla y el índice.

VELNEO-8915

Nuevo comando de instrucción de proceso Crear o modificar lista desde JSON

Nuevo comando de instrucción de proceso Crear o modificar lista desde JSON, que nos permite o bien modificar, o bien dar de alta una lista de registros en una tabla a partir de un JSON, lo que facilita al desarrollador la gestión de información JSON y, que combinado con el nuevo comando Generar JSON desde lista, facilita la importación y exportación de ficheros JSON en tablas de Velneo.

VELNEO-8914

Nuevo comando de instrucción de proceso Generar JSON desde lista

Nuevo comando de instrucción de proceso Generar JSON desde lista que convierte una lista de registros de una tabla en un array de JSON en base al estándar RFC-4627, permitiendo definir si se incluyen todos o algunos campos, lo que facilita en gran medida el trabajo de generar JSON a partir de registros y que, combinado con el comando Crear o modificar lista desde JSON facilita la importación y exportación de información JSON en tablas de Velneo.

VELNEO-8892

Soporte de PDF desde fichero y web en Visor HTML en vClient y otros componentes con navegadores incrustados.

Permite mostrar en el Visor Html un pdf indicando la url, en disco con file://, en web directamente https://… En el menú de contexto se permite imprimir el pdf y generar pdf a partir del pdf. En el menú principal se muestra el título del documento, el número de paginas y una opción de recarga.

VELNEO-8881

Nueva funciones de fórmula de API de Velneo nativas:

getMainObjectId(): devuelve el identificador del objeto principal que se está ejecutando.

getMainObjectName(): devuelve el nombre del objeto principal que se está ejecutando.

getMainObjectType(): devuelve el tipo del objeto principal que se está ejecutando.

getParentOjbjectId(): devuelve el identificador del objeto padre que contiene el objeto en curso.

getParentOjbjectName(): devuelve el nombre del objeto padre que contiene el objeto en curso.

getParentOjbjectType(): devuelve el nombre del objeto padre que contiene el objeto en curso.

getPathObjectIds(): devuelve una cadena separada por comas con los identificadores de todos los objetos desde el objeto principal hasta el objeto en curso.

getPathObjectNames(): devuelve una cadena separada por comas con los nombres de todos los objetos desde el objeto principal hasta el objeto en curso.

getPathObjectTypes(): devuelve una cadena separada por comas con los nombres de todos los objetos desde el objeto principal hasta el objeto en curso.

VELNEO-8708

Nuevas funciones de fórmulas del grupo API, que nos permiten obtener información del objeto en curso:

getCurrentObjectID(): devuelve el identificador del objeto en curso.

getCurrentObjectName(): devuelve el nombre del objeto en curso.

getCurrentObjectTableID(): devuelve el identifcador de la tabla asociada al objeto.

getCurrentObjectTableName(): devuelve el nombre plural de la tabla asociada al objeto.

getCurrentObjectTableSingleName(): devuelve el nombre singular de la tabla asociada al objeto.

getCurrentObjectType(): devuelve el tipo de objeto.

Con estas funciones facilitamos el acceso a información sobre el objeto en curso que podemos usar en el formulario, la rejilla, el proceso, etc., para mostrar información al usuario o guardar información de log, de forma sencilla y rápida, evitando usar javascript para estas operaciones.

VELNEO-8682

Nuevo runtime para componentes en Windows

Con el fin de una mejor integración y rendimiento de los componentes en Windows, se actualiza el runtime de los componentes a la última versión del sistema operativo Windows.

VELNEO-8655

Nuevas opciones para mostrar objetos en vista en el grupo de Comandos de Objeto

Los nuevos parámetros en el comando de instrucción de proceso Crear manejador de objeto nos permiten configurar si queremos abrir un objeto de interfaz de ficha o de lista en modo vista o en modo cuadro de diálogo y darle un título a la vista generada, con lo que al finalizar la ejecución del proceso quedarán abiertos en vista los diferentes objetos abiertos durante la ejecución del proceso, sobre los que el usuario final podrá operar, lo que permite al programador aumentar las funcionalidades de su aplicación.

VELNEO-8651

API de Velneo para JavaScript: nuevas funciones para leer y escribir los estilos de los objetos:

style( estilo ): devuelve true si el objeto contiene el estilo o los estilos que le pasamos como parámetro.

styles( ): devuelve un array con los estilos posibles de un objeto.

styles( nTipoObjeto ): devuelve un array con los números de los estilos posibles de un tipo de objeto.

stylesNames(): devuelve un array con los nombres de los estilos posibles de un objeto.

stylesNames( nTipoObjeto ): devuelve un array de cadenas con los nombres de los estilos del tipo de objeto que se le pase como parámetro.

VELNEO-8408

Actualización de librerías Qt 5.15.2

Se actualizan las nuevas librerías Qt 5.15.2, versión en curso más estable de Qt, con el fin de mejorar la integarción y el rendimiento en los distintos sistemas operativos: Windows, Linux, macOS, Android e iOS.

VELNEO-7999

Soporte de detección de cambios en multi-idioma en Repositorios

Repositorios muestra ahora cambios en cualquier etiqueta en cualquiera de los idiomas definidos en nuestros proyectos, lo que permite al desarrollador conocer los cambios que existen con el repositorio con el fin de recibir o enviar los cambios correspondientes.

VELNEO-7990

Activado bloque de información en edición en Velneo Web

Activada la sección de información en la página de inicio en la edición en Velneo Web con el fin de que también en este entorno estemos informados de las últimas noticias del mundo Velneo.

VELNEO-7908

Nuevas Funciones JavaScript de la clase VRegister y vRoot para generar JSON o importar JSON

En la clase VRoot, tenemos la nueva función registerFromJson() que recibe como parámetro un objeto JSON para crear o modificar el registro, el tipo de operación, la tabla y el índice. Equivale al comando de instrucción de proceso crear o modificar ficha desde JSON.

En la clase VRegister, tenemos las nuevas funciones fromJson() que permite modificar el valor de múltiples campos de un registro a partir de los datos contenidos en un objeto JSON, y toJson(), que convierte un registro de una tabla en un objeto JSON debidamente formateado, permitiendo definir si se incluyen todos o algunos campos.

VELNEO-7669

Mejora en grabImage de QML

Resuelta incidencia que provocaba que no funcionase la función grabImage en ítems de QML incrustado.

VELNEO-7192

Rejillas avanzadas implementadas en Web, iOS y Android

Ahora podemos disfrutar aún más de las rejillas avanzadas: podemos editar rejillas avanzadas en Velneo Web, y mostrarlas y usarlas con gestos en iOS y Android, con lo que damos todavía más funcionalidad a nuestras aplicaciones en móviles.

VELNEO-4525

Mejora en la gestión de plurales en tablas heredadas

Se mejora la gestión de plurales para que la ejecución de procesos en tercer plano que cargan plurales de una tabla de una solución heredada, devuelva los plurales tras reiniciar la solución heredada.

VELNEO-4172

Mejora en la gestión de maestros de extensión

Se mejora la gestión de enlaces a maestro de extensión para reconectar los maestros cuando se reinicia una solución sin reiniciar la solución que la hereda.

VELNEO-2628

Implementación del soporte del Protocolo IPv6 en Velneo vServer

Velneo vServer soporta el acceso por IPv6, esto quiere decir que podemos hacer uso de redes con definiciones en IPv6 como alternativa al uso de IPv4, lo que permite desplegar tus aplicaciones en entornos que admiten mayor número de direcciones de las hasta ahora soportadas por IPv4 y que en el momento actual se están agotando. IPv4 admitía únicamente 4 294 967 296 direcciones (2^32^), mientras que IPv6 supera ese límite y llega a 340 282 366 920 938 463 463 374 607 431 768 211 456 direcciones (2^128^).

También, todos los componentes de Velneo admiten la posibilidad de definir conexiones a servidores por ip usando IPv6: vatps://[::1]:690 nos permite, por ejemplo, conectarnos a localhost como hacíamos hasta ahora con vatps://127.0.0.1:690.

VELNEO-7227

Mejora en modo Servidor de Velneo vModApache

La variable CONTENT_TYPE retorna el tipo de dato cuando ejecutamos un proceso a través de vModApache en modo server.

VELNEO-9113

Mejora en cálculos de informes personalizables

Resuelta incidencia que provocaba que un cálculo que se inicializaba al comienzo del informe y mostrado en el pie de página, cuando había agrupamientos, mostraba valores incorrectos.

VELNEO-8932

Informes personalizables Forzar salto de página en Encabezado de informe

La nueva propiedad para forzar un salto de página tras la impresión de la sección de encabezado de informe nos permite que el encabezado se imprima en una página distinta, previa al resto del informe, con el fin de dar más opciones al diseñador el informe.

VELNEO-8689

Mejora de cabeceras de informe personalizable

Se mejora el sistema de impresión para que cuando una sección de cabecera de informe personalizable tiene una altura aproximada de la página, no imprima únicamente la primera página.

VELNEO-7245

Mejora en fórmulas tipo fecha en Informes personalizables

Resuelta incidencia en informes personalizables que hacía que no se mostrase nada en campos de informes con la propiedad “Tipo de datos” con valor “fecha” y que no estaban alimentados directamente por un campo de tipo fecha sino por fórmulas que devolvían un dato de tipo fecha.

Ahora, los campos que se alimentan con una fórmula tendrán el mismo comportamiento que si se alimentan con un campo de ese tipo.

VELNEO-9129

Mejora en la gestión de procesos web en Velneo vServer

Resuelta incidencia que provocaba un error en la ejecución del servidor al ejecutar desde Velneo vModApache un proceso JavaScript en tercer plano que usaba las funciones inputTable() y/u outputTable() de la clase VObjectInfo cuando se reiniciaba el proyecto de datos y no el de aplicación.

VELNEO-9025

Resuelta incidencia relacionada con la ejecución de procesos transaccionales de más de 30 minutos en 4º plano o como tarea programada

Un proceso transaccional que duraba más de 30 minutos y que era ejecutado o bien en 4º plano o bien como tarea programada, provoca un error de ejecución en el servidor a los 30 minutos de ser lanzado.

VELNEO-8931

Mejora en procesos javascript con VRegisterList vacíos

Cuando el programador no comprueba que la lista está vacía antes de operar, evitamos que si trata de operar sobre ese VRegisterList vacío, provoque un error, lanzando una excepción previa que evita romper el proceso cliente o servidor en el que se esté ejecutando.

VELNEO-8119

Optimización de refresco de procesos en 3 plano

Se ha optimizado la gestión del refresco de información, refresco terciario, tras la ejecución de procesos en 3º plano, mejorando el rendimiento de las operaciones de refresco de información modificada.

Esta mejora se nota más, cuantos más proyectos de datos, ya que elimina los tiempos de latencia de las comunicaciones por cada uno de los proyectos en el envío de la información. Esta mejora se aplica cuando trabajamos contra servidores de la versión en curso y, aunque mantiene la compatibilidad con servidores de versiones anteriores, no estará optimizada en ese caso.

VELNEO-8099

Mejora en las condiciones de una actualización en tablas en memoria con variables globales

Cuando creábamos una actualización entre dos tablas en memoria y usábamos una variable global (tanto en disco como en memoria) para condicionar la actualización, ésta se disparada siempre, se cumpla o no la condición.

Ahora podemos condicionar dichas actualizaciones con el uso de variables en memoria y/o en disco para condicionar la actualización y se aplicará el valor real en todas las fórmulas de la actualizacion.


VELNEO-7613

Mejora en la regeneración de índices cuando por error de programación no se incluye campo ID

A la hora de regenerar índices, se verifica que el campo ID exista cuando hay una clave única que sea ID. Si no es así, lanzamos una excepción con un mensaje indicando el error, a la par que se registrará con los “Mensajes del sistema” de Velneo vAdmin.
Además, si desaparece el campo ID de una tabla (excepto históricas y maestros de extensión), se reflejará en el inspector de errores.

VELNEO-7375

Mejora en las funciones de VImage del API de Velneo para javascript

Mejoras en las funciones de la clase VImage save(), loadFromData(), saveToData() y load() para que el formato especificado se aplique siempre correctamente.

VELNEO-4107

Mejora en condición de actualización

En actualizaciones se implementa el uso de variables locales de la tabla, inicializados en un trigger previo al evento de tabla (alta, baja o modificación).

VELNEO-8721

Errata en comando de instrucción Ejecutar script (filescript)

Comando de instrucción de proceso Ejecutar script (filescript): se ha corregido el nombre del parámetro donde se debe especificar el script.

VELNEO-8069

Nueva solución cuando no estamos conectados en Velneo Web

Cuando no estamos conectados a un servidor por un error en las credenciales, esta opción nos redirigirá de forma automática a la página de login de Velneo vDevelop Web, con el fin de facilitar la reconexión al servidor.

VELNEO-7909

Rejillas: resuelta incidencia con la navegación por campos con botones arriba y abajo de rejillas editables

En columnas de rejillas editables con navegación (edición de maestro, fecha, numérico) la combinación de teclas control + flecha arriba/abajo retrocedía/avanzaba 10 posiciones y en controles de nombre de edición de maestro navegaba por los datos de forma anómala. Ahora lo hace de 1 en 1.

Cloud

Código Descripción

VCLOUD-474

Mejoras de seguridad y rendimiento en Velneo Cloud

Se aplican parches de seguridad y actualizaciones a la infraestructura que hospeda el panel de control Cloud y Velneo Cloud Api.

VCLOUD-468

Mejoras del arranque de Unidades de recursos (URC) en Velneo Cloud

Se mejora el procedimiento de arranque de unidades de recursos (URC) de Velneo Cloud con el fin de evitar errores.

VCLOUD-462

Lectura y escritura en disco hasta 3 veces más rápido en Velneo Cloud

Se ha implementado una mejora en los discos del servicio de Velneo Cloud que proporcionan un mejor rendimiento en el acceso a disco, tanto para escritura como lectura, sobre todo en el acceso aleatorio, el más habitual en servidores multi-hilo, obteniendo una aumento en la velocidad de acceso de hasta 3 veces más rápida.

VCLOUD-455

Nuevas opciones para la gestión de instancias de datos en Velneo Cloud API

En Velneo Cloud Api ahora es posible asignar permisos a las instancias de datos conociendo su Id, con el fin de facilitar el despliegue dinámico de aplicaciones, desde una tienda web o similar.

VCLOUD-442

Mejora de los sistemas de monitorización de URC de Velneo Cloud

Hemos actualizado y mejorado nuestros sistemas internos de monitorización. Ahora además de usar la última versión de la herramienta hemos mejorado los scripts que obtienen los datos de las URCs para minimizar el consumo de recursos y por ende, mejorar el rendimiento de las máquinas host.

vERP y Apps

Código Descripción

VERP-970

API Rest. Error en el título de la transacción de modificación de fichas en el script v1.js

En el script v1 del proyecto de datos de vERP es incorrecto el título que se asigna a la transacción que se genera al modificar registros.

Se ha modificado esta línea:

theRoot.beginTrans(«API REST. Modificación de registros en la tabla » + uriObjeto.tabla);

VERP-815

API Rest. Documentación en Swagger de procesos accesibles web por método POST

Ahora los procesos accesibles web por método POST, ya aparecen documentados en el Swagger.

Objetos modificados:

-Proceso JavaScript swagger.js

VERP-812

API Rest. Posibilidad de cruzar y quitar listas.

A partir de esta versión ya es posible quitar listas filtradas además de cruzarlas.

Actualmente, para cruzar una lista desde el API había que introducir un “-” en el filtro para cruzar, ahora, si queremos quitar una lista, debemos añadir el caracter “¬” (ALTGR + 6)

VERP-736

API Rest. Errores en lista.size() “undefined”

Hemos mejorado la gestión de objetos “undefined” para optimizar las comunicaciones y retornos de objetos en los casos donde la lista mostraba este error en vAdmin.

Objetos modificados:

  • Proceso JavaScript v1.js

VERP-585

API Rest. API key por cabeceras

Hemos añadido la posibilidad de pasar el api_key por cabeceras según las necesidades de cada API, añadiendo al setHeader “Access-Control-Expose-Headers:X-API-Key»

Procesos modificados:

  • Proceso JavaScript v1.js

VERP-332

API Rest. Formateo de errores en API rest

Hemos revisado todos los mensajes de error para que devuelvan la información en JSON.

Objetos modificados:

  • Proceso JavaScript v1.js

VERP-132

API Rest. Swagger actualizada a la versión 3.0

Hemos adaptado la documentación del API Rest de Velneo con la nueva interfaz de Swagger.

Además de varias ventajas de la nueva interfaz, hemos aportado una serie de mejoras y nuevas funcionalidades que detallamos a continuación:

Doble factor de validación

Tras mostrarse la interfaz de Swagger, es necesario conocer el nombre de la API y asignarla a la variable “api_name”. Una vez comprobada su validez, se mostrarán los recursos disponibles y será necesaria la validación del “api_key” para usarlos.

Información del API Rest configurable

Los textos que se muestran en la pantalla inicial del API Rest, son obtenidos de la pestaña “Comentarios” del proyecto.

Una vez validado con un api_name, la información será sustituida por la que exista en las observaciones de la tabla del API.

Información de las tablas configurable

La información adicional mostrada en las tablas, procesos y/o búsquedas es obtenida desde el campo “Comentarios” de cada tabla.

Métodos append, cross y delete para los filtros

Hemos modificado el comportamiento del filtrado para que por defecto, realice un {cross} (cruce de registros). Por ejemplo, si filtramos por los artículos que contengan la palabra “cámara” y como segundo filtro le asignamos que la familia sea “A01”, nos devolverá las cámaras cuya familia sea A01.

https://midominio.velneo.net/verp-api/vERP_2_dat_dat/v1/art_m?fields=id,name,fam&filter[words=camara&filter[fam]=A01&api_key=apideejemplo|https://midominio.velneo.net/verp-api/vERP_2_dat_dat/v1/art_m?fields=id,name,fam&filter[words]=camara&filter[fam]=A01&api_key=apideejemplo]

Hemos añadido el método {add} para que en el mismo ejemplo sume los registros que contengan la palabra cámara a los que contengan la familia A01.

https://midominio.velneo.net/verp-api/vERP_2_dat_dat/v1/art_m?fields=id,name,fam&filter[words=camara&filter[fam{add}]=A01&api_key=apideejemplo|https://midominio.velneo.net/verp-api/vERP_2_dat_dat/v1/art_m?fields=id,name,fam&filter[words]=camara&filter[fam]=A01&api_key=apideejemplo]

Hemos añadido el método {delete} para que en el mismo ejemplo quite los registros que contengan la familia A01 dejando solo los que contengan la palabra “cámara” y no sean de la familia A01.

https://midominio.velneo.net/verp-api/vERP_2_dat_dat/v1/art_m?fields=id,name,fam&filter[words=camara&filter[fam{delete}]=A01&api_key=apideejemplo|https://midominio.velneo.net/verp-api/vERP_2_dat_dat/v1/art_m?fields=id,name,fam&filter[words]=camara&filter[fam]=A01&api_key=apideejemplo]

Agrupamiento de recursos por tags

Todos los recursos mostrados por el API Rest (tablas con sus métodos, procesos y búsquedas) son agrupados por nombre de tabla y pueden mostrarse y/o ocultarse.

Mejoras de interfaz

La nueva interfaz permite añadir mediante botones más usables los parámetros de búsqueda, nuevos botones para copiar la llamada y la respuesta del API, …

Mejoras del API

Hemos mejorado varias peticiones mencionadas en otras incidencias anteriores y se han optimizado llamadas, funciones y parametrizado las respuestas de error.

Objetos modificados:

-Ficheros swagger.js, v1.js y api_rest_funciones_v1.js

-Tabla API_KEY_W. Modificado el índice NOM como clave única.

VERP-39

API Rest. Control de permisos en Swagger para los booleanos PRO_TOD (Todos los procesos) y BUS_TOD (Todas las búsquedas)

Ahora es posible mostrar en Swagger los procesos “sin tabla” marcando el check “Todos los procesos” de igual forma con las búsquedas.

Objetos modificados:

  • Proceso JavaSript api_rest_funciones_v1.js

VERP-1007

Contabilidad. Nueva opción de validación de cuentas en informes balance de situación y cuenta de pérdidas y ganancias

Para facilitar el trabajo a los contables se ha añadido la opción de validar las cuentas de los informes contables como el balance de situación y la cuenta de pérdidas y ganancias en función de un script JavaScript que permite que sea dinámico y se pueda ajustar para cada informe y situación. Esto permite que ante alteraciones del plan de cuentas tengamos de forma sencilla, en el botón opciones del diseño del informe (primer nivel), la posibilidad de saber qué cuentas no están bien asignadas (tanto por no estar añadida, como por estar añadida incorrectamente) en el informe correspondiente.

Objetos nuevos

  • Proceso Velneo DIS_INF_C_EXE_SCR
  • Proceso Velneo PGC_C_DIS_INF
  • Proceso JavaScript SCR_W_DIS_INF_EXE
  • Script JavaScript en directorio del proyecto de aplicación Dis_Inf_EjecutarScript.js
  • Script en fichero de scripts DIS_INF_VAL
  • Constante ERR_VAL_CTA_NO_INC. Revise la lista de cuentas que no están bien asignadas al informe.
  • Constante ERR_VAL_DIS_INF. Errores en la definición del informe.
  • Constante MSG_DIS_INF_VAL_OK. El diseño del informe está correcto.

Objetos modificados

  • Formulario DIS_INF_C.
    • Añadido evento VAL_INF.
    • Añadida acción insertada DIS_INF_C_VAL, incluida en botón Opciones.
    • Añadido campo de script de validación.
  • Tabla DIS_INF_C.
    • Añadido campo de script de validación.
    • Añadido campo booleano para identificar si es balance de situación o cuenta de pérdidas y ganancias.

VERP-1006

Contabilidad. Nueva opción en el balance de sumas y saldos que permite consultar un mes sin acumular los anteriores

Hasta ahora el balance de sumas y saldos acumulaba los meses anterior del ejercicio. La nueva opción permite elegir si lo queremos acumulado o particularmente ver el balance de sumas y saldos de un mes concreto sin acumulación de los meses anteriores.

Objetos modificados

  • Formulario SAL_C_MEN. Añadida variables y check sin acumulado SIN_ACU.
  • Tabla SAL_C. Modificada la fórmula de los campos SUM_DEB_BSS y SUM_HAB_BSS que se usan en las rejillas e informes para visualizar los datos del balance de sumas y saldos para que tenga en cuenta la nueva variable sin acumular para que utilice valores acumulados o lo del mes seleccionado.
  • Rejilla SAL_C. Modificas las columnas,

VERP-1005

Contabilidad. Añadidas rejillas avanzadas para consultar las facturas emitidas y recibidas aplicadas en el modelo 303

Ahora cuando estamos consultando un modelo tributario tenemos la posibilidad de revisar qué facturas emitidas y recibidas se han aplicado en dicho modelo, facilitando así la verificación de los datos que lo han originado.

Objetos nuevos

  • Rejilla avanzada FAC_EMI_FIC_REG_303.
  • Rejilla avanzada FAC_REC_FIC_REG_303.

Objetos modificados

  • Alternador FAC_EMI_C. Añadida rejilla avanzada.
  • Alternador FAC_REC_C. Añadida rejilla avanzada.

VERP-904

Contabilidad. Cálculo automático de importes en el desglose de vencimientos a cobrar y pagar

Hasta ahora en el formulario de desglose se podían escribir todos los importes a mano o pulsar los botones que hacían el reparto proporcional automático. Ahora además, si modificamos uno de los importes de los vencimientos manualmente se calculan automáticamente el resto de vencimiento para que cuadre el importe total del vencimiento desglosado.

Objetos modificados

  • Formulario VTO_COB_C_DES añadidos eventos de perdida de foco y seteo de variables, modificados eventos pulsa vencimientos y añadidas variables para recálculo
  • Formulario VTO_PAG_C_DES añadidos eventos de perdida de foco y seteo de variables, modificados eventos pulsa vencimientos y añadidas variables para recálculo

VERP-898

Contabilidad. Nueva opción de renumerar el número de asiento para el diario

En la toolbar del menú de asientos se ha añadido la opción de renumerar los asiento para el diario.

Objetos

  • Nuevos
    • Proceso ASI_C_REN_NUM_ASI_EJE_3P (en Verp_2_dat)
    • Acción ASI_REN_NUM_ASI insertada en ASI_C_MAS_INS_TAB
    • Acción APU_C_ASI_REN_NUM_ASI insertada en APU_C_MAS_INS_TAB
  • Modificados
    • Alternador ASI_C añadido evento y conexión para renumerar ASI_REN_NUM_ASI
    • Rejilla APU_C_DIA añadido evento y conexión para renumerar ASI_REN_NUM_ASI

VERP-897

Contabilidad. Numeración de asientos con contador anual para el diario

Los asientos internamente se numeran con el ID. Para la numeración en el informe diario, se numeran en el propio informe. La mejora consiste en que ahora se numeran comenzando en 1 cada ejercicio y ese número también se usará en la impresión del informe diario.

Objetos

  • Modificados
    • Tablas ASI_C
      • En el trigger anterior al alta se comprueba si está a 0 y se asigna el número.
    • Búsqueda ASI_C_ENT_FCH_CON
    • Formulario ASI_C_MEN

VERP-896

Contabilidad. Nueva opción duplicar asiento

En el formulario de asiento en el botón de opciones se ha añadido la opción duplicar asiento.

Objetos

  • Nuevos
    • Formulario ASI_C_DUP
    • Proceso ASI_C_DUP
    • Proceso ASI_C_DUP_3P
    • Acción ASI_C_DUP insertado en “ASI_C_OPC_INS_TAB”
  • Modificados
    • Formulario ASI_C añadido evento y conexión duplicar ASI_DUP

VERP-895

Contabilidad. Nueva opción de toolbar para imprimir asientos

En la toolbar del menú de asientos se ha añadido la opción de imprimir asientos, el informe es similar al del diario contable pero realizando la impresión sobre los asientos seleccionados.

Objetos programados

  • Nuevos
    • Informe VERP_ASI_C (Duplicado de diario)
    • Menú ASI_C_TLB_PRT
    • Acción ASI_C_PRT_VER
  • Modificados
    • Alternador ASI_C añadido evento y conexión imprimir ASI_PRT
    • Rejilla ASI_C modificada para multiselección
    • Toolbar ASI_C_TLB_PRT Añadido menú ASI_C_TLB_PRT

VERP-867

Contabilidad. Modelos tributarios. Actualización de scripts del modelo 347

Se han actualizado los scripts correspondientes al modelo tributario 347.

Scripts modificados

AEAT-347-CAL-DEC-EMI
AEAT-347-CAL-DEC-REC
GEN-FIC-TXT

VERP-792

SII: Error en SII cuando se declaraba una factura emitida como Rectificativa y el Tipo de Rectificativa por Sustitución (I)

Detalles en el soporte 88575

Objetos modificados:

Procesos: FAC_EMI_C_SII_GEN_XML y FAC_REC_C_SII_GEN_XML

VERP-549

Contabilidad. Optimización de procesos de contabilización de facturas de compras y ventas

Se han optimizados los procesos de contabilización de facturas de venta y compra, tanto desde ficha como lista, para realizar los procesos en tercer plano.

Objetos modificados:

  • Formulario VTA_FAC_G_ASI y COM_FAC_G_ASI. Manejador de evento BTN_CON
  • Alternador de lista VTA_FAC_G y COM_FAC_G. Manejador de evento CON
  • Procesos:
    • VTA_FAC_G_LST_CON
    • COM_FAC_G_CON_LST
    • VTA_FAC_G_CON
    • COM_FAC_G_CON
    • ASI_C_VRF
    • ASI_C_GEN_IVA_REP
    • ASI_C_GEN_IVA_SOP

Objetos eliminados

  • Procesos eliminados porque no se usan:
    • Eliminado ASI_C_GEN_IVA_REP_3P
    • Eliminado ASI_C_GEN_IVA_SOP_3P
    • Eliminado ASI_C_COP

VERP-617

vERP. Dashboard (cuadro de mando)

Nuevo dashboard inicial

Objetos modificados

  • Proyecto de datos
    • Tablas
      • APP_CFG_W
      • USR_M
      • COM_FAC_G
      • VTA_FAC_G
  • Proyecto aplicación
    • Formularios
      • USR_M_CFG
      • APP_CFG_W_DAT
      • APP_CFG_W_OPT
      • COM_PED_G_MEN
      • VTA_PED_G_MEN
      • VTO_PAG_C_MEN
      • VTO_COB_C_MEN
    • Procesos
      • CTL_CHG_VER
    • Marco
      • AUTOEXEC

Objetos nuevos

  • Proyecto de datos
    • Tablas
      • EST_TRB_G
      • EST_COB_PAG_T
    • Tablas estáticas
      • PER_E
    • Funciones
      • EST_TRB_ALT
      • EST_COB_PAG_ALT
    • Procesos
      • MIG_29_1
    • Iconos
      • DSH_G
  • Proyecto de aplicación
    • Formularios
      • DSH_G
      • DSH_G_PEQ_GEN
      • DSH_G_PEQ_COM
      • DSH_G_GRD_GEN
      • DSH_G_GRD_COM
      • DSH_G_TOP_VTA_CLT
      • DSH_G_TOP_VTA_ART
      • DSH_G_TOP_VTA_CMR
      • DSH_G_TOP_COM_PRV
      • DSH_G_RES
      • DSH_G_VTA_PED_PDT
      • DSH_G_COM_PED_PDT
      • DSH_G_COB_PAG
      • DSH_G_VAC
    • Procesos
      • EST_CLT_G_EJE_LST_VAC
      • EST_CLT_G_EJE_3P
      • EST_ART_G_EJE_LST_VAC
      • EST_ART_G_EJE_3P
      • EST_CMR_G_EJE_LST_VAC
      • EST_CMR_G_EJE_3P
      • EST_PRV_G_EJE_LST_VAC
      • EST_PRV_G_EJE_3P
      • EST_EJE_G_EJE_LST_VAC
      • EST_EJE_G_EJE_3P
      • EST_VTA_PED_PDT_EJE_LST_VAC
      • EST_VTA_PED_PDT_EJE_3P
      • EST_COM_PED_PDT_LST_VAC
      • EST_COM_PED_PDT_3P
      • EST_COB_PAG_G_LST_VAC
      • EST_COB_PAG_G_3P
    • Acciones
      • DSH_G
      • EST_TRB_G_INS_TAB
      • EST_TRB_G_INS
    • Alternadores de lista
      • EST_TRB_G
      • EST_TRB_G__INI
      • EST_TRB_G_FIN
    • Rejillas
      • EST_TRB_G
    • Rejillas Avanzadas
      • EST_TRB_G
    • Toolbars
      • EST_TRB_G
    • Cestas
      • COM_PED_G
      • VTO_PAG_C
      • VTO_COB_C
    • Gráficos
      • EST_ART_G_EJE_TAR
      • EST_CLT_G_EJE_TAR
      • EST_CMR_G_EJE_TAR
      • EST_EJE_RES
      • EST_PRV_G_EJE_TAR
      • EST_COB_PAG_G
      • VTA_PED_G
      • COM_PED_G

VERP-912

Ecosistema. vTPV. Aparecía un mensaje cuando pulsábamos el botón de código de barras del teclado. Tecla no funcional.

Hemos procedido a eliminar la tecla de códigos de barras del teclado ya que no es funcional.

Objetos modificados

Script QML: CalcTPV

Se sustituye el contenido de la línea 84:

ButtonCalc

{ width: grid.w; height: grid.h; operation: «PLU»; showText:false; iconImage:»\uf02a»/»gfx/barcode-icon.png»/ }

Por el contenido siguiente:

ButtonCalc

{ width: grid.w; height: grid.h; operation: «»; showText:false;}

VERP-909

Ecosistema. vKanban. Optimización procesos JSON

Hemos optimizado el componente vKanban aportando las mejoras aparecidas en la versión 28 de Velneo para el uso de JSON mediante las funciones nativas.

Esto ha permitido eliminar varios ficheros JavaScript y reduciendo y simplificando el tamaño de los procesos de generación del componente.

Proyecto de aplicación

  • Objetos nuevos
    • Función DEC_URI
    • Proceso JS DEC_URI
  • Objetos modificados
    • Formulario KAN_MEN: manejadores de evento BUS, GEN_DAT_COM y JS_EVE.
    • Acción KAN_TAR

VERP-906

Ecosistema. Agenda. Nueva versión vAgenda

En esta nueva versión del componente vAgenda del ecosistema de Velneo vERP, hemos añadido la posibilidad de definir los intervalos de tiempo asignando los minutos por defecto y que serán sumados a la hora inicial de la tarea.

También hemos añadido los tipos de calendario que podrán usarse para visualizar la agenda en función de los tipos definidos.

En los calendarios, ahora es posible asignar un responsable, el tipo de calendario, las fechas que estará operativo y los días de la semana operativos. Toda esta configuración será revisada al generar una nueva tarea.

En la configuración de la agenda, es posible seleccionar el calendario por defecto y se han añadido dos franjas horarias de descanso para controlar que no se introduzcan tareas en esas franjas y la posibilidad de visualizar en el visor de la agenda los dos próximos meses.

En las tareas, hemos añadido todos los controles antes mencionados así como nuevos campos como el estado del evento, aviso a cliente y la asignación de un contacto.

Finalmente, en la visualización del componente HTML de la agenda, ahora es posible visualizar un calendario o todos y visualizar los 2 siguientes meses en función de la configuración.

Proyecto de datos:

Objetos nuevos:

  • Tablas AGE_CAL_TIP y AGE_INT
  • Tabla estática AGE_EST_EVE
  • Dibujos AGE_EST_C, AGE_EST_P y AGE_EST_T

Objetos modificados:

  • Tablas AGE_CAL, AGE_CFG y AGE_EVE

Proyecto de aplicación:

Objetos nuevos:

  • Objetos de la carpeta Intervalos y Tipos de calendarios
  • Proceso AGE_CAL_CUR

Objetos modificados:

  • Formularios AGE_HTML, AGE_HTML_SCR, AGE_CAL, AGE_CFG, AGE_EVE
  • Acción AGE_HTML, AGE_HTML_SCR

VERP-1010

General. Mejorado el script de regeneración de todos los índices complejos para regenere también los de los proyectos heredados de forma abstracta

Ahora el script es capaz de regenerar todos los índices complejos de todos los proyectos heredados además del de vERP.

En el log de mensajes del servidor se han incluido los mensajes para saber cuando comienza y termina la regeneración y por qué tabla va y cuántas le quedan.

Objetos modificados

  • Marco AUTOEXEC manejador de evento PRE_INI (llamada a proceso CTL_CHG_VER ahora se hace en 3º plano)
  • Script velneoRegenIndicesComplejos.js
/* 
 * Regenerar todos los índices complejos
 * de todos los proyectos de datos (incluyendo los heredados)
 */

alert("<---------- INICIO DE REGENERACIÓN DE ÍNDICES COMPLEJOS ---------->");
var proyectoInfo = theApp.mainProjectInfo();
var totalIndicesComplejos = proyectoInfo.allObjectCount(VObjectInfo.TypeComplexIndex);
for (var i = 0; i < totalIndicesComplejos; i++) {
	var indiceComplejoInfo = proyectoInfo.allObjectInfo(VObjectInfo.TypeComplexIndex, i);
	alert("Regenerando índice complejo " + (i + 1) + " de " + totalIndicesComplejos + " : " + indiceComplejoInfo.idRef());
	theApp.regenComplexIndex(indiceComplejoInfo.idRef(), false);
}
alert("<---------- FIN DE LA REGENERACIÓN DE ÍNDICES COMPLEJOS ---------->");

VERP-879

vERP. General. Al aceptar cambios en la configuracion de empresa, se refrescan las variables globales necesarias

Cuando se acepta el formulario de empresa, si han ocurrido cambios en los parámetros de configuracion se refrescan las variables globales que fueron afectadas

Objetos modificados

  • Proyecto aplicación
    • Formulario EMP_M

VERP-875

vERP. General. Ejecutar una única vez el script de personalización en el formulario de Articulo (ART_M)

Se modifico el formulario ART_M (Artículos) para que solo ejecute una única vez el script de personalización

Objetos modificados

  • Proyecto de aplicación
    • Formulario ART_M

VERP-846

General. La lectura diaria de los cambios de divisas automatizado se realiza con el API de Bloomberg

Se ha sustituido la funcionalidad de actualización de conversión de divisas Cambio.Today por el API de Bloomberg porque desde hace algún tiempo Cambio.Today no actualizaba su información.

Objetos eliminados

Todos los objetos relacionados con Cambio.Today. Esos objetos tenían el prefijo y/o el sufijo VCT_ del proyecto de aplicación y proyecto de datos. Incluído la carpeta de scripts vCT

Objetos modificados

  • Eliminadas de las variables globales el prefijo VCT_ en aquellas que comenzaban por VCT_
  • Modificado el informe el informe Factura de venta Dolar (USA) cuyo identificador es VRP_VTA_FAC_DOC_USD para que haga referencia en sus controles a la función modificada.
  • Modificados objetos que tenían el prefijo y/o el sufijo VCT_ y se han cambiado por BLB_
  • Modificada la longitud del campo que contiene el api key de Bloomber en la tabla APP_CFG_W debido a que la longitud del api key es mayor en Bloomberg.
  • Adaptado el formulario APP_CFG_W_BLB al contenido de Bloomberg para su configuración.

Objetos añadidos

  • Añadida carpeta Bloomberg en el proyecto de datos carpeta Recursos/Bloomberg con funciones y procesos.
  • Añadida la carpeta de scripts Bloomberg en el proyecto de datos.

Es necesario la adquisición de una api key para el funcionamiento de Bloomberg en vERP. Puedes conseguirla gratis con un número de peticiones limitadas en la siguiente URL:

https://rapidapi.com/apidojo/api/bloomberg-market-and-financial-news

Para la actualización diaria de las cotizaciones de las monedas configuradas como actualizables, se dispone de un proceso en el proyecto de datos que debes de ejecutar mediante una tarea con ejecución diaria en el servidor.

Este proceso se llama: TAR_ACT_CHG_DIV_SRV (Tarea: Actualizar cambios de divisas)

Debemos de tener configuradas al menos dos monedas con el check ‘Importar divisas’. Por ejemplo EUR y USD

VERP-827

General. Durante la importación de contactos de tipo cliente y/o proveedor no se asignaba de forma correcta el ID de la cuenta auxiliar generada

Objetos modificados

Proceso: ENT_M_ALT_MOD_AUX

VERP-808

Desarrollo. Estabilidad. Modificar sistema importación/exportación de JSON para que no utilice el número de versión

Se modifica el sistema de importación/exportación de JSON para evitar el uso del nro de versión, de esta manera facilitar el uso de los ficheros de cualquier versión superior

Objetos modificados

  • Proyecto de aplicación
    • Alternador de vista
      • API_KEY_W
      • AUX_C
      • AYU_W
      • BCO_C
      • CBA_CNC_C
      • CSS_INC_W
      • CSS_INC_W_DES
      • CSS_W
      • DIS_INF_C
      • DIV_M
      • DOC_TIP_M
      • EML_PLA_W
      • FPG_M
      • INF_DEF_W
      • MON_M
      • PAI_M
      • PGC_C
      • PLA_ASI_C
      • PLF_W
      • PLF_W_MEN
      • PRM_DIC_W
      • PRS_MEN_W
      • PRS_OBJ_W
      • REM_NOR_C
      • SCR_INC_W
      • SCR_INC_W_DES
      • SCR_W
      • SER_M
      • TEM_W
    • Multi-vista
      • PGC_C
    • Procesos
      • DES_DAT_JSO
      • GEN_DAT_TAB
  • Proyecto de datos
    • Script
      • js/database/velneoExportarJSON.js

VERP-106

General. Menú dinámico. Nueva funcionalidad para aplicar permisos desde una opción a sus opciones de menú hijas.

Objetos modificados

  • Formulario PRS_MEN_W, manejador de eventos BTN_ACE_PRO

VERP-1009

Tesorería. Modificado el título de cabecera de las columnas nº documento por nº factura

Para facilitar la comprensión del dato y con el fin de evitar confusiones con el nº de documento de cobro o pago que se graba manualmente, se ha cambiado .

Objetos modificados

  • Todas las rejillas y rejillas avanzadas de cobros y pagos.
    • Modificado título de cabecera que ponían nº documento por nº factura.
    • Se ha añadido la columna nº documento con el valor del campo nº documento que se graba manualmente.

VERP-1008

Tesorería. Añadido el nº de documento de pago en las órdenes de pago para cheques y pagarés

Se ha añadido la posibilidad de grabar el número de documento de pago en las órdenes de pago para contemplar esta casuística en cheques y pagarés. Además, se ha incluido esta información en todos los formularios y rejillas, a la vez que para evitar confusiones a la actual columna número de documento se le ha cambiado el texto por número de factura que es el valor al que corresponde, para diferenciarlo del nº de documento de pago que se graba manualmente.

Objetos modificados

  • Tabla PAG_C.
    • Actualización a VTO_PAG solo actualiza NUM_DOC_PAG si tiene valor. Esto eliminar el error que había anteriormente que sobre escribía el número de documento.
    • Variable global REM_NUM_DOC_PAG.
    • Formulario REM_PAG_C_ALT.
      • Añadido campo de edición alfabético para la variable local NUM_DOC_PAG_MAN.
      • Modificado evento BTN_ACE_PRE. Se pasa valor a variable global en memoria.
    • Alternadores:
      • VTO_PAG_C
      • VTO_PAG_C_AUX
      • VTO_PAG_C_COM_FAC
        • El evento REM_ALT. Modificado para enviar el nuevo número de documento manual asignado desde el formulario REM_PAG_C_ALT.
    • Procesos:
      • VTO_PAG_C_REM_ADD
      • VTO-PAG_C_OPE_CON
      • VTO_PAG_C_AGR
        • Modificado para poner nuevo número de documento manual asignado desde el formulario REM_PAG_C_ALT.
    • Rejilla VTO_PAG_C_REM. Cambiado en cabecera nº documento por nº factura y añadida columna nº documento con el nuevo dato que se graba manualmente.

VERP-1004

Tesorería. Mejorada la función desagrupar en cobros y pagos

Se ha mejorado la función desagrupar tanto en cobros como en pagos para que funcione en todos los casos, ya que anteriormente había casos en los que era necesario realizar manualmente los cambios para deshacer un agrupación.

Objetos nuevos

  • Cobros.
    • Proceso VTO_COB_C_DSG_AGR
    • Acción VTO_COB_C_OPE_DSG_AGR
  • Pagos.
    • Proceso VTO_PAG_C_DSG_AGR
    • Acción VTO_PAG_C_OPE_DSG_AGR

Objetos modificados

  • Cobros.
    • Toolbar VTO_COB_C_TLB_MAS. Añadida acción desagrupar VTO_COB_C_OPE_DSG_AGR.
    • Alternador VTO_COB_C. Añadido evento y conexión para desagrupar DSG_AGR.
  • Pagos.
    • Toolbar VTO_PAG_C_TLB_MAS. Añadida acción desagrupar VTO_PAG_C_OPE_DSG_AGR.
    • Alternador VTO_PAG_C. Añadido evento y conexión para desagrupar DSG_AGR.

VERP-1003

Tesorería. Permitir agrupar vencimientos a cobrar o pagar cuya suma total sea cero

Ahora ya es posible agrupar vencimientos cuya suma total de cero. Esto se utiliza para cancelar vencimientos positivos con otros negativos. Se aplica tanto en cobros como en pagos. Al ser importe cero no se genera un vencimiento nuevo agrupado.

Objetos modificados

  • Cobros.
    • Formulario VTO_COB_C_AGR. Modificado el evento BTN_ACE_PRE permitiendo el importe cero, se elimina la verificación. Se excluye la verificación de variables no necesarios ya que no se genera el vencimiento, por lo que se ocultan los campos que no son necesarios.
    • Proceso VTO_COB_C_AGR. Modificado que no se genere vencimiento agrupado si el importe es cero.
    • Alternador VTO_COB_C. Modificado evento AGR. No pide formulario ni ejecuta contabilización en el caso de que el importe sea cero.
  • Pagos.
    • Formulario VTO_PAG_C_AGR. Modificado el evento BTN_ACE_PRE permitiendo el importe cero, se elimina la verificación. Se excluye la verificación de variables no necesarios ya que no se genera el vencimiento, por lo que se ocultan los campos que no son necesarios.
    • Proceso VTO_PAG_C_AGR. Modificado que no se genere vencimiento agrupado si el importe es cero.
    • Alternador VTO_PAG_C. Modificado evento AGR. No pide formulario ni ejecuta contabilización en el caso de que el importe sea cero.

VERP-899

Contabilidad. Añadida la búsqueda por documento en los vencimientos a cobrar y pagar

En el menú de cobros y pagos se ha añadido la opción de buscar por el nº de documento.

Objetos modificados

  • Formulario VTO_COB_C_MEN añadido campo de búsqueda Nº de documento, añadida variable NUM_DOC y modificado evento BUS envía variable NUM_DOC objeto
  • Búsqueda VTO_COB_C añadido componente de búsqueda NUM_DOC por el índice de trozos PARTS.
  • Formulario VTO_PAG_C_MEN añadido campo de búsqueda Nº de documento, añadida variable NUM_DOC, y modificado evento BUS envía variable NUM_DOC objeto
  • Búsqueda VTO_PAG_C añadido componente de búsqueda NUM_DOC por el índice de trozos PARTS

VERP-916

Gestión. Al abonar una factura que contiene múltiples albaranes, genera tantos albaranes rectificativos en 0 como albaranes tenga facturados.

Cuando tenemos una factura que agrupa varios albaranes, y abonamos dicha factura, se genera un primer albarán con todas las líneas acumuladas, pero también genera un albarán rectificativo vacío adicional por cada albarán que este contemplado en la factura

Objetos modificados

  • Proyecto de aplicación
    • Formulario VTA_FAC_G_ABO
    • Formulario COM_FAC_G_ABO

VERP-905

Contabilidad. Inmovilizado. Seleccionar cuentas en el formulario de inmovilizado ya es funcional

En los controles de cuentas de mayor de la pestaña de contabilidad de un inmovilizado ya es funcional la subindexación por cuenta de mayor.

Objetos modificados

  • Formulario INM_C_CON, se cambia en los controles de edición de cuentas de mayor (PGC_INM, PGC_AMO y PGC_AMO_ACU) la fórmula del contenido para que apunte al campo puntero a maestro añadiendo el campo código (.ID). De esta forma es posible seleccionar el índice ID_CTA_MAY para que solo deje seleccionar cuentas de mayor, evitando que aparezcan grupos y subgrupos.

VERP-887

vERP. Gestión Documental. AWS-S3 Corregido para que suba ficheros que contiene espacios en el nombre

Se ha modificado el proceso de subida de documentos adjuntos para que cuando contenga espacios en blanco, primero se renombra el fichero y luego se sube

Proyecto de aplicación

  • Objetos modificados
    • Formulario DOC_W

VERP-883

vERP. Contabilidad. Correcciones al contabilizar el IVA y recargo especial desde gestión

En los procesos de contabilización de gestión, se ha corregido para que tome en cuenta de manera correcta los valores referente al IVA y recargo especial.

Proyecto de datos

  • Objetos modificados
    • Procesos
      • VTA_FAC_G_CON
      • COM_FAC_G_CON
      • ASI_C_GEN_IVA_REP
      • ASI_C_GEN_IVA_SOP

VERP-871

General. Gestión documental, al ver un documento nunca se abre el documento con el nombre original, se renombra como documento.xxx y se abre el renombrado

Corregida incidencia al ver documentos, siempre se visualizan con el nombre de fichero documento, provocando bloqueos.

Añadida mejora para eliminar el fichero de la carpeta temporal antes de descargar, si ya existe en la misma.

Objetos modificados

  • Formulario DOC_W (manejador de evento BTN_VER_DOC)

VERP-863

vERP. Facturación electrónica España se valida que si el vencimiento generado es de mas de 0 días, se considera crédito

Cuando se genera el XML y si la factura tiene 1 único vencimiento a cobrar, y este mismo tiene como días de vencimiento igual a 0, se considera contado, en caso contrario, se toma como crédito.

Objetos modificados

  • Proyecto de datos
    • Proceso VTA_FAC_G_GEN_XML

VERP-859

vERP. Guardar pedidos generados desde marco móvil, ahora guarda la empresa en curso

Se ha corregido para que guarda la empresa en curso en el pedido de venta generado cuando se ingresa desde el marco para la versión móvil y la empresa del usuario es una sola.

Objetos modificados

  • Proyecto de aplicación
    • Proceso AUTOEXEC_MOV

VERP-855

Gestión. Compras. Diferencias de comportamiento al abonar una factura de compra desde el formulario de facturas de compras y desde el menú de compras

En el formulario de compras se comprueba que el estado de la factura no está conformada pero se mostraba un mensaje erróneo:

Esta prefactura no está facturada y no se puede abonar

En la acción del menú de compras Abonar factura seleccionada no se comprobaba que la factura estuviese previamente conformada.

Objetos creados

  • Constante: ERR_ABO_FAC_SIN_COF con el texto No se permite abonar una factura sin conformar

Objetos modificados

  • Proceso: COM_FAC_G_ABO
  • Alternador: COM_FAC_G, manejador de eventos ABO

VERP-851

Factura Electrónica España. En la generación del XML no se indica el IDE del Órgano Contable

Al momento de generar el XML de la factura de venta, ahora se está enviando el valor correcto en el órgano contable del cliente.

Objetos modificados

  • Proyecto de datos
    • Proceso VTA_FAC_G_GEN_XML

VERP-833

General. Nuevas funciones de fórmula que evitan el uso de JavaScript

Esto no solo mejora la programación al ser nativo, sino que además mejora el rendimiento al no tener que crearse un motor de ejecución de JavaScript al abrirse el formulario.

Objetos modificados

  • 112 formularios principales de edición de registros que en el control TXT_TIT usaban el script theRegister.tableInfo().singleName(); ahora usan la nueva función de fórmula getCurrentObjectTableSingleName()
  • 83 formularios de menú ahora en el control TXT_TIT en lugar de ser de tipo nombre campo y recibir el contenido en el manejador POS_INI ejecutando el filescript cambiarTituloFormulario.js, ahora el control es de tipo texto estático y su contenido utiliza la nueva función de fórmula getCurrentObjectName()

VERP-832

General. Disparar objeto en vista

Aplicar el nuevo parámetro Disparar objeto en vista en los objetos necesarios. Sustituir el script abrirVista.js y todos los procesos donde se usa por la nueva funcionalidad.

Objetos eliminados:

Proceso LOG_SES_W_EXE_VIS y LUC_W_EXE_VIS (ejecutan el mismo script que ABR_VIS)

Objetos modificados:

Formularios:

VRF

  • Creado manejador para abrir formularios
  • Modificados manejadores de botones para ejecutar el manejador de abrir formulario.

COS_C_CAL_REP

  • Manejador BTN_ACE (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador COS_C)

Alternador

COM_ALB_G

  • Manejador GEN_FAC (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador COM_FAC_G)

COM_FAC_G

  • Manejador CON (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador COM_FAC_G)

COM_PED_G

  • Manejador GEN_ALB (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador COM_ALB_G)
  • Manejador GEN_FAC (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador COM_FAC_G)

VTA_ALB_G

  • Manejadror GEN_FAC (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador VTA_FAC_G)

VTA_PED_G

  • Manejador GEN_ALB (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador VTA_ALB_G)
  • Manejador GEN_FAC (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador VTA_FAC_G)

VTA_FAC_G

  • Manejador EML (Sustituida la llamada al proceso ABR_VIS por una llamada directa al objeto de lista de email EML_W
  • Manejador CON (Sustituida la llamada al proceso VER_LST_VIS por una llamada directa al objeto de lista alternador VTA_FAC_G)

Rejilla

LOG_SES_W

  • Sustituida la llamada al proceso LOG_SES_W_EXE_VIS por llamada al proceso ABR_VIS

VERP-829

General. Aplicar nuevo estilo «vista única» a formularios

Hemos eliminado los scripts para el control de vista única de los formularios menús de búsqueda y de edición de ficha de todas las tablas de la aplicación. Lo hemos sustituido por el nuevo estilo Vista única

Objetos modificados:

Cambios realizados:

  • Eliminada llamada a script (CurrentProject)/js/interface/activarVista.js de manejador PRE_INI
  • Eliminada variable local VIS_ACT (Vista activa)
  • Eliminado manejador PRE_INI (si no incluye más código que el control de vista activa)
  • Eliminada conexión de manejador de evento PRE_INI (si se ha eliminado manejador PRE_INI)
  • Eliminar manejador ACT_VIS si existe en el formulario (formulario FIC_W_MEN, PLF_W_MEN)
  • Activado estilo Vista única, a los siguientes formularios:
    • ALM_M_MEN
    • API_KEY_W_MEN
    • APU_C_DIA_MEN
    • APU_C_MAY_MEN
    • ART_M_MEN
    • ASI_C_MEN
    • AUX_C_MEN
    • AYU_W_KEY
    • AYU_W_MEN
    • AYU_W_MEN_USR
    • AYU_W_TUT_FUN_BAS
    • BCO_C_MEN
    • CBA_CAB_C_AGB
    • CBA_CAB_C_MEN
    • CBA_CNC_C_MEN
    • CCO_C_MEN
    • CLF_M_MEN
    • CNC_C_MEN
    • COM_ALB_G_MEN
    • COM_FAC_G_MEN
    • COM_PED_G_MEN
    • COS_C_MEN
    • CSS_W_MEN
    • CTT_M_MEN
    • CTT_TIP_M_MEN
    • DCK_VRF
    • DIR_M_MEN
    • DIS_INF_C_MEN
    • DOC_TIP_M_MEN
    • DOC_W_MEN
    • EJE_C_MEN
    • EML_ACH_TIP_W_MEN
    • EML_ACH_W_MEN
    • EML_CTA_W_MEN
    • EML_PLA_W_MEN
    • EML_SRV_W_MEN
    • EML_W_MEN
    • EMP_M_MEN
    • ENT_M_MEN
    • ENT_M_MEN_ALM
    • ENT_M_MEN_CLT
    • ENT_M_MEN_CMR
    • ENT_M_MEN_PRV
    • EXF_C_MEN
    • FAC_EMI_C_MEN
    • FAC_REC_C_MEN
    • FAM_M_MEN
    • FIC_W_MEN
    • FPG_M_MEN
    • IDI_M_MEN
    • IMP_FIC_MEN
    • INF_C_MEN
    • INF_DEF_W_MEN
    • INI_ERP
    • INM_C_MEN
    • INV_VAL_G_MEN
    • MON_M_MEN
    • MOV_G_MEN
    • PAI_M_MEN
    • PGC_C_MEN
    • PLA_ASI_C_MEN
    • PLF_W_MEN
    • PRE_C_MEN
    • PRE_DES_C_MEN
    • PRM_DIC_W_MEN
    • PRO_M_MEN
    • PRS_MEN_W_MEN
    • PRS_OBJ_W_MEN
    • REL_TIP_M_MEN
    • REM_COB_C_MEN
    • REM_NOR_C_MEN
    • REM_PAG_C_MEN
    • SAL_C_ANA_MEN
    • SAL_C_MEN
    • SAL_C_MEN_TER
    • SCR_W_MEN
    • SER_M_MEN
    • TEM_W_MEN
    • TRA_G_MEN
    • TRB_C_MEN
    • TUR_T_MEN
    • USR_GRP_M_MEN
    • USR_M_MEN
    • VTA_ALB_G_MEN
    • VTA_FAC_G_MEN
    • VTA_PED_G_MEN
    • VTA_PRE_G_MEN
    • VTA_TAR_ART_G_MEN
    • VTA_TAR_CLI_G_MEN
    • VTA_TAR_G_MEN
    • VTO_COB_C_MEN
    • VTO_PAG_C_MEN
  • Eliminada llamada a script (CurrentProject)/js/interface/activarFormularioRegistro.js de manejador PRE_INI
  • Eliminada variable local FRM_REG_ACT (Formulario con registro activo)
  • Eliminar manejador ACT_FRM_REG si existe en el formulario:
    • FIC_W
    • PLF_VIS_MOD_W
    • PLF_W
    • PLF_W_VIS_DAT
    • PLF_W_VIS_DAT_FAC_EMI
    • PLF_W_VIS_DAT_FAC_REC
  • Activado estilo Vista única a los siguientes formularios:
    • ALM_M
    • API_KEY_W
    • APP_CFG_W
    • ART_M
    • ART_PRV_G
    • ASI_C
    • AYU_W
    • CBA_CAB_C
    • CBA_DET_C
    • CLF_M
    • COM_ALB_G
    • COM_FAC_G
    • COM_PED_G
    • CSS_W
    • CTT_TIP_M
    • DIS_INF_C
    • DIV_COT_M
    • DIV_M
    • DOC_TIP_M
    • DOC_W
    • EJE_C
    • EML_ACH_TIP_W
    • EML_ACH_W
    • EML_CTA_W
    • EML_PLA_W
    • EML_SRV_W
    • EML_W
    • EMP_M
    • ENT_M
    • EXF_C
    • EXS_G
    • FAC_EMI_C
    • FAC_REC_C
    • FAM_M
    • FIC_W
    • IDI_M
    • IMP_FIC
    • IMP_FIC_CAM
    • INF_C
    • INF_DEF_W
    • INM_C
    • LOG_TRN_W
    • LUC_W
    • MON_M
    • PAI_M
    • PGC_C
    • PLA_ASI_C
    • PLF_VIS_MOD_W
    • PLF_W
    • PLF_W_VIS_DAT
    • PLF_W_VIS_DAT_FAC_EMI
    • PLF_W_VIS_DAT_FAC_REC
    • PRM_DIC_W
    • PRM_W
    • PRO_M
    • PRS_MEN_W
    • REL_TIP_M
    • REM_COB_C
    • REM_PAG_C
    • SCR_W
    • SER_M
    • TEM_W
    • TRA_G
    • TUR_T
    • USR_GRP_M
    • USR_M
    • VTA_ALB_G
    • VTA_FAC_G
    • VTA_PED_G
    • VTA_PRE_G
    • VTO_COB_C
    • VTO_PAG_C

Objetos eliminados:

  • Proceso ACT_VIS
  • Script activarVista.js , velneoActivarVista.js y activarFormularioRegistro.js

VERP-823

vTPV. Los textos descriptivos cuando se hace un apunte, están invertidos

Los texto que describen el tipo de apunte que estamos realizando (Ingreso o egreso) están invertidos en base a la operación de suma o resta que realiza.

Objetos modificados

  • Proyecto de aplicación
    • Formulario QML APT_CAJ_T

VERP-819

Factura Electrónica España. No se visualiza el campo de Código Postal en el formulario de órganos, y se establece tamaño máximo de caracteres para la dirección en 80 caracteres

En tiempo de ejecución, no se visualiza correctamente el campo para digitar el código postal en el formulario de órganos. Adicionalmente, se valida que la direccion dispuesta para facturar electrónicamente, no supere los 80 caracteres como máximo. De igual manera, se establece como unidad por defecto el código 01 equivalente a «Unidad»

Objetos modificados

  • Proyecto de aplicación
    • Formulario ORG_FAE_M
    • Formulario VTA_FAC_G_FE_DAT_2
  • Proyecto de datos
    • Proceso VTA_FAC_G_GEN_XML

VERP-814

Crear/modificar contacto genera error en JavaScript porque se utiliza la clase VByteArray con el nuevo comando de instrucción «Ejecutar script»

Se ha corregio que al crear/modificar un contacto que tiene una imagen guardada, genera un error y falla en el código JavaScript que convierte el registro en curso en un JSON. Ya que el procedimiento es disparado mediante el comando «Ejecutar script» y el mismo hace uso de la case VByteArray para capturar la imagen.

Objetos nuevos

  • Proyecto de datos
    • Proceso REG_TO_REG_JSN

Objetos modificados

  • Proyecto de datos
    • Tabla ENT_M

VERP-779

Eliminados procesos de migración de versiones anteriores a la 26

Estos procesos de migración antiguos quedaban obsoletos incluso por la eliminación de objetos que usaban.

VERP-760

Contabilidad. Permitir contabilizar facturas recibidas con inversión de sujeto pasivo

Se ha añadido el soporte de contabilización de facturas recibidas con inversión de sujeto pasivo.

El sistema aplicado es muy similar al utilizado con las facturas intracomunitarias. Es decir, una vez grabada la factura de compras (sin IVA), a la hora de generar el asiento contable y los registros de facturas (IVA) se generan dos registros uno de IVA soportado (compras) y otro de IVA repercutido (ventas) que se compensan.

Es necesario configurar las series de IVA de compras que estará configurada con tipo de IVA deducible (A – Op. no sujetas o con inv. sujeto pasivo con derecho a deducción (Art. 84)) y la de ventas configurada con el tipo de IVA devengado (A – Op. no sujetas o con inv. sujeto pasivo con derecho a deducción (Art. 84)). Así mismo en la serie de compras se configurará como serie de autofacturas la correspondiente de ventas.

También hemos añadido en las series el campo Régimen de IVA que permita asignar el que se aplicará en la generación automática de los registros de IVA soportado y repercutido. Por defecto, si no hay un régimen asignado se asumirá que el general.

Objetos modificados

  • Tabla estática TIP_IVA_DED_C. Añadido el valor A “Op. no sujetas o con inv. sujeto pasivo con derecho a deducción (Art. 84)”.
  • Tabla estática TIP_IVA_DEV_C. Añadido el valor A “Op. no sujetas o con inv. sujeto pasivo con derecho a deducción (Art. 84)”.
  • Se han actualizado los scripts para el cálculo del modelo 347, AEAT-347-CAL-DEC-EMI y AEAT-347-CAL-DEC-REC para contemplar la declaración de las series de facturas de ISP (Inversión de sujeto pasivo).
  • Tabla SER_C. Se aprovecha el campo SER_AUT_FAC_INT respetando su identificador pero cambiando el nombre del que se quita la palabra intracomunitaria para que sea genérico para cualquier autofactura, y se añade un comentario para explicar el cambio, ya que ahora servirá también para ISP.
  • Tabla EMP_M se añaden los campos punteros a PGC y AUX para las cuentas de IVA de ISP soportado y repercutido de los tipos de IVA general, reducido, súper reducido y especial.
  • Formulario SER_M_DAT con los cambios de condiciones para que sirvan tanto para intracomunitarias como para ISP y se añade el campo régimen de IVA.
  • Se elimina el formulario EMP_M_CFG_CON_CTA_IVA y en su lugar se generan 2: EMP_M_CFG_CON_CTA_IVA_REP y EMP_M_CFG_CON_CTA_IVA_SOP para que no sean demasiado grandes y tener las cuentas de IVA repercutido normales e ISP en uno y las de IVA soportado en otro.
  • Proceso COM_FAC_G_CON que tiene en cuenta la nueva configuración de las series para aplicar el mismo criterio de las intracomunitarias para las facturas de ISP, teniendo en cuenta algunas particularidades en la cuenta de IVA a aplicar que difiere en el caso de ISP, y el uso del nuevo campo régimen de IVA para determinar el porcentaje de IVA a aplicar.

VERP-759

Contabilidad. Analítica. Impedir que se graben costes de apuntes desde la rejilla de costes

Se impide la grabación de costes desde le rejilla del menú general de costes quedando esta opción disponible sólo desde los apuntes.

Objetos modificados

  • Rejilla COS_C
  • Rejillas avanzada COS_C
  • Alternador COS_C

Objetos nuevos

  • Formulario COS_C_EDT
  • Toolbar COS_C_SIN_ALT

VERP-739

Contabilidad. Remesas. Integrar la etiqueta <BtchBookg> de remesa de pago SEPA desglosada o agrupada en el XML

Según el manual SEPA, si no envías este flag, se aplicaría el acuerdo que cada cliente tenga con su banco. Si han acordado desglosado o junto, se debería aplicar de forma automática.

Algunos bancos si no le envías esta etiqueta siempre lo ponen como agrupado.

Hemos integrado esta etiqueta para que desglosen las remesas en el extracto según se tenga configurado.

En el XML funciona así:

No se envía el flag = se aplica el acuerdo SEGUN CONTRATO = valor 2 en el campo

Se envía el flag a true = AGRUPA LA REMESA EN EXTRACTO en 1 único apunte = valor 1 en nuestro campo

Se envía el flag a false = DESGLOSAR REMESA EN EXTRACTO por cada pago = valor 0 en nuestro campo

Objetos modificados

  • Tabla AUX_C_BCO: Se añade el campo BCO_DES_REM
  • Formulario AUX_C_BCO: Se añaden los controles correspondientes.
  • Proceso: REM_PAG_C_GEN_FIC_SEP se añada la etiqueta <BtchBookg> en los datos del bloque información del pago