- En la exportación de ventas a Batuz (Bizkaia) se resuelve problema al registrar errores por duplicidad de registro. Ahora se registra el error formateado en lugar del xml completo.
TNV-1340
- Se ha añadido la comprobación de la codificación del fichero justo después del login, antes de la lectura de ficheros .ini.
- En caso de ser erróneo, veremos el siguiente mensaje:

TNV-1238
- Se ha añadido una restricción en la pantalla de mantenimiento de parámetros de personas, protocolos, para que la longitud máxima del campo Remitente SMS sea de 11 caracteres. Con eso evitamos conflicto con limitaciones en los protocolos de envío de SMS
TNV-1410
- Se ha añadido un nuevo campo de búsqueda llamado
“Estado RGPD”
. Ahora en las búsquedas podremos tener un filtro por ese estado para excluir, por ejempo, las Eliminadas por RGPD.

En las búsquedas ya definidas se ha añadido el campo para que se excluyan por defecto. Se podrán luego añadir condiciones adicionales como por ejemplo descartar las de estado “Desactivado por RGPD”
.

TNV-1246
- Se ha creado una nueva app auxiliar para la importación y exportación de datos de configuración, tanto para DeporWin como para DeporWin UX, de la nueva pantalla de personas.
- En la nueva pantalla de personas se ha añadido un icono de un reloj para que salga solo en aquellos carnets de tipo SmartTagQR para iPhone que permite pulsándolo vincular directamente el reloj asociado a ese iPhone en SmartTagQR para reloj. Una vez vinculado, el icono del reloj ya no aparecerá para ese carnet porque solo podemos vincular uno. Si eliminamos el carnet del iPhone se eliminará también automáticamente el del reloj asociado a ese carnet. También se puede eliminar solo el del reloj si queremos mantener el del iPhone.

TNV-1176
- Se corrige un fallo cuando realizábamos el proceso de grabación de pulsera y estábamos en Nueva Pantalla de Personas, en la propia pestaña de Datos de Acceso. En ese caso, activaba los botones de Guardar, y al aplicarlos asignaba acceso ilimitado.a la persona erróneamente.
TNV-1419
- En la pantalla de domiciliación, se resuelve error no controlado en caso de que el identificador de mandato está formado por caracteres no alfanuméricos (por ejemplo "+", "-", ",")
TNV-1134
- En la nueva pantalla de personas, en la contratación de servicios "complementarios" (taquillas, ...) se resuelve incidencia al cancelar la contratación en la pantalla de cobro y posteriormente salir aceptando los cambios.
- No se cancelaba del todo la contratación, se quedaba a medias y no se liberaba el objeto seleccionado (no se eliminaba el registro de la tabla "Usos"). Ahora no se permitirá salir en caso de que la contratación no se haya finalizado. Se obligará a finalizarla o cancelarla.

TNV-1207
- En la pantalla de configuración de actividades, se resuelve problema de refresco en el precio final con descuentos por abono (en caso de varios conceptos con los mismos porcentajes de descuento pero con distintos precios base).
TNV-1392
- En la pantalla de definición de servicios, se soluciona problema de bloqueo en la edición de aforos por periodo de gestión al duplicar servicios de temporadas anteriores con componentes compartidos (por ejemplo campus con comedor compartido).

TNV-1386
- En el proceso de "Regeneración histórico de evolución de abonados" se añaden varios procesos para reparar cambios de abono incoherentes:
- Eliminación de registros de altas por cambio sin abono anterior y sin fecha de baja
- Cancelación de bajas por cambio sin abono siguiente
Este proceso se realizará bajo petición y con mensaje de confirmación. Y además, se registrará la ejecución del proceso.

TNV-1283
- En el menú contextual de ventas, en caso de que algún pago de la venta esté "en trámite de cobro", no se permitirá la opción de 'Cambiar forma de pago'

TNV-1325
- Al eliminar los datos de una persona por RGPD, se eliminarán tanto las autorizaciones sobre otras personas así como las autorizaciones en la que aparezca la persona eliminada.
TNV-1226
- Al eliminar los datos de una persona por RGPD, se eliminarán los perfiles asociados (tanto actuales como programados e históricos), niveles, relaciones con entidades y relaciones con tutores.
TNV-1250
- Se añade un nuevo proceso en los procesos de inicio de sesión para actualizar la fecha de baja en los abonos que no la tienen informada y todos sus integrantes si la tienen informada.
TNV-1244
- En la aplicación de reglas de precios a conceptos, se resuelve problema que provocaba precios incorrectos en casos en que la persona tiene varios contratos de servicio, con diferentes fechas de validez.
TNV-1381
- En la pantalla de contratación de servicios, se resuelve problema al deshacer una baja en un contrato con un perfil vinculado con fecha de vencimiento informada (no se eliminaba la fecha de vencimiento).
TNV-1379
- En el asistente de contratación, se modifica el funcionamiento para que sólo se autoseleccione la entidad en caso de que se trate de un alta de contrato y no en la modificación de un contrato formalizado previamente.
- Además, se añade un botón para poder desasignar la entidad en el contrato.
TNV-1294
- En el proceso de facturación de accesos, se resuelve error no controlado en la consulta de las tablas de accesos y puertas.
TNV-1363
- Se corrige el problema detectado por el cual al añadir un nuevo carnet y este poderlo dejar vacío se producía un error interno y si se terminaba guardando los cambios, se eliminaban los carnets que habían. Ahora no se añade el carnet si este no se informa.
TNV-1318
- En los casos en que tengamos activada la configuración
Trabajar con el género de la persona
se corrige la asignación del valor del campo antiguo EsHombre
de la persona para que su valor sea coherente con el valor escogido de género si es masculino/femenino.
TNV-1383
- Se corrige una incidencia por la que no se enviaban correctamente SMS superiores a 70 carácteres con MundoSMS

TNV-1380
- En la facturación de ventas, al generar una factura rectificativa, se resuelve problema de asignación incorrecta de la hora de emisión (en lugar de asignar la del momento, se mantenía la de la factura original)
TNV-1439
- En ReserWin, se resuelve incidencia al editar una reserva y desvincular un recurso (no se elimina la reserva de ese recurso).

TNV-1229
- En ReserWin y TPVWin, se resuelve error no controlado al acceder a los recursos cuando se ha configurado un recurso con "Virtual" pero no se define una
FechaDisponibilidadVirtual
.

TNV-1332
- Se añade la exportación de grupos a la integración con TPC MatchPoint
- Se han realizado las siguientes correcciones sobre la exportación masiva de personas:
- Se ha corregido el bug detectado para que el proceso se pueda ejecutar correctamente en la llamada de vb6 de “Exportar datos a sistema externo”
- Se ha corregido la pantalla que se mostraba, para que admita la exportación con sistema NET correctamente (Podía provocar una excepción según la configuración previa)
TNV-1390
- Mejor control del error recibido por exportación BH Loop en el caso que el usuario no exista en destino y tengamos un IdTercero enlazándolo.
- En ese caso, se elimina el código de enlace IdTercero y se vuelve a intentar la exportación de persona nueva.
TNV-1330
- Se ha añadido una corrección en la exportación de accesos tanto en la parte .net como en vb6
- Ahora, al exportar un acceso, se comprobará también si la persona es exportable en el momento de la exportación.
TNV-1170
- En la pantalla de visualización y/o edición de datos de un pago, se modifica la política de seguridad de acceso y modificación de datos.
- Ahora si un pago pertenece a una venta exportada al SII, Verifactu, TicketBAI o cualquier sistema externo NO se permitirá modificar importes, forma de pago, fechas, titular, empresa, iva o analítica.

TNV-1382
- Por cambios en el protocolo de Timon Hotel, modificamos a demanda suya la operación de cierre de día añadiendo una llamada a su API
insertar-produccion
TNV-1168
- Ya está disponible en la Apple Store la versión 3.1 de SmartPanel, con nuevo logo e imagen corporativa.
TNV-928
- Disponible en tiendas de apps de Apple y Google la App de SputnikClimbingQR con las nuevas actualizaciones de SmartTagQR:
- Migración a .Net Maui
- Evitar la captura y/o compartición de pantalla
- Envío de la geolocalización dentro del QR dinámico
- Validación de la geolocalización por parte del Vigilante (funcionalidad disponible en el próximo DSuite 2024.4)
- Correcciones varias.
TNV-1193
- Disponible en la App Store de Apple la nueva versión de SmartTagQR Watch Edition que incluye localización del QR en un Apple Watch
TNV-1221
- Se añade en la versión 2.1 una pantalla lateral con la información de la versión.

TNV-1327
- Se deshabilita la posibilidad de utilizar los métodos sobre /configuraciones en SmartWS.
TNV-1272
- Se ha publicado y ya está disponible para su descarga tanto en la tienda de Apple como en la de Google la versión 2.1de SputnikClimbingQR.
- Esta versión trae mejoras en la localización del dispositivo
TNV-1415
- Se publica la nueva versión 3.1.1 de SmartPanel en la tienda de Apple y ya está disponible para su descarga incorporando la eliminación al inicio de la App de las fotos generadas en los procesos de captura de fotografía y captura de documento que se estaban quedando almacenadas en la memoria de la App.
TNV-1362
- Se corrige el problema detectado en el
'DELETE'
en el caso de tener activado el parámetro PermitirCarnetsSmartTagQRTelefonoYReloj
en la vinculación de un dispositivo con carnets tipo SmartTagQR, se ha añadido el filtro por el IdPersona.
- También se ha añadido el filtro conforme el numero de carnet tenga una longitud de 20 caracteres como en el resto de casos que ya lo tenían.
TNV-1404
- En la inscripción a actividades desde el Kiosco, se resuelve error no controlado en caso de actividades sin tipo de actividad configurado.
TNV-1418
- Endpoint:
~/accesos/validaracceso
~/accesos/validacionacceso
Parámetros de entrada:
Nombre parámetro |
Obligatorio |
Tipo Dato |
Comentarios |
IdLogica |
Si |
Texto |
Necesario para saber como se analiza el acceso. Debe ser una lógica configurada en el servicio |
Fecha |
No |
Datetime |
Si no se informa fecha del sistema |
Hora |
No |
Datetime |
Si no se informa hora del sistema |
NumeroCarnet |
Si |
Texto |
Se esperan las etiquetas QR[…] o RF[…] |
TipoAcceso |
No |
Enumerado [TipoAcceso] |
Si no se informa, se tratará como entrada |
Ejemplos:
{
"IdLogica": "Salida Principal",
"NumeroCarnet": "RF[0000004581827312]",
"TipoAcceso": "1"
}
{
"IdLogica": "Entrada Principal",
"Fecha": "2024-04-16T10:30:00",
"Hora": "2024-04-16T10:30:00",
"Latitud": 0,
"Longitud": 0,
"NumeroCarnet": "RF[0000004581827312]",
"TipoAcceso": "1"
}
Parámetros de salida:
Nombre campo |
Obligatorio |
Tipo de Dato |
Comentario |
IdAcceso |
Si |
Entero |
Identificador del acceso en el sistema |
Correcto |
Si |
Enumerado [ResultadosAcceso] |
Esto lo tenemos en cuenta para asociar la metafora del tema que teníamos anteriormente con el “Semaforo” que podía ser rojo, verde o amarillo. |
Datos |
Si |
Texto |
Información del acceso |
MensajeDisplay |
Si |
Texto |
Información del acceso o error del mismo |
TiempoEstancia |
Opcional |
Entero |
Tiempo de estancia en centro (Diferencia entre entrada/salida) |
IdPersona |
Si |
Entero |
Identificador de la persona en sistema |
IdReservaClase |
Opcional |
Entero |
Si es una reserva se cargará el valor correspondiente |
IdReservaRecurso |
Opcional |
Entero |
Si es una reserva de recurso, se cargará el valor correspondiente |
CodigoErrorAcceso |
Si |
Enumerado [ErrorAcceso] |
Código error |
MensajeErrorAcceso |
Si |
Texto |
Explicación aclarativa y “userfriendly” del error |
IdAccesoEntrada |
No |
Entero |
En caso de una salida, se informará el acceso de entrada |
Ejemplo:
{
"IdAcceso": 1013459,
"Correcto": 2,
"Datos": "Acceso correcto (Salida)",
"MensajeDisplay": "Vuelva pronto\r\nAcceso correcto (Salida)",
"TiempoEstancia": 52,
"IdPersona": 7,
"IdEntrada": 0,
"IdReservaClase": 0,
"IdReservaRecurso": 0,
"CodigoErrorAcceso": 0,
"MensajeErrorAcceso": "Acceso correcto - sin errores",
"IdAccesoEntrada": 1013458
}
{
"IdAcceso": 1013461,
"Correcto": 2,
"Datos": "Acceso correcto (Entrada)",
"MensajeDisplay": "Bienvenido\r\nAcceso correcto (Entrada)",
"TiempoEstancia": 0,
"IdPersona": 7,
"IdEntrada": 0,
"IdReservaClase": 0,
"IdReservaRecurso": 0,
"CodigoErrorAcceso": 0,
"MensajeErrorAcceso": "Acceso correcto - sin errores",
"IdAccesoEntrada": 0
}
{
"IdAcceso": 1013460,
"Correcto": 1,
"Datos": "Persona 0 no encontrada!",
"MensajeDisplay": "Persona no existe\r\nPersona 0 no encontrada!",
"TiempoEstancia": 0,
"IdPersona": 0,
"IdEntrada": 0,
"IdReservaClase": 0,
"IdReservaRecurso": 0,
"CodigoErrorAcceso": 2,
"MensajeErrorAcceso": "No se ha encontrado la persona en la base de datos:\r\n\r\n1) no existe en la B.D.\r\n2) esta persona corresponde a otro centro/instalación.",
"IdAccesoEntrada": 0
}
TNV-1336
- Se modifica la implementación en
[GET] Clases/Reservas
para añadir en la respuesta:
- En el caso de lista de espera:
FechaHoraFin
y IdRecurso
.
- En el caso de una reserva de clase:
CodigoActividad
TNV-1306
- En el objeto
Persona
que se utiliza en diversos WS (GET personas/personas
, GET personas/familiar
, …) se han añadido las propiedades “Activo” y “EstadoRGPD” para obtener esta información sobre la persona.
TNV-1402
- Se devuelven 2 nuevas propiedades de la actividad en el resultado de la llamada a
[GET /actividades/disponibilidad]
:
InscritosEnListaEsperaOcupanPlaza
: Informará del estado de este parámetro en la definición de la actividad
NumeroPlazasOcupadasEsperaOcupandoPlaza
: Si el anterior parámetro está activo, nos dará el número de inscritos en espera en la actividad, y que por tanto están ocupando plaza. 0 si el parámetro no está activo
La llamada devolverá todas las actividades que tengan plazas disponibles. Aunque en las plazas disponibles de la actividad se tendrá en cuenta el parámetro y por tanto podrá ser negativo, a nivel de este filtro solo se tendrán en cuenta los inscritos reales, no los que haya en espera.
TNV-1388
- Añadidos nuevos parámetros
“IncluirUnidadFamiliar”
y “TipoPersonaPago”
en la llamada [GET /economico/transacciones/deudas]
- El parámetro
IncluirUnidadFamiliar
(bool True/False) permite indicar si queremos incluir las deudas del resto de miembros de la unidad familiar
- El parámetro
TipoPersonaPago
(0: Todos; 1: Usuario; 2: Titular; 3: UsuarioOTitular) permite indicar qué papel representa el usuario en el pago, es decir si es el titular del pago, el usuario o cualquiera de ellos
TNV-1371
- En el WebService de contratación de abono, se soluciona problema en la asignación de forma de pago para la renovación en el caso de configuración de una forma de pago específica en el tipo de abono (no se tenía en cuenta)
- Esto resuelve el problema existente en DeporSite al intentar definir tipos de abono con pago por renovación en forma de pago Tarjeta Tokenizada. Usaba correctamente la forma de pago definida en el tipo de abono para alertar en la contratación de la necesidad de registrar tarjeta, pero al contratar usaba necesariamente la forma de pago de renovación del parámetro general.
TNV-1414
- Corregido problema en WS
[POST /recursos/reservas/{idReserva}/venta]
en modo confirmación en una reserva multiusuario, si existen varios usuarios con conceptos opcionales y no es posible vender a alguno de ellos los conceptos por no cumplir criterios de cantidad máxima / mínima, edad, perfiles (los cuales no se validan en el modo simulación) el WS devuelve el error correctamente, pero modifica el estado de la reserva de VentaAplazada (5)
a VentaAPosteriori (3)
.
- Esto provocaba que aunque se modifique la reserva para cumplir los requisitos ya no se puede realizar la venta, porque el WS lo impide
TNV-1254
- En los métodos de login, no se permite realizar la autorización si la persona para la que se intenta realizar el login no está activa o está bloqueada / eliminada por RGPD.
- Estas personas no serán consideradas válidas, por lo que no se tendrán en cuenta en el login a la hora de comprobar si hay más de 1 persona con el mismo mail / password.
TNV-1400
- Al realizar la llamada
GET [campus/candidatos]
, no se devolverá ninguna persona que no esté activa o esté bloqueado / eliminado por RGPD
TNV-1401
- Al intentar realizar la baja de un servicio NMS en un periodo ya cobrado, si en el servició no estaba configurado el día de ruptura de baja (valor = 0), se producía un error en el cálculo de la posible fecha de baja devolviendo un valor nulo. Se ha modificado el cálculo para que tenga en cuenta:
- Antelación mínima y máxima de la baja si están configuradas
- Día de ruptura (siempre que no sea 0)
y devuelva un valor correcto.
TNV-1282
- Añadidos nuevos parámetros
IncluirUnidadFamiliar
y TipoPersonaPago
en la llamada [GET /economico/movimientos]
- El parámetro
IncluirUnidadFamiliar
(bool True/False) permite indicar si queremos incluir los movimientos del resto de miembros de la unidad familiar
- El parámetro
TipoPersonaPago
(0: Todos; 1: Usuario; 2: Titular; 3: UsuarioOTitular) permite indicar que papel representa el usuario en el pago, es decir si es el titular del pago, el usuario o cualquiera de ellos
TNV-1372
- Se han modificado los flujos del Agente de trabajos para que se tenga en cuenta el valor del campo
“Si ejecución error”
dado que actualmente no se estaba teniendo correctamente en cuenta.
- Ahora si hay una tarea con el siguiente parámetro

y no tiene reintentos puestos en los parámetros

seguirá con la siguiente tarea.
En caso de que si las tenga, como en la imagen, solo seguirá con la siguiente cuando no queden reintentos.
TNV-1338
- En el método
GET [/actividades/{idactividad}/cursillistas]
se devolvián todos los cursillistas, activos o no.
- Si se solicitaba sólo la información de los inscritos en lista de espera, no se devolvía ningún dato, a pesar que existiesen personas en lista de espera.
TNV-1373
- En ciertos casos, según los permisos del usuario, no era posible extraer el fichero con el script de Mantenimiento, el cual estaba inscrustado en el ActualizadorSQL. Por tanto, se opta por distribuir el fichero en la misma carpeta que los scripts modelo, de forma que siempre esté disponible.
- La ejecución del script que creaba los storeds necesarios para el mantenimiento de la base de datos, requería permisos de SysAdmin, que solo son necesarios si se desea crear, además, los trabajos en el Agente SQL. Dado que no requerimos de esos trabajos, se reduce el permiso, de forma que será suficiente con que el usuario tenga permiso db_owner sobre la bbdd de Deporwin.
- Se ha modificado el DSuiteUpdater para permitir continuar con la actualización cuando el único error que se produce en la actualización de las bases de datos es debido a la ejecución del Script de creación de los scripts de mantenimiento.
TNV-1057
- Se corrige un error de desbordamiento en Vigilante detectado cuando se activa el parámetro siguiente en el vigilante
SoloPermitirAccesoConSmarttagQRParaUsuariosConSmartTagQR
y una persona con un idPersona con longitud superior a 32767 (tipo de datos integer) intenta acceder con un carnet RFID, tenga o no un SmartTagQR asociado.
TNV-1409