# Novedades de la versión

A continuación pasamos a comentar las novedades de la versión.

## Novedades versión 35.0

### VERP-2387

**vCRM. Nueva funcionalidad envío masivo de Whatsapp**

Se agrega la posibilidad de enviar una plantilla de Whatsapp a una lista de oportunidades filtradas, ya sean todos los visibles en la rejilla o los seleccionados.

Objetos modificados:

* Proyecto aplicación
  * Formularios:
    * OPO\_V\_MEN
    * WHP\_VAR\_PLA\_MSJ\_V
  * Procesos
    * GES\_V\_ACT\_VAR\_PLA
    * WHP\_PLA\_MSJ\_GET\_VAR
* Proyecto de datos
  * Tablas
    * OPO\_V
    * WHP\_VAR\_PLA\_MSJ\_V
  * Fichero adjunto
    * mime-types

Objetos nuevos

* Proyecto aplicación:
  * Rejillas
    * WHP\_PLA\_MSJ\_V\_VER

### VERP-2389

**Contabilidad. Modelos tributarios. Actualización de la plantilla de fichero para el modelo 390 Resumen Anual IVA 2023**

Actualización de la estructura de campos de acuerdo al Excel dr390e2023v100 de la AEAT.

Modificada la plantilla de fichero AEAT-390.

### VERP-2427

**General. Uso del nuevo objeto Consumo servicio web para conexión con API de Bloomberg**

La lectura diaria automatizada de los cambios de divisas se realizaba con la clase vJavaScript XMLHttpRequest para acceder al API de Bloomberg. Se ha sustituido el uso de código Javascript por el nuevo objeto Consumo servicio web.

Objetos nuevos:

* Proyecto de datos
  * Consumo servicio web TAR\_ACT\_CHG\_DIV\_SRV

Objetos modificados:

* Proyecto de datos
  * Proceso TAR\_ACT\_CHG\_DIV\_SRV

Objetos eliminados:

* Proyecto de datos
  * Proceso TAR\_ACT\_CHG\_DIV\_JS
  * Script js > webservices > bloomberg > getCambioDivisas.js

### VERP-2437

**General. Uso del nuevo objeto Consumo de servicio web para conexión con API de correo transaccional MailJet**

Se realizaba con la clase vJavaScript XMLHttpRequest para acceder al API de MailJet. Se ha sustituido el uso de código Javascript por el nuevo objeto Consumo servicio web.

Objetos nuevos:

* Proyecto de aplicación
  * Consumo servicio web MAIL\_JET\_ENV\_EML

Objetos modificados:

* Proyecto de aplicación
  * Formularios: EML\_ENV y EML\_ENV\_LOG

Objetos eliminados:

* Proyecto de aplicación
  * Proceso MAIL\_JET\_ENV\_EML
  * Script email\_transaccional/MailJet/mailjet-env-mail.js
  * Carpeta scripts email\_transaccional/MailJet

### VERP-2472

**vCRM: Filtrar formulario de comerciales por empresa en los filtros de Oportunidades**

Solamente muestre aquellos que dependan directamente de su jerarquía en el árbol de empresas. En base a la tabla de relación de usuarios y empresas y parámetro de configuración para que se aplique este filtro.

Para que se aplique el filtro debemos acceder a la opción de configuración del CRM y marcar la opción de filtrar comerciales por empresa de acceso. A partir de esta configuración los usuarios al acceder a un filtro de oportunidades solo podrán seleccionar comerciales que tengan acceso a la empresa o delegaciones de la empresa en la que hayan accedido. Por tanto solo podrán ver oportunidades que hayan generado ellos mismos o su jerarquía inferior en el árbol de empresas.

Objetos modificados:

* Proyecto aplicación
  * Formularios:
    * PAR\_GEN
  * Procesos
    * AUTOEXEC
    * MOVIL
    * SO\_CHG\_EMP\_SEL
* Proyecto de datos
  * Tablas
    * PAR\_VZ\_V

Objetos nuevos

* Proyecto aplicación:
  * Rejillas
    * WHP\_PLA\_MSJ\_V\_VER
* Proyecto de datos
  * Variables globales
    * USR\_CMR\_EMP
  * Procesos
    * SO\_CMR\_A\_MEM
  * Búsquedas
    * EMP\_USR

### VERP-2474

**General. Uso del nuevo objeto Consumo de servicio web para conexión con API de Shopify desde el conector Shopify pedidos**

Se realizaba con la clase vJavaScript XMLHttpRequest para acceder al API de Shopify. Se ha sustituido el uso de código Javascript por el nuevo objeto Consumo servicio web.

Objetos nuevos:

* Proyecto de aplicación
  * Consumo servicio web SHP\_CSW

Objetos modificados:

* Proyecto de aplicación
  * Funciones: ART\_SHP, ART\_SHP\_PRE, ART\_SHP\_STK, FAM\_SHP, FULL\_FLL\_EVE\_SHP, FULL\_FLL\_SHP y IMP\_PED\_SHP

Objetos eliminados:

* Proyecto de datos
  * Proceso XHR
  * Función XHR
  * Script js/webservices/vXmlHttpRequest.js
  * Carpeta scripts js/webservices

### VERP-2479

**General. Uso del nuevo objeto Consumo de servicio web para conexión con el conector de Shopify pedidos desde Shopify ERP**

Se realizaba con la clase vJavaScript XMLHttpRequest para acceder al conector Shopify pedidos. Se ha sustituido el uso de código Javascript por el nuevo objeto Consumo servicio web.

Objetos nuevos:

* Proyecto de aplicación
  * Consumo servicio web SHP\_POST\_CSW

Objetos modificados:

* Proyecto de aplicación
  * Formularios ART\_M y FAM\_M: manejadores de evento BTN\_SUP
  * Formulario VTA\_PED\_G\_ECM: manejadores de evento BTN\_FUL\_FLL y BTN\_FUL\_FLL\_EVE
  * Procesos: ART\_SHP\_2P, ART\_SHP\_PRE\_2P, ART\_SHP\_STK\_2P, FAM\_SHP\_2P y PED\_SHP\_2P

### VERP-2489

**General. Cambio en el API de Shopify que afecta al proceso de hacer el fulfillment en el conector de Shopify pedidos**

Solución del ecosistema Shopify pedidos. Objetos modificados:

* Proyecto de aplicación
  * Función FUL\_FLL\_SHP

### VERP-2499

**Contabilidad. Ámbito funcional del usuario. Cambiar texto "Renumerar nº de asiento" por "Renumerar nº en diario"**

Objetos modificados:

* Proyecto de aplicación
  * Acciones ASI\_C\_REN\_NUM\_ASI y APU\_C\_ASI\_REN\_NUM
  * Formulario ASI\_C\_REN\_NUM\_ASI

### VERP-2523

**Gestión. En el formulario de VTA\_FAC\_G, con la opción de enviar notificación, al seleccionar con doble click la plantilla de email, se edita el maestro de plantilla**

Objetos modificados:

* Proyecto de aplicación
  * Formulario VTA\_FAC\_G manejador BTN\_NOT se cambia la rejilla al seleccionar ficha de la lista (se indica la rejilla EML\_PLA\_W\_SEL)

### VERP-2524

**Contabilidad. En los textos de las constantes ERR\_REM\_SUP\_VTO\_EST\_NO\_REM y ERR\_VTO\_SUP\_NO\_REM se incluye la secuencia de escape `\n` cuando debería ser el literal `<br>`**

Objetos modificados:

* Proyecto de aplicación
  * Constantes ERR\_REM\_SUP\_VTO\_EST\_NO\_REM y ERR\_VTO\_SUP\_NO\_REM.

### VERP-2525

**Contabilidad. Error de asignación de variables en el proceso ASI\_C\_DUP\_3P**

En las líneas Set ( REQ, #HAB ) y Set ( FPG, FPG ) debe poner Set ( REQ, #REQ ) y Set ( FPG, #FPG ).

Objetos modificados:

* Proyecto de aplicación
  * Proceso ASI\_C\_DUP\_3P

### VERP-2526

**Ecosistema. Módulo móvil de producción**

El módulo de producción cuenta desde ahora con más valor al añadir una plantilla de aplicación móvil que facilita el registro de los partes de trabajo incluyendo la mano de obra, materiales y servicios.

Esta plantilla cuenta con un excelente diseño y una gran usabilidad.

La CSS usada en esta aplicación, con sus modos claro y oscuro, es un magnífico ejemplo que puedes usar como plantilla para tus propias aplicaciones móviles.

El rendimiento es espectacular y los usuarios lo notarán desde el primer momento ya que es similar al de una aplicación de escritorio.

La gran ventaja de esta plantilla es que es fácilmente adaptable y convertible en una aplicación móvil para otros usos.

Desarrolla aplicaciones móviles en apenas unas horas usando la nueva plantilla de Velneo vERP.

Objetos modificados:

Proyecto de datos:

* Tabla EXT\_ENT\_M\_PRO
* Tabla DES\_ORD\_FAB\_P
* Tabla DES\_PAR\_TRA\_P
* Tabla TIP\_TRA\_PAR\_TRA\_P
* Proceso ORD\_FAB\_GEN\_MOV\_ENT
* Proceso PAR\_TRA\_GEN\_MOV\_ENT
* Funcion TIP\_TRA\_PAR\_TRA

Proyecto de aplicación:

* Formulario COM\_ART\_\_M
* Formulario DES\_PAR\_TRA\_P
* Formulario ORD\_FAB\_P
* Formulario ORD\_FAB\_P\_DAT\_CAC
* Formulario ORD\_FAB\_P\_DAT\_MAT
* Formulario PAR\_TRA\_P
* Formulario TIP\_TRA\_PAR\_TRA\_P
* Rejilla avanzada TIP\_TRA\_M

### VERP-2530

**General. Gestión documental nuevo proveedor OneDrive**

La plantilla Velneo vERP cuenta con una gestión documental que hasta ahora permitía usar como proveedores de almacenamiento a Google Drive, Dropbox y Amazon S3.

Si hablamos de software empresarial, Microsoft es el proveedor líder a nivel mundial.

Velneo vERP añade Microsoft OneDrive, cubriendo de esta forma el soporte para las principales plataformas de almacenamiento en Cloud.

Con una simple configuración a nivel de empresa, y añadiendo la pestaña correspondiente, podrás usar la gestión documental en todos los formularios de tu aplicación.

Prácticamente sin programar, incluye una gestión documental en todas tus aplicaciones heredando Velneo vERP.

Objetos nuevos:

Proyecto de datos

* Variables globales: DOC\_ONE\_DRI\_ACC\_TOK, DOC\_ONE\_DRI\_CLT\_ID, DOC\_ONE\_DRI\_CLT\_SEC, DOC\_ONE\_DRI\_REF\_TOK
* Imagen DOC\_ONE

Proyecto de aplicación

* Carpeta scripts Documentos/oneDrive
* Procesos: ONE\_DRI\_UPL\_JS, ONE\_DRIVE\_SHARE\_LINK, ONE\_DRI\_COP, ONE\_DRI\_CRE\_FOL, ONE\_DRI\_DEL, ONE\_DRI\_DOW\_JS, ONE\_DRI\_MOV y ONE\_DIR\_SEA
* Funciones: GET\_ONE\_AUTH\_URL, ONE\_DRI\_ADD\_FOL, ONE\_DRI\_COP, ONE\_DRI\_DEL, ONE\_DRI\_DOW, ONE\_DRI\_GET\_SHA\_LNK, ONE\_DRI\_MOV y ONE\_DRI\_UPL
* Formularios: EMP\_M\_CFG\_DOC y EMP\_M\_CFG\_DOC\_ONE\_DRI

Objetos modificados:

Proyecto de datos

* Tabla EMP\_M
* Tabla estática DOC\_PLA

Proyecto de aplicación

* Formulario DOC\_W
  * Modificado manejadores de evento: BTN\_EDT, BTN\_SUB, BTN\_SUP y BTN\_VER
  * Añadidas nuevas variables locales: CUR\_FOL, ID\_CRE y NOM\_CAR
* Formulario DOC\_W\_EXP
  * Modificado manejadores de evento: ADD\_DIR, BUS, CAL\_ATR, COP, COR, DEL, DOB\_CLI, GET\_LNK, IR\_INI, PAS, POS\_INI, REC y UPL
  * Añadido nuevo manejador de evento LOA\_PAT\_ONE\_DRI
  * Añadida nueva variable local NOM\_CAR
  * Modificado contenido del control TXT\_PLA
* Formulario EMP\_M
  * Modificado manejador de evento BTN\_ACE\_PRE
* Formulario EMP\_M\_CFG\_DOC
  * Modificado controles COM\_BOX y SEP (se le añade formulario ONE\_DRI)
* Proceso AUTOEXEC
  * Agregadas instrucciones para guardar en variables globales los datos de la gestión documental
* Proceso DES\_FIC
  * Agregadas instrucciones para contemplar “oneDrive”.

### VERP-2537

**Contabilidad. Actualización de la plantilla de fichero AEAT Modelo 303. Impuesto sobre el Valor Añadido. Autoliquidación**

Actualización de la estructura de campos de acuerdo al Excel DR303e24 del 01/04/2024 de la AEAT.

### VERP-2542

**Tesorería. Asumir como pagados los pagos remesados**

En el proceso de contabilización de una operación de pago, pasa a asumirse que un pago remesado se considera como pagado, con lo que su estado ya no será remesado, sino pagado.

Objetos modificados:

* Proyecto de aplicación
  * Proceso VTO\_PAG\_C\_OPE\_CON

### VERP-2549

**General. Al desglosar un vencimiento de una factura, la verificación de facturas detecta error en esa factura**

Objetos modificados:

* Proyecto de datos
  * Procesos COM\_FAC\_G\_VRF y VTA\_FAC\_G\_VRF

### VERP-2550

**Gestión. Error en la fórmula establecida en la propiedad “Título opcional” del formulario VTA\_PED\_LIN\_G**

Objetos modificados:

* Proyecto de aplicación
  * Formulario VTA\_PED\_LIN\_G en la propiedad "Título opcional" se establece la fórmula "fun:<TIT@vERP_2_app.app>(getCurrentObjectTableSingleName(), 0)".

### VERP-2548

**Contabilidad. Se evita la visualización duplicada de mensajes cuando se generan registros de IVA soportado y repercutido.**&#x20;

Los objetos modificado son:

Proyecto de aplicación:

* Proceso ASI\_C\_ALT\_PLA\_ASI - Generación de los apuntes con plantilla → Mostrar mensaje tras ejecutar el proceso ASI\_C\_GEN\_IVA\_REP y ASI\_C\_GEN\_IVA\_SOP
* Proceso ASI\_C\_GEN\_IVA\_REP - Generar IVA repercutido → Se comentan todos los mensajes y en MSG se concatenan todos los mensajes
* Proceso ASI\_C\_GEN\_IVA\_SOP - Generar IVA soportado → Se comentan todos los mensajes y en MSG se concatenan todos los mensajes
* Proceso ASI\_C\_VRF - Verificar asiento → Mostrar mensaje tras ejecutar el proceso ASI\_C\_GEN\_IVA\_REP y ASI\_C\_GEN\_IVA\_SOP
* Proceso VTO\_COB\_C\_COB - Cobrar → Mostrar mensaje tras ejecutar el proceso ASI\_C\_GEN\_IVA\_SOP
* Proceso VTO\_COB\_C\_REM\_OPE - Generar operaciones y asientos de vencimientos de remesa de cobros → Mostrar mensaje tras ejecutar el proceso ASI\_C\_GEN\_IVA\_SOP
* Proceso VTO\_PAG\_C\_PAG - Pagar → Mostrar mensaje tras ejecutar el proceso ASI\_C\_GEN\_IVA\_SOP
* Proceso VTO\_PAG\_C\_REM\_OPE - Generar operaciones y asientos de vencimientos remesa de pagos → Mostrar mensaje tras ejecutar el proceso ASI\_C\_GEN\_IVA\_SOP

### VERP-2552

**Tesorería. En el manejador PAG de los alternadores VTO\_PAG\_C y VTO\_PAG\_C\_AUX no se está verificando que haya vencimientos seleccionados**

Objetos modificados:

* Proyecto de aplicación
  * Alternadores VTO\_PAG\_C y VTO\_PAG\_C\_AUX, manejador PAG

## VERP-2584

**General. En ciertas variables globales de la gestión documental, cambiar su persistencia, de disco a memoria**

En las siguientes variables globales, se ha cambiado su persistencia, pasando de disco a memoria.

* DOC\_DRO\_ACC\_TOK
* DOC\_DRO\_REF\_TOK
* DOC\_G\_DRI\_CLI\_ID
* DOC\_G\_DRI\_CLI\_SEC
* DOC\_G\_DRI\_ID\_CAR
* DOC\_DRO\_ULT\_TOK\_GEN
* DOC\_ONE\_DRI\_ACC\_TOK
* DOC\_ONE\_DRI\_REF\_TOK
* DOC\_ONE\_DRI\_CLT\_ID
* DOC\_ONE\_DRI\_CLT\_SEC

## Novedades versión 35.2

### VERP-1002

**Contabilidad. Optimización del sistema de recálculo de saldos arrastrados.**

Se mejora el recálculo de saldos arrastrados de forma que, si en la configuración de la empresa existe parametrizado un nº de registros para el cálculo de saldos en 4º plano, que se use el nuevo comando de instrucción Multipartir lista por nº de registros.

Objetos modificados:

* Proyecto de datos
  * Proceso APU\_C\_CAL\_SAL: Se usa el nuevo comando de instrucción Multipartir lista por nº de registros si en la configuración de la empresa existe el valor parametrizado.

### VERP-1994

**Contabilidad. Al contabilizar facturas de compras y ventas, en los registros de IVA de facturas recibidas y emitidas aparecen porcentajes de la configuración de la empresa en vez de coger los del asiento.**

Objetos modificados:

* Proyecto de aplicación
  * Procesos ASI\_C\_GEN\_IVA\_REP y ASI\_C\_GEN\_IVA\_SOP

### VERP-2050

**Gestión. Tomar en cuenta el porcentaje de retención IRPF de la ficha del contacto**

En los documentos de compra y venta, tomar inicialmente el porcentaje de retención IRPF de la ficha del contacto, y en caso de no haber porcentaje en el contacto, tomar el porcentaje de retención IRPF configurado en la empresa.

Objetos modificados:

* Proyecto de datos
  * Tablas COM\_ALB\_G, COM\_FAC\_G, COM\_PED\_G, VTA\_ALB\_G, VTA\_FAC\_G, VTA\_PED\_G y VTA\_PRE\_G. En todas ellas se ha modificado el contenido inicial del campo #POR\_RET\_IRP
* Proyecto de aplicación
  * Proceso VTA\_ALB\_G\_NUE

### VERP-2131

**Contabilidad. En determinadas circunstancias, en un informe elaborado con el diseñador de informes, y cuando hay un número elevado de registros, provoca un error de desbordamiento de pila y rompe el servidor.**

Para evitar que se genere una redundancia que provoque un bucle infinito, se han añadido una serie de verificaciones para que no permita guardar registros del diseñador de informes cuando se asignen epígrafes que la provoquen.

Objetos nuevos:

* Proyecto de datos
  * Función DIS\_INF\_C\_EXI\_RED\_CI&#x43;**:** función encargada de detectar si un registro está dentro de alguna de las vinculaciones.
* Proyecto de aplicación
  * Constantes: ERR\_TOT\_POS\_YA\_ASO, ERR\_TOT\_NEG\_YA\_ASO, ERR\_CUA\_POS\_YA\_ASO y ERR\_CUA\_NEG\_YA\_ASO

Objetos modificados:

* Proyecto de aplicación
  * Formulario DIS\_INF\_C: nueva variable local CAM\_CHG y modificado el manejador BTN\_ACE\_PRE

### VERP-2363

**vCRM. posibilidad de vincular oportunidades con presupuestos de vERP**

Poder asociar y editar un presupuesto de venta generado en vERP, a una oportunidad cuando la aplicación esté configurada para trabajar con vERP. De lo contrario continua funcionando como hasta ahora permitiendo indicar el código de un presupuesto externo de forma literal.

Objetos modificados:

* Proyecto de aplicación vCRM\_app
  * Formulario OPO\_V\_VTA\_PRE\_BTN\_INL

### VERP-2416

**vCRM. Integración con correo Office 365 de Microsoft**

La integración se ha basado en simular la funcionalidad que hay disponible para recibir correos de Gmail, generando una serie de gestiones de los contactos relevantes con su email asociado, pudiendo acceder a este directamente utilizando el link proporcionado. Estas gestiones, después se ven en las oportunidades, en el histórico que aparece. También, si se activa, se genera un log de acciones realizadas.

Solución vERP - Proyecto de datos

* Objetos modificados:
  * Tabla USR\_EXT\_V
    * Añadidos campos INTEGRACION\_OFFICE\_365\_\_\_\_\_\_\_\_\_\_,OFI\_365\_ACC\_TOKEN,  OFI\_365\_REF\_TOKEN, OFI\_365\_TIM\_ULT\_PET\_COR, OFI\_365\_LOG\_CAD
    * Añadido índice OFI\_365\_REF\_TOKEN

Solución vCRM - Proyecto de datos

* Objetos nuevos:
  * Proceso ASI\_VAL\_CFG\_OFI\_36
  * Tabla estática GES\_EML\_ORI
  * Variables globales OFI\_365\_CLIENT\_ID, OFI\_365\_CLIENT\_SECRET, OFI\_365\_REDIRECT\_URI, CUR\_USR\_INT\_OFI\_365\_ACT, LOG\_INT\_OFI\_365
* Objetos modificados:
  * Tabla PAR\_VZ\_V
    * Añadidos campos INTEGRACION\_OFFICE\_365\_\_\_\_\_\_\_\_\_\_, OFI\_365\_LOG\_INT, OFI\_365\_CLT\_ID, OFI\_365\_CLT\_SEC, OFI\_365\_RED\_URI
  * Tabla GES\_EML\_V
    * Expandido tamaño de campo EML\_ID a 160 caracteres.
    * Expandido tamaño de campo THR\_ID a 80 caracteres.
    * Añadido campo ORI.
    * Añadido índice ORI.
  * Tabla USR\_EXT\_V
    * Añadidos campos INTEGRACION\_OFFICE\_365\_\_\_\_\_\_\_\_\_\_, OFI\_365\_ACC\_TOKEN, OFI\_365\_REF\_TOKEN, OFI\_365\_TIM\_ULT\_PET\_COR, OFI\_365\_LOG\_CAD
  * Proceso SO\_GET\_PAR
    * Añadido proceso de integración con Office 365 ASI\_VAL\_CFG\_OFI\_365
  * Proceso SO\_PRS\_VIS\_USU\_A\_MEM
    * Añadida verificación de integración con Office 365 activada.
  * Proceso SO\_ALT\_PRS\_VIS\_USU\_3P
    * Añadida nueva opción de gestión 4 para integración con Office 365.
    * Especificado que en la nueva opción de gestión, por defecto no esté visible.
  * Función FNC\_GET\_NOM\_COL\_TAB\_GES
    * Añadida opción nueva de Integración con Office 365.
  * &#x20;Proceso GES\_V\_ACT\_TIM\_ULT\_COR
    * Especificado el cambio de la fecha de última petición, según si el correo es de Office o de Gmail.&#x20;

Solución vCRM - Proyecto de aplicación

* Objetos modificados:
  * Formulario PAR\_VZ\_V
    * Añadida pestaña Office 365.
  * Menú OPO\_V MEN\_OPC
    * Añadida acción OBT\_COR\_OFI\_365
  * Formulario OPO\_V\_MEN
    * Manejador OCU\_CNT - Se oculta la acción de integración con Office 365 si no está activada la integración.
    * Manejador MOS\_CNT - Se oculta la acción de integración con Office 365 si no está activada la integración.
  * Rejilla PRS\_VIS\_USU\_V\_GES
    * Añadido manejador GES\_COR\_OFI\_365
    * Manejador EDI\_ACE - Añadida ejecución de manejador GES\_COR\_OFI\_365
  * Marco AUTOEXEC
    * Manejador AUTOEXEC -  Añadido proceso de lectura de datos de integración Office 365 ASI\_VAL\_CFG\_OFI\_365
  * Marco AUTOEXEC\_VIS\_AVA
    * Manejador AUTOEXEC -  Añadido proceso de lectura de datos de integración Office 365 ASI\_VAL\_CFG\_OFI\_365
* Objetos nuevos:
  * Formulario PAR\_OFI\_365
  * Formulario USR\_M\_EML\_ACC\_OFI\_365\_ADD
  * Formulario OFI\_365\_OAUTH\_LOGIN
  * Proceso OFI\_365\_LOGIN
  * Proceso OFI\_365\_LOGIN\_INIT
  * Acción OBT\_COR\_OFI\_365
  * Proceso OFI\_365\_GES\_MSG\_4P
  * Proceso OFI\_365\_REQ\_MSG\_USR
  * Proceso OBT\_COR\_OFI\_365
  * Función ENT\_M\_TIE\_OPO\_REL
  * Carpeta javascript /js/IntegracionOffice365

### VERP-2426

**General. Log de latencia**

Se genera información de eventos de latencia en la caché del cliente.

Objetos nuevos:

* Proyecto de datos
  * Variables globales LOG\_LAT y IP\_PUB\_CLT
  * Proceso GET\_IP\_CLT\_3P
* Proyecto de aplicación
  * Script js/interface/registraEventoDeLatencia.js
  * Proceso LOG\_LAT\_REG\_EVN\_JS

Objetos modificados:

* Proyecto de datos
  * Tabla USR\_M añadido campo booleano #LOG\_LAT que permite activa/desactivar el log de latencia.
* Proyecto de aplicación
  * Proceso AUTOEXEC\_PRE\_INI: añadido la asignación del contenido del campo #LOG\_LAT de la tabla de usuarios a la variable global LOG\_LAT.
  * Proceso AUTOEXEC\_POS\_INI: añadida instrucción para obtener la IP pública del cliente y creación del evento ‘Registro de entrada’ .
  * Formulario USR\_M\_CFG: añadido control LAT (log de latencias) de tipo botón de check con contenido del campo #LAT de la tabla de usuarios. Cambiado identificador y nombre de la caja de grupo ‘Configuración’.
  * Formulario MEN\_APP: añadido en el manejador de evento de tipo javascript TIM el evento de registro de latencia que se ejecuta cada 60000 milisegundos dejando constancia en el fichero de la caché local dicha información.
  * Marco AUTOEXEC: modificados los manejadores de evento DES (desconexión) y REC (reconexión) añadiendo instrucciones que registran el evento correspondiente en el fichero del log de latencias.

¿Dónde se encuentra el fichero de log de latencias?

Se encuentra en la caché del cliente carpeta ‘log-latencia’. En esta carpeta de irán guardando diariamente los eventos con la siguiente nomenclatura de fichero: AAAAMMDD-usuario-loglatencia.txt

### VERP-2506

**General. Añadir acciones como puntos de inserción al menú ENT\_M\_BTN\_PRT\_MDT**

Objetos nuevos:

* Proyecto de aplicación
  * Acciones: ENT\_M\_PRT\_MDT\_INS y ENT\_M\_PRT\_MDT\_INS\_TAB

Objetos modificados:

* Proyecto de aplicación
  * Menú: ENT\_M\_BTN\_PRT\_MDT

### VERP-2504

**Contabilidad. Modelo tributario calculado. Mejorada la usabilidad del formulario que permite modificar un valor calculado de un campo editable**

Se ha mejorado la usabilidad del formulario FIC\_REG\_W\_EDT para que al pulsar la tecla Intro o Enter el foco se vaya situando en el siguiente campo editable de la rejilla FIC\_REG\_W\_EDT.

Objetos modificados:

* Proyecto de aplicación
  * Formulario FIC\_W: nuevo manejador BTN\_ACE que se asocia al botón Aceptar como manejador de evento a ejecutar.
  * Formulario FIC\_REG\_W\_EDT: manejador KEY\_SOL.

### VERP-2517

**General. Sincronización de teléfonos y emails de entidad, datos básicos y plural teléfono y email principal**

Al borrar el teléfono o email de una entidad, tanto si lo hacemos desde los datos básicos como borrando el plural de la tabla CTT\_M, no se elimina el dato ya que al aceptar el formulario de entidad vuelve a tener el mismo teléfono y email que acabamos de borrar.

Objetos modificados:

* Proyecto de datos
  * Tabla CTT\_M eliminado trigger anterior a la baja y creado trigger posterior a la baja

### VERP-2547

**Contabilidad. Cuando se cambia la cuenta contable de una entidad no actualiza los datos en la auxiliar.**

Cuando una ficha de Entidad ya apunta a una cuenta contable y en la pestaña "Configuración" del formulario de la Entidad sólo cambiamos ese enlace de la cuenta contable, poniendo un enlace a otra cuenta contable que ya exista en contabilidad, no se actualizan los datos de la ficha de la Entidad (Contacto) en la ficha de la cuenta auxiliar.

A partir de ahora se controlará que cuando haya cambiado la ficha de Entidad, actualizará datos en la auxiliar, dejándose de controlar la actualización sólo cuando ciertos campos de la Entidad hubieran cambiado.

Objetos modificados:

* Proyecto datos
  * Proceso ENT\_M\_ALT\_MOD\_AUX

### VERP-2551

**Tesorería. Instrucciones sobrantes en manejadores de evento PAG de los alternadores VTO\_PAG\_C, VTO\_PAG\_C\_AUX y VTO\_PAG\_C\_COM\_FAC.**

Se eliminan las instrucciones para crear y agregar lista a la cesta local:

// Rem ( Guardar los vencimientos en una cesta )\
Cesta: Crear cesta local ( VTO\_PAG\_C\@cntt\_dat, cesta\_VTO\_PAG\_C )\
Cesta: Agregar lista a la cesta ( VTO\_PAG\_C\_SEL\@cntt\_app )

Objetos modificados:

* Proyecto de aplicación vERP\_2\_app
  * Alternadores VTO\_PAG\_C, VTO\_PAG\_C\_AUX y VTO\_PAG\_C\_COM\_FAC Manejador de evento PAG

### VERP-2553

**Gestión. Cambio de nombres de columna en las rejillas VTA\_PED\_LIN\_G\_SEL y VTA\_PRE\_LIN\_G\_PED.**

Objetos modificados:

* Proyecto de aplicación:
  * Rejilla VTA\_PED\_LIN\_G\_SEL.
  * Rejilla VTA\_PRE\_LIN\_G\_PED

### VERP-2589

**Ecosistema: error en el módulo QML de firma de vERP**

Con la actualización del cliente de Android y de iOS a Qt 6 ha dejado de funcionar el módulo de la firma de vERP, tanto en iOS como en Android.

Objetos modificados:

* Proyecto de aplicación
  * Script Firmar/Firma\_form.qml
  * Script GPS/gps\_osm.qml

### VERP-2590

**Corregido script qml “gps\_osm.qml” para funcionamiento con las nuevas librerias de Qt**

El script gps\_osm.qml de vERP da error en la versión 35 de vERP en Android e iOS porque está usando la versión 1.4 de QtQuick.Controls. Es necesario migrarlo a la versión 2.

Objetos modificados:

* Proyecto de aplicación
  * Script GPS/gps\_osm.qml

### VERP-2596

**vAgenda: en iOS error de script qml al editar un registro de la tabla calendarios**

Se ha modificado el codigo QML para que sea funcional con las nuevas librerias de QT 6.5

Objetos modificados

* Scripts
  * sel\_col.qml

### VERP-2598

**Ecosistema. vKanban falla con el nuevo motor javaScript en la versión V35**

Objetos modificados:

* Proyecto de aplicación
  * Script vjs\_lib/tools/get\_component\_root\_path.js
  * Script vjs\_lib/tools/get\_project\_id.js
  * Script vjs\_lib/tools/load\_component.js

### VERP-2603

**General. Eliminar tablas de extension de la tabla APP\_CFG\_W (deprecated)**

Tablas de extensión eliminadas:

* EXT\_APP\_CFG\_W y APP\_CFG\_W\_EXT

Proceso actualizado:

* MIG\_31\_0

### VERP-2604

**Error en el script de export\_rejilla\_excel.js por utilizar sentencia "return" fuera de ambito.**

Falla en el script de export\_rejilla\_excel.js debido al control del nuevo motor javaScript. Da error la linea 194 del script ya que se esta utilizando una sentencia "return" en un ámbito no valido.

### VERP-2605

**vCRM. Búsqueda de contactos y oportunidades que se realicen sobre los filtros ya aplicados**

Añadida opción para buscar (filtrar) los registros devueltos por una búsqueda o filtrado de oportunidades y contactos. Esta opción ha sido añadida en el menú de tres puntos de ambos formularios. Permitiendo al usuario realizar una búsqueda entre los registros que ha devuelto un filtrado o búsqueda del vCRM.

Objetos nuevos:

* Proyecto de aplicación:
  * Acciones ENT\_M\_BUS y OPO\_V\_BUS

Objetos modificados:

* Proyecto de aplicación:
  * Menús OPO\_V\_MEN\_OPC y ENT\_M\_MEN\_OPC
  * Formularios ENT\_M\_MEN y OPO\_V\_MEN

### VERP-2607

**Interfaz: correcciones en CSS.**

Con la CSS que se aplica en modo oscuro hay problemas para ver los textos de los agrupamientos de rejillas avanzadas.

Se ha corregido el registro del CSS cuyo identificador es "OSCURO-VISUALMS".

### VERP-2608

**Contabilidad. En el formulario de auxiliar la pestaña de apuntes carga apuntes pendientes de puntear.**

Al cambiar de pestaña y volver a la de apuntes de la cuenta auxiliar ya se muestran todos los apuntes de la cuenta en lugar de mostrar solo los pendientes de puntear.

Objetos modificados:

* Proyecto de aplicación vERP\_2\_app
  * Formulario AUX\_C\_APU: Eliminados manejadores y conexiones de evento (CAR\_VIS, CHG\_REG, ON\_HID y ON\_SHW). Control vista de datos APU, asignado valor Siempre que se muestra a la propiedad Modo de carga.
  * Proceso AUX\_C\_TO\_APU: Cambiado índice de carga por EMP\_AUX\_FCH.
  * Formulario AUX\_C\_AUD\_SAL: Cambiado proceso de carga de control de vista de datos APU, por proceso AUX\_C\_TO\_APU\_PDT\_PUN

Objetos nuevos:

* Proyecto de aplicación vERP\_2\_app
  * Proceso: AUX\_C\_TO\_APU\_PDT\_PUN

### VERP-2613

**General. Falla vTools en la opción de exportar rejilla a Excel**

Con el nuevo motor de JavaScript falla la exportación de rejillas a Excel con vTools.

Objetos modificados:

* Proyecto de aplicación
  * Script vTools/listas/export/export\_rejilla\_excel.js

### VERP-2619

**General. Generación de CSS con IA de OpenAI**

Hemos integrado la posibilidad de generar CSS a través de la inteligencia artificial de la mano de OpenAI.

Objetos modificados:

* Proyecto de datos
  * Tabla APP\_CFG\_M añadidos nuevos campos IA (IA\_CSS\_BEA, IA\_CSS\_ASI\_ID y IA\_CSS\_VEC\_STO)
* Proyecto de aplicación
  * Formulario APP\_CFG\_W, separador, añadida nueva pestaña IA CSS
  * Menú CSS\_W\_TLB\_MAS añadida acción “Generar con IA”

Objetos nuevos:

* Proyecto de aplicación
  * Formularios APP\_CFG\_W\_IA\_CSS y CSS\_W\_IA\_GEN
  * Proceso GEN\_CSS\_CON\_IA
  * Consumo Servicio Web API\_OPEN\_AI
  * Acción CSS\_W\_GEN\_CON\_IA
  * Constantes: API\_OPEN\_AI\_ASS\_URL, API\_OPEN\_AI\_THR\_URL, ERR\_CSW\_OPEN\_AI, ERR\_IA\_CSS\_ASI\_ID, ERR\_IA\_CSS\_BEA, ERR\_IA\_CSS\_VEC\_STO, ERR\_ID\_CSS, ERR\_ID\_CSS\_EXI y MSG\_IA\_CSS\_ESP

### VERP-2624

**Contabilidad. Modelo 349 operaciones intracomunitarias. Incluir rectificativas**

Se modifican y añaden nuevos scripts de cálculo del modelo 349:

* Nuevos
  * AEAT-349-CAL-DEC-RTF-EMI
  * AEAT-349-CAL-DEC-RTF-REC
  * AEAT-349-CAL-DEC-RTF
* Modificados
  * AEAT-349-CAL-DEC-EMI
  * AEAT-349-CAL-DEC-REC

Se modifica la plantilla de fichero del modelo 349.

### VERP-2628

**Nueva funcionalidad del módulo de tesorería: previsión a diferentes plazos**

Funcionalidad que permite conocer la previsión de tesorería a diferentes plazos (hitos), configurables, combinando los datos de los asientos de los bancos, los vencimientos a cobrar, los vencimientos a pagar y los registros de previsión de tesorería manuales y automáticos para obtener un único extracto de previsión.

Funcionalmente:

* A nivel de empresa se pueden configurar los hitos que queremos controlar en la previsión.
* A nivel de cuentas auxiliares podemos indicar cuáles queremos gestionar dentro de la previsión, pudiendo indicar además la fecha de caducidad de la póliza con el banco, el importe de la misma y el importe a partir del cuál queremos que la previsión de tesorería nos alerte. Adicionalmente cada cuenta auxiliar con previsión de tesorería tendrá asignada la empresa específica en la que se mostrará.
* Una nueva opción del menú de tesorería, denominada previsión de tesorería, nos muestra los bancos configurados para mostrar en la previsión de la empresa en curso. Desde el formulario tendremos la posibilidad de lanzar en tiempo real el cálculo de la previsión de tesorería de las cuentas auxiliares que seleccionemos en la rejilla.
* Un nuevo proceso, que se puede programar como tarea en el servidor para que se ejecute periódicamente, hará el cálculo de los saldos del banco a fecha de ayer, y añadirá en la previsión los apuntes bancarios de fechas superiores a hoy, además de los vencimientos de cobro y pago en estado pendiente.
* En los vencimientos a cobrar y a pagar se ha añadido la fecha de previsión de tesorería. Este campo es opcional. Si está rellenada cuando se genera el registro de previsión de tesorería del vencimiento, se le asigna esa fecha a la previsión, y si está vacía se le asigna la fecha de vencimiento. Este campo es útil para gestionar aquellos vencimientos a cobrar o a pagar que han vencido y que son anteriores a la fecha del saldo del banco, lo que permite que el contable pueda asignar una fecha prevista futura de cobro o de pago sin afectar al a fecha real de vencimiento.
* También se pueden añadir manualmente registros de previsión de tesorería, con la opción duplicar el movimiento durante un número de meses que el usuario podrá indicar. Estos movimientos no se eliminan en la tarea de cálculo programada, y será el usuario el responsable de gestionarlos.
* El registro de previsión de tesorería dispone de un check para indicar que estamos añadiendo registros automáticos. Esto puede ser útil si tenemos información a consolidar dentro de la previsión de tesorería proveniente de otros orígenes y/o aplicaciones externas, como pueden ser ingresos o gastos periódicos que se gestionan en otras tablas o aplicaciones. Estos registros tampoco son eliminados por la tarea de cálculo programada, y tendrán que ser gestionados por otras tareas independientes.

Objetos nuevos:

* Proyecto de datos
  * Tabla estática TES\_PRE\_TIP\_C
  * Tabla TES\_PRE\_C
  * Búsquedas TES\_PRE\_C\_EMP\_DIV\_BCO\_ENT\_FCH y APU\_C\_EMP\_AUX\_ENT\_FCH
  * Procesos TES\_PRE\_C\_CAL\_SAL, AUX\_C\_CAL\_TES\_PRE, AUX\_C\_TES\_PRE\_CAL\_SAL y TES\_PRE\_C\_CAL\_TAR\_PRG
  * Icono TES\_PRE\_C
  * En el nuevo proceso MIG\_35\_2, en los vencimientos a cobrar o a pagar que estén pendientes y tengan factura de venta o de compra, se rellena el campo de la división si está vacío.
* Proyecto de aplicación
  * Formulario EMP\_M\_CFG\_TES
  * Menú EMP\_M\_BTN\_AUX\_BCO\_COB
  * Acciones EMP\_M\_LOC\_AUX\_BCO\_COB, EMP\_M\_ALT\_AUX\_BCO\_COB y EMP\_M\_EDT\_AUX\_BCO\_COB
  * Constante PRG\_TES\_PRE\_CAL\_SEL
  * Toolbar AUX\_C\_TES\_PRE
  * Menú AUX\_C\_TES\_PRE\_TLB\_MAS
  * Acción AUX\_C\_TES\_PRE\_CAL
  * Alternador AUX\_C\_TES\_PRE
  * Rejilla AUX\_C\_TES\_PRE
  * Formulario AUX\_C\_TES\_PRE
  * Proceso AUX\_C\_CAL\_TES\_PRE\_2P
  * Constantes MSG\_TES\_PRE\_GEN\_DUP, MSG\_TES\_PRE\_CAL y MSG\_TES\_PRE\_FIN\_CAL
  * Nuevos objetos de interfaz de la tabla de previsiones de tesorería TES\_PRE\_C, ubicados dentro de la carpeta Tesorería de Contabilidad: formulario, alternador, rejilla, rejilla avanzada, búsqueda, cesta, menús de botón y toolbar.
  * Formulario TES\_PRE\_C\_DUP
  * Formulario TES\_PRE\_C\_MEN
  * Acción TES\_PRE\_C\_MEN
  * Multivista AUX\_C\_TES\_PRE

Objetos modificados:

* Proyecto de datos
  * Tabla EMP\_M: nuevos campos #PGC\_BCO\_COB, #AUX\_BCO\_COB, #BCO\_PRE\_TES\_DIA\_HIT\_1, #BCO\_PRE\_TES\_DIA\_HIT\_2 y #BCO\_PRE\_TES\_DIA\_HIT\_3
  * Tabla AUX\_C: nuevos campos #PGC\_BCO\_COB, #AUX\_BCO\_COB, #BCO\_PRE\_TES\_ACT, #BCO\_POL\_FCH\_REN, #BCO\_POL\_IMP, #BCO\_POL\_LIM\_SAL, #BCO\_PRE\_TES\_SAL\_HOY, #BCO\_PRE\_TES\_SAL\_HIT\_1, #BCO\_PRE\_TES\_SAL\_HIT\_2 y #BCO\_PRE\_TES\_SAL\_HIT\_3. Nuevos índices PGC\_AUX\_BCO\_PRE\_TES y EMP\_BCO\_TES\_PRE
  * Tabla APU\_C se añade el trigger anterior a la baja donde se elimina el registro de previsión de tesorería relacionado.
  * Tabla VTO\_COB\_C: se modifica el contenido inicial de los campos #PGC\_BCO y #AUX\_BCO. Nuevo campo #FCH\_TES\_PRE. Se añade el trigger anterior a la baja donde se elimina el registro de previsión de tesorería relacionado.
  * Tabla VTO\_PAG\_C: se modifica el contenido inicial de los campos #PGC\_BCO y #AUX\_BCO. Nuevo campo #FCH\_TES\_PRE. Se añade el trigger anterior a la baja donde se elimina el registro de previsión de tesorería relacionado.
* Proyecto de aplicación
  * Formulario EMP\_M\_CFG\_PAG: se quita la edición del banco de pago por defecto que pasa al nuevo formulario de configuración de la tesorería de la empresa (EMP\_M\_CFG\_TES).
  * Formulario AUX\_C\_BCO: se añaden nuevos controles de edición para los campos #BCO\_PRE\_TES\_ACT, #BCO\_POL\_FCH\_REN, #BCO\_POL\_IMP y #BCO\_POL\_LIM\_SAL. Además se añade el campo empresa y los botones para asignar la empresa actual o desasignarla.
  * Formulario AUX\_C: se añade la pestaña del subformulario AUX\_C\_TES\_PRE
  * Formulario AUX\_C\_VTO\_COB: se añade en el manejador de evento CAR\_VIS que si es una cuenta de banco se carguen por el índice de PGC\_BCO y AUX\_BCO
  * Formulario AUX\_C\_VTO\_PAG: se añade en el manejador de evento CAR\_VIS que si es una cuenta de banco se carguen por el índice de PGC\_BCO y AUX\_BCO
  * Formulario VTO\_COB\_C\_DOC\_EST: añadido control de edición para el campo #FCH\_TES\_PRE
  * Formulario VTO\_PAG\_C\_DOC\_EST: añadido control de edición para el campo #FCH\_TES\_PRE

### VERP-2629

**Ecosistema. Nuevo módulo de Recursos Humanos**.

Incluye las opciones de ficha de operarios, acuerdos, ausencias, contratos, formación, nóminas, reconocimientos médicos, tarjetas de acceso, vacaciones, fichaje de personas, turnos y asignación de turnos.

Es una plantilla que nos servirá como punto de partida para gestionar un portal del empleado en nuestra empresa.

### VERP-2630

**La IA de ChatGPT llega a tus aplicaciones**

Ahora puedes auditar los presupuestos, pedidos y facturas de venta usando el API de ChatGPT para consumir un asistente que verificará los datos en función de la descripción de errores a detectar que se pueden indicar a nivel de la empresa o división. Los objetos usados son:

Proyecto de datos:

* En la tabla EMP\_M se han añadido los campos:
  * IA\_AUD\_BEA → Autorización bearer para usar el asistente.
  * IA\_AUD\_ASI\_ID → Identificador del asistente.
  * IA\_AUD\_INS\_VTA\_PRE → Instrucciones para auditar presupuestos de venta.
  * IA\_AUD\_INS\_VTA\_PED → Instrucciones para auditar pedidos de venta.
  * IA\_AUD\_INS\_VTA\_FAC → Instrucciones para auditar facturas de venta.

Proyecto de aplicación:

* Nuevo formulario EMP\_M\_CFG\_IA → Configuración de los valores que se guardan a nivel de empresa/división.
* Formulario VTA\_FAC\_G → Manejador de evento IA\_AUD donde se ejecuta en 2º plano el proceso VTA\_FAC\_G\_AUD\_2P para realizar la vAuditorIA.
* Formulario VTA\_PED\_G → Manejador de evento IA\_AUD donde se ejecuta en 2º plano el proceso VTA\_PED\_G\_AUD\_2P para realizar la vAuditorIA.
* Formulario VTA\_PRE\_G → Manejador de evento IA\_AUD donde se ejecuta en 2º plano el proceso VTA\_PRE\_G\_AUD\_2P para realizar la vAuditorIA.
* Nuevo proceso VTA\_FAC\_G\_AUD\_2P → Prepara los datos de la factura en el JSON para pasar al proceso IA\_AUD que realiza vAuditorIA.
* Nuevo proceso VTA\_PED\_G\_AUD\_2P → Prepara los datos del pedido en el JSON para pasar al proceso IA\_AUD que realiza vAuditorIA.
* Nuevo proceso VTA\_PRE\_G\_AUD\_2P → Prepara los datos del presupuesto en el JSON para pasar al proceso IA\_AUD que realiza vAuditorIA.
* Nuevo proceso IA\_AUD que se conecta al asistente de OpenAI mediante el objeto consumo servicio web IA\_AUD para auditar mediante la IA el documento de venta en base a las instrucciones configuradas en la empresa/división.
* Nuevo objeto consumo servicio web IA\_AUD.

El asistente se debe crear en Playground de OpenAI.

* Datos a configurar:
  * Como usuario debes tener un API key generado para tus asistentes, este API key se configura en la empresa.
  * Debes crear un asistente que puedes nombrar como quieras, lo importante será el identificador del asistente que se muestra debajo del nombre y que también se configura a nivel de empresa.
  * En el asistente debes indicarle instrucciones que ayudarán a que las verificaciones a configurar en la empresas sean más precisas y pequeñas, consiguiendo así consumir menos tokens. Un ejemplo de instrucciones puede ser el siguiente:
    * Conviene usar el modelo gpt-4o que es con el que se obtienen resultados más precisos.
    * Eres un auditor de los documentos de compras y ventas de un ERP, y te vas a encargar de verificar la información de los documentos en base a la instrucciones siguientes.

      Las fechas se reciben en un formato que incluye el día de la semana (de lunes a domingo), un espacio en blanco y la fecha en formato ISO 8601 "YYYY-MM-DD" por lo que puedes usar directamente el dato recibido de día de la semana para hacer las verificaciones sin tener que calcularlo. Cuando las fechas sean correctas no incluyas mensaje de texto indicando que están bien. Ejemplos de fechas que sirvan de referencia:

      * "lunes 2015-11-09", es lunes.
      * "martes 2015-11-10", es martes.
      * "miércoles 2015-11-11", es miércoles.
      * "jueves 2015-11-12", es jueves.
      * "viernes 2015-11-13", es viernes.
      * "sábado 2015-11-14", es sábado.
      * "domingo 2015-11-15", es domingo.\
        Solo son fines de semana los días sábado y domingo.

      Cuando queremos validar un documento te pasaremos en un JSON la siguiente información.

      * clave: tipo, ejemplo de valores "presupuesto de venta", "pedido de venta", "factura de venta", "pedido de compra", "factura de compra".
      * clave: cabecera, valor: objeto JSON con los datos de la cabecera.
      * clave detalle, valor: array de objetos JSON con los datos de las líneas.
      * clave auditoria, valor: texto con los verificaciones a realizar en el documento.

      Aspectos importantes que debes tener en cuenta:

      * Solo debes validar y devolver estos errores que se describen en la clave auditoría.
      * En los errores de las líneas de detalle indica el nombre del artículo donde encuentras el error.
      * No devuelvas nunca en el array de errores datos correctos, por ejemplo si las fechas son correctas no devuelvas un mensaje indicando que están bien, así con todos los datos.
      * Tampoco incluyas en la respuesta la justificación de los errores.

      Tras revisar en los datos los errores indicados en la auditoría enviarás una respuesta en formato JSON con el resultado que puede ser:

      * clave: resultado, valor: "OK" si todo está correcto o "ERROR" si se ha encontrado algún error.
      * clave: errores, valor: array que contendrá un elemento con el texto de cada error encontrado.

### VERP-2632

**General. Gestión Documental. Corregido uso de campos correctos para la autorización con OneDrive**

Objetos modificados:

* Proyecto de aplicación
  * Formularios
    * EMP\_M\_CFG\_DOC\_ONE\_DRI: manejador de evento ONE\_DRI\_AUT
    * ONE\_DRI\_AUT: manejador de evento MON

### VERP-2639

**General. Gestión Documental. Corregida función de obtener link para documentos en AWS**

Debido a cambios de implementación de AWS, la generación de URL para buckets públicos ha cambiado. Se modifica el script correspondiente para tener en cuenta estos nuevos parámetros.

Objetos modificados:

* Proyecto de aplicación
  * Script Documentos/Amazons3.js

### VERP-2645

**General. Se usan dos variables globales diferentes en distintos procesos para saber si se está o no en el servidor. Y en su lugar pasa a usarse la función getExecutionComponent().**

Objetos modificados:

* Proyecto de aplicación
  * Proceso CFG\_INI: eliminadas instrucciones que hacían referencia a la modificación de la variable global SRV.
  * Proceso DES\_DAT\_JSO: pasa a usarse la función getExecutionComponent().
* Proyecto de datos
  * Proceso IMP\_JSO: pasa a usarse la función getExecutionComponent().
  * Proceso ON\_INIT\_SERVER: eliminadas instrucciones que hacían referencia a la modificación de la variable global ES\_SRV.
  * Función PRM\_USR: pasa a usarse la función getExecutionComponent().
  * Función SENDMAIL: pasa a usarse la función getExecutionComponent().

Objetos eliminados:

* Proyecto de datos
  * Variables globales SRV y ES\_SRV.
  * Carpeta Recursos/Procesos/Correo/vSendmail/Variables de apoyo (por quedarse vacía).

Solución vERPLatam.

Objetos modificados:

* Proyecto de aplicación
  * Proceso CFG\_INI: eliminadas instrucciones que hacían referencia a la modificación de la variable global SRV.

### VERP-2646

**Gestión. En los triggers de la tabla COM\_FAC\_G no se comprueba si existe o no el registro de la tabla EST\_EJE\_G.**

Se añade en los eventos de tabla anteriores al alta y la modificación el control para si no existe el registro en la tabla de estadísticas, crearlo

Objetos modificados:

* Proyecto de datos vERP\_2\_dat
  * Tabla COM\_FAC\_G modificados eventos Anterior al alta y modificación.

### VERP-2648

**API REST. Implementación de protocolo oAuth2 en el API REST de vERP**

Se ha implementado el uso del protocolo oAuth 2.0 en el API REST de vERP con las siguientes características:

1. Ahora se permite definir si un API es de tipo oAuth.
2. Si el tipo es oAuth dispone de 2 modos de uso:
   1. Propio con un protocolo interno donde vERP gestiona los accesos.
   2. Delegado con proveedores externos de oAuth (Google, Microsoft, etc) a través del uso de scripts.
3. Se puede asignar a diferentes grupos de usuarios el acceso a APIs de tipo oAuth.
4. Para poder trabajar con oAuth el usuario de vERP (USR\_M) debe tener un contacto relacionado. Dicho contacto relacionado (ENT\_M) debe tener definido:
   1. Usuario web (USR\_WEB) y es obligatorio en ambos modos de uso.
   2. Clave web (PWD\_WEB) y es obligatorio si el modo de uso es propio.

Objetos nuevos:

* Proyecto de aplicación
  * Rejilla URL\_RED\_API\_W
  * Proceso API\_KEY\_W\_TO\_API\_RED\_URI
* Proyecto de datos
  * Tablas API\_SES\_W y API\_RED\_URI\_W
  * Scripts
    * js/api\_rest\_v2/velneo\_auth.js
    * js/api\_rest\_v2/velneo\_token.js
  * Procesos VELNEO\_AUTH y VELNEO\_TOKEN

Objetos modificados:

* Proyecto de aplicación
  * Formularios API\_KEY\_W y API\_KEY\_W\_CFG
* Proyecto de datos
  * Tablas API\_KEY\_W y API\_USR\_W
  * Tabla estática TIP\_AUT\_W
  * Scripts
    * js/api\_rest\_v2/openapi.js
    * js/api\_rest\_v2/v2.js
    * js/api\_rest\_v2/api\_rest\_funciones\_v2.js

### VERP-2653

**vCRM: el índice complejo OPO\_V\_FEC\_EST no tiene en cuenta que la gestión que se produce en el rango de fecha indicado es de un cambio de estado.**

Corregido filtro de oportunidades por cambio de estado en el periodo definido, para que no se incluyan las oportunidades que hayan tenido gestiones en el periodo evaluado, que no sean de tipo de cambio de estado. Por tanto no haya variado el estado al definido en el filtro por el usuario.

El problema era que no se tenía en cuenta que la gestión que se produce en el rango de fecha indicado sea de un cambio de estado. Esto provoca que si existe una gestión posterior por haber cambiado cualquier otro dato mientras el estado sea uno de los indicados en el filtro, también va a incluir la oportunidad correspondiente a esa gestión en el listado resultante, cuando no es correcto.

Objetos modificados:

* Proyecto de datos
  * Índice complejo OPO\_V\_FEC\_EST: modificada condición para indexar (!#OPO:isEmpty()) & (#GES\_TIP = 6) & #CHG\_EST

### VERP-2654

**Contabilidad. En el cierre contable se tiene en cuenta el año de inicio del ejercicio y no el de fin, lo que provoca un cálculo erróneo del año cuando el cierre del ejercicio no coincide con el año natural.**

Objetos modificados:

* Proyectos de datos:
  * Tabla APU\_C → En el campo AÑO se cambia el contenido inicial para que el año sea del último mes del período y no el del primero como era antes.
  * Nueva variable global MES\_TXT\_CIE que contiene el JSON con los nombres de los 12 meses teniendo en cuenta el mes de cierre.
  * Nueva variable global MES\_CIE que contiene el número correspondiente al mes de cierre configurado en la empresa, se usa para evitar lectura de EMP\_M.
  * Tabla APP\_CFG\_W → Añadido el campo MIG\_35\_2.
  * Proceso MIG\_35\_2 → Ejecuta el recálculo del campo AÑO y MES de los apuntes y los saldos acumulados en las empresa con mes de cierre distinto de 12.
  * Proceso ON\_INT\_SERVER → Se asegura que si una migración queda a medias se vuelva a ejecutar.
* Proyecto de aplicación:
  * Proceso AUTOEXEC\_PRE\_INI → Se añade la asignación de valores a las variables MES\_CIE y MES\_TXT\_CIE.
  * Función MES\_TXT\_CIE → Ejecutado desde AUTOEXEC\_PRE\_INI para calcular el nombre de los meses en función del mes de cierre y devuelve un JSON.
  * Función MES\_TXT\_AÑO\_CIE → Ejecutado en manejadores PRE\_INI de formularios que muestran saldos, genera el JSON con los meses en nombre con año.
  * Formulario SAL\_C\_SCR → En el PRE\_INI se calcula los nombres de los meses con año, se cambian las etiquetas y el cálculo del año que se muestra.
  * Formulario SAL\_TER\_C → En el PRE\_INI se calcula los nombres de los meses con año, se cambian las etiquetas y el cálculo del año que se muestra.
  * Formulario EMP\_M → En el manejador BTN\_ACE\_PRE se controla si cambia el mes de cierre para calcular las variables globales MES\_CIE y MES\_TXT\_CIE.
  * Rejilla SAL\_C → En el POS\_INI se calculan los nombres de los meses en una variable local y se cambian las cabeceras para obtener el nombre.
  * Rejilla SAL\_C\_AUX → En el POS\_INI se calculan los nombres de los meses en una variable local y se cambian las cabeceras para obtener el nombre.
  * Rejilla SAL\_C\_ANA → En el POS\_INI se calculan los nombres de los meses en una variable local y se cambian las cabeceras para obtener el nombre.
  * Rejilla SAL\_C\_ANA\_AUX → En el POS\_INI se calculan los nombres de los meses en una variable local y se cambian las cabeceras para obtener el nombre.
  * Rejilla SAL\_TER\_C → En el POS\_INI se calculan los nombres de los meses en una variable local y se cambian las cabeceras para obtener el nombre.
  * Se elimina la función SAL\_C\_TXT\_MES que ya no se usa.
  * Proceso CTL\_CHG\_VER → Se controla la ejecución de la migración a la versión 35.2.

### VERP-2659

**TPV. Los controles "NRO\_ORD" y "TXT\_ORD\_TPV" no se ocultan cuando el check de TPV está desactivado.**

Se han incluido las instrucciones para mostrar y ocultar los controles de texto y edición del Orden del artículo en el casillero del TPV.

Objetos modificados:

* Proyecto de aplicación;
  * Formulario ART\_M: modificado manejador CHG\_TPV\_VIS que se asocia al Value changed del check TPV.

### VERP-2660

**Ecosistema. SII. Correcciones derivadas de cambios en el motor JS**

* Objetos modificados:
  * Proyecto de aplicación
    * Scripts
      * vjs\_lib/tools/load\_component.js
      * vjs\_lib/tools/get\_component\_root\_path.js
      * vjs\_lib/tools/get\_project\_id.js

### VERP-2677

**Ecosistema. SII. Ajustes derivados de cambios en el arranque de vERP**

* Objetos nuevos:
  * Proyecto de aplicación
    * Proceso ON\_INIT\_CLIENT
* Objetos modificados
  * Proyecto de aplicación
    * Marco AUTOEXEC

### VERP-2682

**Contabilidad. Variable global de último concepto automático, usada para la introducción manual de apuntes.**

En determinadas circunstancias el contenido de esa variable afecta erróneamente cuando se abre el formulario de apunte.

&#x20;Objetos modificados:

* Proyecto de aplicación vERP\_2\_app
  * Formulario APU\_C : Modificado manejador de evento PRE\_INI para que el contenido de valores por defecto se realice solo cuando es un alta de nuevo apunte.

### VERP-2699

**Contabilidad. Mejoras en el cálculo de informes contables del diseñador de informes**

El diseñador de informes habitualmente se usa para diseñar los informes contables del balance de situación y el de cuenta de pérdidas y ganancias. Se han implementado mejoras en el cálculo de los mismos, además de permitir al usuario el poder:

* Especificar un período de meses desde-hasta.
* Disponer del informe calculado de forma agrupada o desglosada.
* Y si el nivel de desglose es por:
  * Cuenta.
  * Auxiliar.
  * Cuenta y auxiliar.

Objetos nuevos:

* Proyecto de aplicación
  * Rejilla INF\_DET\_C\_MES
  * Proceso INF\_C\_CAL\_2P
  * Constantes MSG\_INF\_CAL\_2P y MSG\_INF\_CAL\_FIN
  * Alternadores INF\_DET\_C, INF\_DET\_C\_FIN y INF\_DET\_C\_INI
  * Scripts js/interface/comboboxMesTextoCargar.js y js/interface/comboboxMesTextoLeer.js
* Informes personalizables
  * VERP\_BAL\_SIT\_MES (Balance de situación por meses)
  * VERP\_CTA\_PYG\_MES (Cuenta de pérdidas y ganancias por meses)

Objetos eliminados:

* Proyecto de datos
  * Tabla INF\_CAL\_C
* Proyecto de aplicación
  * Rejilla INF\_CAL\_C
  * Formularios INF\_DET\_C y INF\_DET\_C\_PGC
  * Procesos INF\_C\_SUP\_PLU, INF\_DET\_C\_TO\_CAL y INF\_C\_SEL

Objetos modificados:

* Proyecto de datos
  * Tabla ASI\_C: modificado contenido inicial #EJE y triggers anterior a un alta y anterior a una modificación.
  * Tabla INF\_C: nuevos campos #MES\_HAS, #INC\_SAL\_APE, #CAL y modificado trigger anterior a una baja.
  * Tabla INF\_DET\_C
  * Tablas SAL\_C y SAL\_TER\_C: se modifican los contenidos iniciales en los que interviene el mes de apertura de la empresa.
  * Proceso ASI\_C\_REN\_NUM\_ASI\_EJE\_3P: se modifica el seteo de FCH\_DES y FCH\_HAS en la búsqueda, para ajustarlo en casos de ejercicio contable no natural.
* Proyecto de aplicación
  * Rejillas INF\_C y INF\_DET\_C
  * Formulario ASI\_C manejador POS\_INI inicialización del campo #EJE
  * Formularios INF\_C, INF\_C\_CAL y INF\_C\_DET
  * Proceso INF\_C\_CAL
  * Proceso GEN\_ASI\_CIE\_APE\_3P (ajustado seteo de la variable local EJE\_APE)
  * Alternador INF\_C
* Informes personalizables
  * VERP\_BAL\_SIT (Balance de situación)
  * VERP\_CTA\_PYG (Cuenta de pérdidas y ganancias)

### VERP-2710

**Ecosistema: corregido arranque de proyectos del ecosistema por cambios en el arranque de vERP**

Se corrije el arranque de diferentes soluciones del ecosistema de vERP derivado de los cambios y mejoras en el arranque del vERP&#x20;

Soluciones afectadas:

* Iconos material vERP
* Iconos material vERP color
* Numeros serie
* Produccion
* Shopify ERP
* SII
* Tallas y colores
* vAgenda
* vERPLatam
* vFacturaElectronica\_ESP
* vKanban
* vMapas
* vWeb
* vWooCommerce
* vTPV

### VERP-2724

**Contabilidad. En la verificación de asientos no deberían tenerse en cuenta aquellos que tienen serie que no genera registro de IVA.**

Objetos modificados:

* Proyecto de aplicación:
  * Proceso ASI\_C\_VRF.

### VERP-2729

**Contabilidad. Al contabilizar facturas desde gestión se generan apuntes sin cuenta contable cuando hay líneas de movimientos que no tienen importe.**

Objetos modificados:

* Proyecto de aplicación:
  * Procesos:
    * VTA\_FAC\_G\_CON.
    * COM\_FAC\_G\_CON.

### VERP-2730

**Contabilidad. En rejilla de vencimientos de cobro/pago, el contenido de la columna del cliente/proveedor, en ocasiones, no es correcto si es un vencimiento de cobro/pago a entidades diferentes del cliente/proveedor de la factura.**

En la rejilla de vencimientos a cobrar y pagar que se muestra, por ejemplo, en los asientos, el nombre que aparece del cliente o el proveedor es correcto salvo cuando una factura tiene retenciones, ya que en ese caso se generan registros de impuestos a pagar a la Agencia Tributaria, es decir, vencimiento que quedan asignados a la cuenta de mayor 475. Es decir, este caso se produce cuando se genera manualmente un vencimiento contra una cuenta auxiliar que no es la misma que la del cliente o proveedor de la factura.

El problema es que el campo TER de las tablas VTO\_COB\_C y VTO\_PAG\_C asumen el valor del tercero en base al cliente o proveedor de la factura. Y el campo que se visualiza en las rejillas es CLT\_NOM en los vencimientos a cobrar y PRV\_NOM en los vencimientos a pagar, ambos son campos fórmula que antes de la corrección tenían el siguiente contenido inicial:

```
Campo CLT_NOM en la tabla VTO_COB_C
choose(#TER, #TER.NAME, #AUX.NAME)

Campos PRV_NOM en la tabla VTO_PAG_C
choose(#TER, #TER.NAME, #AUX.NAME)
```

Se modifica el contenido inicial de estos campos fórmula para que tengan en cuenta que aunque haya tercero asignado, si la cuenta auxiliar del tercero no coincide con la cuenta auxiliar del vencimiento en el nombre se mostrará el nombre de la cuenta auxiliar del vencimiento y no como ahora la del nombre del tercero que era el cliente o proveedor de la factura. Tras la corrección los contenidos iniciales quedan así:

```
Campo CLT_NOM en la tabla VTO_COB_C
choose(#TER & (#TER.PGC_CLT=#PGC) & (#TER.AUX_CLT=#AUX), #TER.NAME, #AUX.NAME)

Campos PRV_NOM en la tabla VTO_PAG_C
choose(#TER & (#TER.PGC_PRV=#PGC) & (#TER.AUX_PRV=#AUX), #TER.NAME, #AUX.NAME)
```

### VERP-2731

**General. Resuelta incidencia que provocaba que se mostrase el menú con opciones de supervisor a todos los usuarios de algunas aplicaciones.**

Objetos modificados:

* Proyecto de aplicación:
  * Proceso CFG\_BAR\_MEN.

### VERP-2734

**Contabilidad. No permitir eliminar operaciones de vencimientos a cobrar o pagar con asiento en un período ya cerrado.**

En el menú de cobros (vencimientos a cobrar) y pagos (vencimientos a pagar) se ha ampliado el espacio para las fechas de selección desde-hasta que en algunos casos cortaba los números que componen la fecha por falta de espacio.

En los formulario de edición de vencimientos a cobrar VTO\_COB\_C y de vencimientos a pagar VTO\_PAG\_C se ha añadido un manejador de evento en el previo del botón eliminar que muestra un mensaje de error (constante ERR\_VTO\_NO\_SUP\_OPE - No es posible eliminar el vencimiento ya que tiene operaciones) como aviso al usuario en el caso de que tenga plural de operaciones para informarle del motivo por el que no deja eliminar el vencimiento.

En los formularios de cobros (COB\_C) y pagos (PAG\_C) se ha añadido en el manejador de evento del botón suprimir el control de que la fecha del asiento de la operación no puede estar fuera del período contable y en caso de que el asiento tenga serie de factura emitida o recibida la fecha contable del asiento no puede estar fuera del período valido de IVA configurado en la empresa. En caso de error se muestra el mensaje correspondiente al usuario.

Objetos añadidos en el proyecto de aplicación:

* Constante ERR\_COB\_NO\_SUP
* Constante ERR\_PAG\_NO\_SUP
* Constante ERR\_VTO\_NO\_SUP\_OPE

Objetos modificados en el proyecto de aplicación:

* Formulario COB\_C
* Formulario PAG\_C
* Formulario VTO\_COB\_C
* Formulario VTO\_PAG\_C
* Formulario VTO\_COB\_MEN\_C
* Formulario VTO\_PAG\_MEN\_C

### VERP-2772

**Tesorería. En determinadas circunstancias, al generar vencimientos a cobrar o pagar, manualmente en el formulario de apunte, no registra bien la división y empresa en el vencimiento.**

Cuando los vencimientos son generados por el usuario manualmente desde el botón cobro o pago del formulario del apunte, si no hay una factura de gestión de compra o venta asociada, se tiene que asumir la división y empresa con la que el usuario está trabajando.

Proyecto de aplicación:

* Proceso APU\_C\_GEN\_VTO\_COB - Generar vencimientos a cobrar de un apunte. Se ajusta la lógica de relleno del campo #EMP\_DIV del vencimiento.
* Proceso APU\_C\_GEN\_VTO\_PAG - Generar vencimientos a pagar de un apunte. Se ajusta la lógica de relleno del campo #EMP\_DIV del vencimiento.

Proyecto de datos:

* Proceso APU\_C\_VRF (Verificaciones de apuntes). Se ha añadido la verificación de 4 posibles errores para reforzar la detección de vencimientos con datos de empresa y división incoherentes :
  * Error 11 - La empresa del vencimiento a cobrar no se corresponde con la del asiento.
  * Error 12 - La empresa no se corresponde con la empresa de la división del vencimiento a cobrar.
  * Error 13 - La empresa del vencimiento a pagar no se corresponde con la del asiento.
  * Error 14 - La empresa no se corresponde con la empresa de la división del vencimiento a pagar.

### VERP-2779

**General. Se ha mejorado el arranque optimizado contemplando dos casos especiales cuando se hereda vERP y se arranca desde un proyecto superior.**

1. Si no queremos que haya selección de empresa y pasamos el parámetro EXE\_SEL\_EMP a 0, es conveniente pasarle el ID de una empresa por defecto en el parámetro EMP\_ID\_DEF en el proceso ON\_INIT\_CLIENT del proyecto superior cuando se ejecuta el ON\_INIT\_CLIENT de vERP. De esta forma podemos asignar una empresa por defecto sin que el usuario tenga que seleccionar ninguna empresa.
2. Se puede configurar que no se cargue la barra de menú gracias a un nuevo parámetro booleano BAR\_MEN\_OCU que si se pasa con valor 1 evitará que se cargue la barre de menú en base a los permisos del usuario.

Objetos modificados:

* Proyecto de aplicación:
  * Proceso ON\_INIT\_CLIENT → Recibe un nuevo parámetro EMP\_ID\_DEF que pasa al proceso SES\_DAT.
  * Proceso SES\_DAT → Recibe un nuevo parámetro EMP\_ID\_DEF que pasa al proceso AUTOEXEC.
  * Proceso AUTOEXEC → Recibe un nuevo parámetro EMP\_ID\_DEF que usa en caso de que EXE\_SEL\_EMP esté a 0, de esta forma asume la empresa por defecto sin requerir selección de empresa al usuario.
  * Proceso AUTOEXEC\_POS\_INI → Recibe un nuevo parámetro booelano BAR\_MEN\_OCU que si llega a 1 evitar que se ejecute la carga de la barra de menú.
  * Proceso AUTOEXEC\_PRE\_INI → Se controla si recibimos o no valor en el parámetro “registro\_EMP\_M” para evitar errores de script en la barra de estado.

### VERP-2786

**General. Se elimina el menú de botón de todos los controles de fecha desde y hasta que se utilizaba para selección rangos de fechas debido a la agilidad de la grabación de fechas con teclado.**

Objetos eliminados:

* Proyecto de aplicación:
  * Conexiones de evento:
    * PER\_1T
    * PER\_2T
    * PER\_3T
    * PER\_4T
    * PER\_ANO\_ACT
    * PER\_ANO\_ACT\_ANT
    * PER\_MES\_ACT&#x20;
    * PER\_MES\_ACT\_ANT
  * Manejadores de evento:
    * PER\_1T
    * PER\_2T
    * PER\_3T
    * PER\_4T
    * PER\_ANO\_ACT
    * PER\_ANO\_ACT\_ANT
    * PER\_MES\_ACT
    * PER\_MES\_ACT\_ANT
  * Menú de botón BTN\_PER.

Objetos modificados:

* Proyecto de aplicación:
  * Formularios:
    * APU\_C\_DIA\_MEN
    * APU\_C\_MAY\_MEN
    * ASI\_C\_MEN
    * CBA\_CAB\_C\_MEN
    * COS\_C\_MEN
    * REM\_COB\_C\_MEN
    * REM\_PAG\_C\_MEN
    * TRB\_C\_MEN
    * VTO\_COB\_C\_MEN
    * VTO\_PAG\_C\_MEN

### VERP-2787

**API REST. Mejora que permite devolver correctamente los datos de campos de tipo fórmula numérica.**

Se ha mejora el API REST para que cuando intentamos trabajar con campos de tipo fórmula numérica, el valor retornado no venga con expresión exponencial si no tiene decimales.

Objetos modificados

* Scripts
  * api\_rest\_funciones\_v1.js
  * api\_rest\_funciones\_v2.js

### VERP-2795

**General. En Javascript, cuando se graban registros en tablas en memoria ya no es necesario generar transacción.**

Se revisan todas las tablas en memoria de vERP para quitar de los scripts la creación de transacción, que además de no ser necesaria, podía generar problemas en algunas circunstancias. Desde la revisión 35.2 ya no se requiere en Javascript la creación de una transacción para grabar registros en tablas en memoria.

Tablas revisadas: AGB\_PRO\_C, API\_CTR\_W, DOC\_COL\_W, DOC\_EXP\_W, FAC\_LIN\_TMP\_T, FIC, IMP\_FUN\_ALF, LOG\_SES\_W, MEM\_T, PRS\_CTR\_W, PRS\_MEN\_MEM\_W, PRS\_OBJ\_MEM\_W, TMP\_BUS\_MEM y TYC\_MEM.

Objetos modificados:

* Proyecto de aplicación
  * Script Agregador bancario → Afterbanks → aft\_get\_pro.js
  * Formulario API\_SEG\_W → Manejador de evento CAR\_SUB\_OBJ
  * Script Documentos → AmazonS3.js
  * Script Documentos → Dropbox.js
  * Script Documentos → GoogleDrive.js
  * Script Documentos → oneDrive.js
  * Formulario LUC\_W → Manejador de evento LUC\_TO\_LOG\_SES
  * Formulario PRS\_OBJ\_W → Manejador de evento CAR\_CTL

### VERP-2803

**Contabilidad. Se añaden campos para gestionar la auditoría básica en los registros de las tablas de contabilidad de asientos ASI\_C y apuntes APU\_C.**

Los campos añadidos son los estándar usados en muchas de tablas de vERP: ALT\_USR, MOD\_USR, ALT\_TIM, MOD\_TIM, OFF, OFF\_USR, TIM\_USR.

La información se podrá consultar desde el gestor de base de datos.

### VERP-2813

**Tesorería. En el formulario de conciliación bancaria, en ocasiones es necesario poder desmarcar el check de duplicado.**

Cuando se importan movimientos bancarios del mismo día e importe, por defecto se deja uno cómo válido y los otros se marcan como duplicados. Ahora en el formulario CBA\_DET\_C se permite desmarcar el check de Duplicado del campo #MD5\_DUP y el check de Pendiente del campo #PDT, con lo que se otorga al usuario la posibilidad de usarlos en caso de que sean movimientos bancarios correctos.

Objetos modificados:

* Proyecto de aplicación
  * Formulario CBA\_DET\_C

### VERP-2821

**General. Al realizar un traspaso entre almacenes, el campo FCH\_ENT se rellena automáticamente con un día más que el campo FCH\_SAL y los movimientos asociados se crean automáticamente con hora currentTime()**

Eso provoca que las salidas sean de hoy a la hora actual, y las entradas sean de mañana a la misma hora, por lo que cualquier entrada o salida (compra o venta) entre la hora de hoy y la misma hora de mañana, quedarán en medio alterando el resultado del inventario.

Objetos modificados:

* Proyecto de datos
  * Tabla TRA\_G: añadido campos de hora de salida y hora de entrada con contenidos iniciales.
  * Tabla MOV\_G: modificado contenido inicial del campo hora (#HOR).
* Proyecto de aplicación
  * Formulario TRA\_G: se permite el borrado de movimientos del traspaso. Antes daba error por existencia de plurales de movimientos.
  * Formulario TRA\_G\_DET: añadidos controles de horas, verificaciones en el maneador de evento MOV y modificaciones de campos de tipo hora.

Objetos nuevos:

* Proyecto de aplicación
  * Constantes PRG\_TRA\_G\_SUP, PRG\_TRA\_G\_FCH y MSG\_TRA\_VER\_HOR

### VERP-2867

**Contabilidad. Impresión de balances. Ajustes para contemplar ejercicio no natural**

En VERP - 2654 se llevaron a término las modificaciones, ajustes y correcciones necesarias para que vERP soporte correctamente ejercicios no naturales. A raíz de todo ello se ha hecho necesario implementar toda esta serie de ajustes.

Objetos nuevos:

* Proyecto de aplicación
  * Script js/interface/comboboxMesTextoGetTxt.js
  * Constante MSG\_PRT\_DSD\_FRM\_MEN

Objetos modificados:

* Proyecto de aplicación
  * Formulario INF\_C: nuevas variables locales PAR\_INF, MES\_HAS\_TXT y MES\_TXT. Modificado manejador INF\_DEF\_W\_PRT
  * Formulario SAL\_C\_MEN: nuevas variables locales MES\_TXT, PGC\_DES y PGC\_HAS. Nuevo botón BTN\_PAR\_INF. Nuevo manejador PAR\_INF. Modificado manejador BUS.
  * Formulario SAL\_C\_ANA\_MEN: nuevas variables locales MES\_TXT, PGC\_DES y PGC\_HAS. Nuevo botón BTN\_PAR\_INF. Nuevo manejador PAR\_INF. Modificado manejador BUS.
  * Formulario SAL\_C\_MEN\_TER: nuevas variables locales MES\_TXT, PGC\_DES y PGC\_HAS. Nuevo botón BTN\_PAR\_INF. Nuevo manejador PAR\_INF. Modificado manejador BUS.
  * Alternador SAL\_C: nuevas variables locales AÑO, MES\_TXT, PAR\_INF, PGC\_DES, PGC\_HAS y SIN\_ACU. Nuevo manejador BTN\_PAR\_INF. Modificado manejador INF\_DEF\_W\_PRT.
  * Alternador SAL\_C\_ANA: nuevas variables locales AÑO, MES\_TXT, PAR\_INF, PGC\_DES y PGC\_HAS. Nuevo manejador BTN\_PAR\_INF. Modificado manejador INF\_DEF\_W\_PRT.
  * Alternador SAL\_TER\_C: nuevas variables locales AÑO, MES\_TXT, PAR\_INF, PGC\_DES y PGC\_HAS. Nuevo manejador BTN\_PAR\_INF. Modificado manejador INF\_DEF\_W\_PRT.
* Informes personalizables
  * VERP\_BAL\_SIT
  * VERP\_BAL\_SIT\_MES
  * VERP\_CTA\_PYG
  * VERP\_CTA\_PYG\_MES
  * VERP\_SAL\_C\_BSS\_AUX
  * VERP\_SAL\_C\_BSS\_COM
  * VERP\_SAL\_C\_BSS\_PGC
  * VERP\_SAL\_TER\_C\_BSS\_AUX
  * VERP\_SAL\_TER\_C\_BSS\_COM
  * VERP\_SAL\_TER\_C\_BSS\_PGC
  * VERP\_SAL\_C\_ANL\_BSS

### VERP-2871

**Gestión. Nueva funcionalidad Google Document OCR IA para importación automática de facturas de compra**

Permite aplicar IA para ejecutar OCR de lectura de facturas de compra con Google Cloud.

Objetos nuevos:

* Proyecto de datos
  * Variables globales GOO\_CLO\_ACC\_TOK, GOO\_CLO\_PRJ\_ID, GOO\_CLO\_PRO\_ID, GOO\_CLO\_SEC\_KEY, GOO\_CLO\_SEC\_KEY\_ID y GOO\_CLO\_SER\_ACO\_EML
* Proyecto de aplicación
  * Formularios EMP\_M\_CFG\_IA, EMP\_M\_CFG\_IA\_OCR\_GOO y VAL\_ALT\_SEL
  * Búsqueda ART\_PRV\_M
  * Procesos COM\_FAC\_G\_GEN\_OCR\_IA, GOO\_CLO\_GEN\_GOO\_JWT, GOO\_CLO\_GEN\_JWT, GOO\_CLO\_GET\_ACC\_TOK, GOO\_CLO\_IA\_PRO\_DOC y GOO\_CLO\_IA\_PRO\_FOR
  * Funciones GOO\_CLO\_GEN\_GOO\_JWT, GOO\_CLO\_GEN\_JWT y GOO\_CLO\_GET\_ACC\_TOK
  * Acción COM\_FAC\_G\_OPC\_GEN\_CON\_IA
  * Constantes PRG\_GOO\_DOC\_AI\_ART y PRG\_GOO\_DOC\_AI\_PRV
  * Scripts
    * Documentos/GoogleCloud/documentIA/generate\_google\_jwt.js
    * Documentos/GoogleCloud/documentIA/generate\_jwt.js
    * Documentos/GoogleCloud/documentIA/get\_access\_token.js
    * Documentos/GoogleCloud/documentIA/invoice\_fields.js
    * Documentos/GoogleCloud/documentIA/process\_document.js
    * Documentos/GoogleCloud/documentIA/process\_form.js
    * Documentos/GoogleCloud/utils/ajax.js
    * Documentos/GoogleCloud/utils/base64.js
    * Documentos/GoogleCloud/utils/rsa.js
    * Documentos/GoogleCloud/document\_ia.js

Objetos modificados:

* Proyecto de datos
  * Tabla EMP\_M nuevos campos #GOO\_OCR\_IA\_ACC\_TOK, #GOO\_OCR\_IA\_SER\_ACC\_EML, #GOO\_OCR\_IA\_SEC\_KEY\_ID, #GOO\_OCR\_IA\_SEC\_KEY, #GOO\_OCR\_IA\_PRJ\_ID y #GOO\_OCR\_IA\_PRO\_ID
  * Tabla ART\_PRV\_G nuevo índice REF\_PRV
* Proyecto de aplicación
  * Formulario COM\_FAC\_G nueva conexión de evento GEN\_CON\_OCR y nuevo manejador de evento GEN\_OCR\_IA
  * Formularios DAT\_ALF, DAT\_CAN, DAT\_FCH, DAT\_FCH\_FAC y DAT\_FCH\_NUM\_PRV
  * Formulario EMP\_M manejador de evento BTN\_ACE\_PRE se añaden las instrucciones para modificar las variables globales de GOO\_CLO
  * Formulario EMP\_M\_CFG\_IA se introduce un SEP separador
  * Proceso AUTOEXEC\_PRE\_INI se añaden las instrucciones para modificar las variables globales de GOO\_CLO
  * Menú COM\_FAC\_G\_BTN\_OPC

### VERP-2884

**Contabilidad. Mejora en los procesos de recálculo de saldos acumulados**

Se mejora el procedimiento de recálculo de los saldos acumulados (tablas SAL\_C y SAL\_TER\_C) de manera que pasa a pedirse al usuario el año a calcular. Anteriormente cuando se lanzaba el proceso de recálculo, se recalculaban todos los años.

Objetos eliminados:

* Proyecto de datos
  * Procesos SAL\_C\_CAL\_ALL\_AUX\_4P, SAL\_C\_CAL\_ALL\_CCO\_4P y SAL\_TER\_C\_CAL\_ALL\_AUX\_4P
  * Constante PRG\_SURE
* Proyecto de aplicación
  * Constantes PRG\_CAL\_SAL\_ACU\_AUX, PRG\_CAL\_SAL\_ACU\_CCO y PRG\_CAL\_SAL\_TER\_ACU\_AUX

Objetos nuevos:

* Proyecto de datos
  * Constante PRG\_AÑO\_CAL

Objetos modificados:

* Proyecto de datos
  * Tabla APU\_C nuevo índice EMP\_AÑO\_PGC\_AUX
  * Tabla COS\_C nuevo índice EMP\_AÑO\_CCO\_AUX
  * Procesos AUX\_C\_CAL\_SAL\_ACU, AUX\_C\_CAL\_SAL\_ANA\_ACU y AUX\_C\_CAL\_SAL\_TER\_ACU
* Proyecto de aplicación
  * Procesos SAL\_C\_CAL\_ALL\_AUX, SAL\_C\_CAL\_ALL\_CCO y SAL\_TER\_C\_CAL\_ALL\_AUX

### VERP-2888

**Gestión. Mostrar recargo de equivalencia del IVA Especial en la pestaña impuestos de los documentos de compra y venta**

Objetos modificados:

* Proyecto de aplicación
  * Formularios COM\_PED\_G\_IMP\_TOT, COM\_ALB\_G\_IMP\_TOT, COM\_FAC\_G\_IMP\_TOT, VTA\_PRE\_G\_IMP\_TOT, VTA\_PED\_G\_IMP\_TOT, VTA\_ALB\_G\_IMP\_TOT y VTA\_FAC\_G\_IMP\_TOT. En todos se han añadido los controles de edición numérica para los campos #POR\_REQ\_ESP y #REQ\_ESP.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.velneo.com/35/velneo-verp/novedades-de-la-version-verp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
