# Novedades de la versión

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

## 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-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-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>

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-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-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-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-617**

#### **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-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-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 pag&#x6F;**.**

## 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-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-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-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-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-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-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-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-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-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-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-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:
  * &#x20;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-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:

&#x20;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-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-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-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-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-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-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-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-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.<br>

**Objetos modificados**

* Formulario DOC\_W (manejador de evento BTN\_VER\_DOC)

## 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-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-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-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-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-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-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-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-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-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-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-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-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<br>
* Objetos modificados
  * Formulario KAN\_MEN: manejadores de evento BUS, GEN\_DAT\_COM y JS\_EVE.
  * Acción KAN\_TAR

## 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-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-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-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.<br>

**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-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-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-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-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-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-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.


---

# 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/29/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.
