Aplicar HOTFIX en AHORA 5 - Asistente de actualizaciones

Creado por David Miralpeix, Modificado el Mar, 10 Dic a 5:30 P. M. por Óscar Ortiz

TABLA DE CONTENIDOS

Introducción

En este artículo te explicamos como utilizar el "Asistente de actualizaciones" y también como actualizar tu hotfix de forma manual. Además a continuación puedes ver un vídeo explicativo de todo lo que te contamos en el artículo.   




Para actualizar a la versión AHORA 5 una base de datos sin personalizar, es necesario utilizar el "Actualizador", ya sea desde una base de datos en una versión 4.4.1000 o beta Ahora 5 como desde cualquier versión anterior.


NOTA: si quieres saber cómo funciona el actualizador consulta su sección completa aquí 

Este otro artículo, te ayudará a actualizar a la versión AHORA 5 paso a paso.



Actualización de hotfix manual


Si no has optado por utilizar la actualización automática utilizando el "Asistente de actualizaciones" que explicaremos a continuación, también es posible actualizar el hotfix con la misma herramienta Actualizador


Para ello utiliza AHORA Install con el número de la versión a la que quieras actualizar, genera una base de datos vacía y sigue los pasos de uso del Actualizador. 


Ahora Install instala en su ruta la herramienta Actualizador. Desde esta ruta "C:\Program Files\AHORA\AHORA Install 5\Actualizador" puedes usar el programa para conjuntamente con la base de datos vacía para actualizar a la versión 5.0.


En el caso de tener personalizaciones de pantalla que quieras mantener, recomendamos utilizar la herramienta Migrador para actualizar la base de datos a la versión 5.0 que también traducirá lo más aproximadamente posible las personalizaciones que tengas. 


La herramienta Migrador  se actualiza regularmente para ofrecer un resultado más correcto, no obstante no podemos garantizar una traducción perfecta en forma y diseño de cualquier funcionalidad que se haya añadido o modificado mediante código Ctrl + F10.


Actualización automática - Asistente de actualizaciones

Una de las mejoras implementadas de la versión AHORA 5 es el "Asistente de actualizaciones", con el cual se ha mejorado tanto la interfaz de usuario como la velocidad de ejecución del mismo.


En primer lugar, hay que partir de una versión igual o superior al hotfix 5 de AHORA 5  y actualizar a una versión superior a este hotfix.


Además, también debes partir con la API de este hotfix instalada y marcada para actualizar:




IMPORTANTE: Se instalará una API para cada base de datos, ya que la API apunta a una única base de datos. Si quieres ampliar información consulta la información técnica de la API aquí.  


La API configurada tiene que tener acceso a las rutas configuradas en los parámetros PATHACTUALIZACION, PATHLISTADOS Y PATHIMPORTACION. Estos parámetros, a no ser que nos encontremos en una instalación monopuesto en la que todo se instale en una única máquina, deberán ser rutas de red. Para garantizar que la API tenga acceso a estas rutas podría ser necesario cambiar el usuario con el que se arranca el servicio por un usuario con permisos de lectura y escritura sobre las mismas.



Acceso

Para acceder a la utilidad, haz uso del menú "Asistente de actualizaciones". Si no lo tienes disponible, es debido a que no está activo o configurado el paso anterior o el nodo por seguridad no está habilitado. Debes ponerte en contacto con el administrador del ERP para que lo active:



Funcionalidad


Al pulsar sobre el nodo se abre el "Asistente de actualizaciones" y procede a buscar si existe alguna actualización siempre que en el paso de instalación se haya marcado el check de "Activar actualización".

Tras completar la búsqueda se pueden dar varios casos que se verán a continuación.



Desde la versión 5.0.0.14, disponemos de un botón de ayuda que nos trae directamente del formulario a este artículo, para solucionar dudas o los posibles errores que surjan durante el proceso.


Para mejorar la usabilidad y la versatilidad del desarrollo, desde la versión 5.0.0.20 se añaden mejoras en el asistente y en el proceso de actualización, como las que se describen a continuación:
  • Posibilidad de seleccionar la versión que se desea instalar mediante un desplegable (ver funcionamiento en Caso 2 Nueva versión disponible).
  • Se modifica el formulario del asistente de actualización añadiendo menús con las posibles opciones. Estas opciones se quedan guardadas por usuario. Las opciones son la siguientes:
    • Eliminar resto de sesiones activas del resto de usuarios;
      • En caso "Si", dependiendo de la opción "Eliminar sesiones", insertará tantos registros en Ahora_Sesion_Desconexion como usuarios logueados existan para avisarles del cierre de sesión. En la API se matarán las sesiones.
      • En caso "No", cancelará actualización
    • Ejecutar el script en modo usuario único; el modo de usuario único se suele utilizar para operaciones de mantenimiento y especifica que solo un usuario puede tener acceso a la base de datos cada vez.
    • Crear copia de seguridad de la base de datos previa a la ejecución del script de actualización; se guarda en el directorio configurado por defecto en la instancia de SQL.



  • Se implementa en la API un proceso programado que busque versiones una vez a la semana. Mejorar el sistema de borrado de versiones innecesarias, ya que actualmente solo borra versiones anteriores a la actual y además debe borrar versiones futuras no instaladas (excepto la última preparada); antes de aplicar una actualización, consultar si se está obteniendo un diferencial y abortarlo antes de que se produzcan conflictos; antes de aplicar una actualización, consultar si existen sesiones abiertas de otros usuarios en el ERP y preguntar al administrador si desea continuar; refrescar automáticamente el formulario mediante un temporizador.


Casos de uso


Caso 1 Versión actualizada 


Versión actualizada: en este caso no es necesario realizar ninguna acción ni se procederá a la descarga de versión en segundo plano. El usuario puede seguir trabajando ya que tiene la última versión disponible.



Caso 2 Nueva versión disponible


Nueva versión disponible: hay actualizaciones disponibles. En este momento AHORA ERP va a descargar los archivos necesarios para la actualización. 


Desde la versión 5.0.0.20, mediante un desplegable puedes seleccionar el número de versión al que deseas actualizar. Si hay más de una versión superior disponible desde tu número de versión, aparecerán en el combo. 



Antes de proceder a la descarga, cuando esta se trate de una versión evolutiva, se visualizan las "Notas de la versión"

 

Una vez seleccionado el número de versión, el asistente de actualizaciones de AHORA 5 ERP va a descargar los archivos necesarios para la actualización. 

 

Este proceso se realiza en segundo plano y es transparente para el usuario, no es necesario estar frente a la pantalla.


La duración de la descarga, comparación de estructura y obtención del diferencial de nuestra base de datos con respecto a la versión disponible depende de las capacidades del equipo entre otros factores, es por esto que no podemos indicar una duración estimada.



 

Se pueden visualizar los pasos que va dando dado o en qué punto se encuentra el proceso, ya que refresca de forma automática, también puedes pulsar el botón "Refrescar" situado en la zona inferior izquierda. En la sección central puedes ver estos pasos de la preparación a modo de log con las fechas y tiempos empleados.




IMPORTANTE: A partir de este momento no deben de realizarse cambios de estructura de base de datos dado que el script que se genera en segundo plano no va a tenerlo en cuenta, con la posible perdida de configuración. 

Si se ignora esta advertencia, cuando se proceda a realizar la actualización saldrá un mensaje avisando del caso encontrado.



Caso 3 Listo para actualizar


Listo para actualizar: en este punto, los archivos necesarios se han descargado. Después de hacer manualmente un bak de la base de datos y de asegurarte de que no quede nadie trabajando, previa planificación, puedes proceder a la actualización pulsando el botón 'Actualizar' ubicado en la botonera inferior.



Caso 4 Actualización en progreso


Actualización en progreso: al pulsar el botón "Actualizar" del caso anterior, aparece una ventana donde se visualiza el progreso de actualización. Debes esperar a que la actualización finalice.


El proceso de actualización realiza las siguientes acciones:

  1. Actualizar la base de datos a la última versión
  2. Desplegar el ejecutable del ERP en la carpeta PATHACTUALIZACION para que cualquier cliente ERP que se conecte  con una versión diferente pueda actualizarse automáticamente.
  3. Desplegar la carpeta de actualización de la TPV a PATHACTUALIZACION para que las TPV's, en caso de usarlas, se actualicen de forma automática al detectar el cambio de versión.
  4. Copiar la última versión estándar de los listados de impresión en la ruta PATHLISTADOS
  5. Copiar la última versión estándar de las plantillas de importación en la ruta PATHIMPORTACION
  6. Actualizar la API del ERP a la misma versión de la base de datos.




Actualización finalizada: pasados escasos minutos, recibirás un mensaje indicando que la actualización de la base de datos ha finalizado. El siguiente paso será iniciar sesión de nuevo para que se actualice el cliente AHORA 5, ya que al pulsar en el botón "Aceptar", el "Asistente de actualizaciones" se cerrará. 



Caso 5 actualizar cliente AHORA 5 automáticamente


Cuando se inicie sesión en los diferentes puestos de trabajo, éstos se actualizarán a la versión de la base de datos.


Al iniciar AHORA ERP, se mostrará el siguiente mensaje y después de pulsar el botón "Aceptar", se iniciará el proceso de actualización del programa.



En las siguiente secuencia de capturas, puedes ver como actúa el asistente que se encarga de desinstalar la versión existente de AHORA ERP y desplegar la nueva versión coincidente con la versión de la base de datos.



Una vez finalizado pulsa terminar para cerrar el asistente. 




Al iniciar sesión de nuevo con el sistema actualizado, puedes acceder de nuevo al "Asistente de actualizaciones"  y ver en la pestaña histórico el registro de actualizaciones automáticas. 


Es importante destacar que las actualizaciones por Hotfix o con el actualizador no se verán reflejadas en esta tabla.



Posibles errores y cómo corregirlos


En ocasiones, puedes encontrarte con los siguientes mensajes de error:


Parámetro API_URL no configurado


Debes asegurarte de tener la API instalada e informada en el parámetro API_URL. 





Error inesperado


Response status code does not indicate success: 404: debemos asegurarnos de tener la API instalada e informada en el parámetro API_URL.



Error preparando actualización: PATHACTUALIZACION no establecido 

Debemos informar una carpeta de red con permisos para todos los usuarios en el parámetro PATHACTUALIZACION, o bien que el usuario que hemos configurado en la API tenga acceso a la ruta definida. 

Además en esta ruta debemos de crear, si no existe un directorio con permisos de escritura, con el nombre "ERP5"




Error localizando instalador

Puede deberse a un microcorte de red o a que no ha descargado todavía el NuGet para la actualización. Pulsar el botón Reintentar o cerrar el formulario y volver más tarde.




Error comparando estructura 

Se ha detectado una excepción inesperada durante la operación de llenado del modelo de destino. La transacción (id. de proceso 123) quedó en interbloqueo en bloqueo recursos con otro proceso y fue elegida como sujeto del interbloqueo. Ejecute de nuevo la transacción. Se volverá a intentar la comparación: Puede deberse a un microcorte de red o a que otro proceso está accediendo a la base de datos. Pulsar el botón cerrar y volver a intentar la actualización más tarde.



Error desconocido #18968 


Consulte con su proveedor de software: este mensaje se muestra cuando la licencia está pendiente de pago.




Necesita permisos de administrador para poder ejecutar esta acción


Este mensaje se muestra cuando el usuario no es administrador.




No se encontró el registro de actualización válido para actualizar

Este mensaje se muestra cuando otro usuario ha iniciado la actualización antes que nosotros. También es posible que se muestre cuando hemos iniciado el proceso nosotros y se están creando los archivos necesarios para el proceso. Esperar unos minutos y refrescar.



Se encontraron modificaciones de estructura de base de datos posteriores a la generación del script de actualización 


El mensaje: Se encontraron modificaciones de estructura de base de datos posteriores a la generación del script de actualización. Es necesario generar nuevo script 


Es debido a que desde que se inició el script de actualización al momento que vamos a actualizar se han encontrado o bien modificaciones en objetos o bien nuevos objetos (tablas, vistas, procedimientos...) que impiden que la actualización sea correcta.

Hay que pulsar el botón reintentar para volver a hacer el script diferencial que nos generará un nuevo script diferencial de estructura



Se ha detectado una excepción inesperada durante la operación de llenado del modelo de destino

La transacción (id. de proceso XX) quedó en interbloqueo en bloqueo recursos con otro proceso y fue elegida como sujeto del interbloqueo. Ejecute de nuevo la transacción.. Se volverá a intentar la comparación.


Es debido a un interbloqueo que nos ha dado el propio SQL Server, por ejemplo se está realizando una copia de seguridad, o alguien está ya ejecutando la creación del script diferencial, debemos de cerrar el formulario, volver a entrar y pulsar el botón refrescar 



Error comparando estructura

Se ha detectado una excepción inesperada durante la operación de llenado del modelo de destino: Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. Se volverá a intentar la comparación.




El mensaje 'No se puede establecer una conexión ya que el equipo destino denegó expresamente dicha conexión' 

Puede deberse a que el servicio de la API se está actualizando o a que no está iniciado. En el primer caso, debemos esperar unos minutos a que se actualice e inicie; en el segundo caso, basta con iniciarlo desde la herramienta Servicios de Windows.




El mensaje 'No se encontró sesión iniciada para el usuario. Debe loguearse en el ERP' 


Es debido a que la API está apuntando a otra base de datos en la que no hay un usuario logueado con el mismo login que en la base de datos con la que se está trabajando. Para solucionarlo, se debe indicar la base de datos correcta en el archivo appsettings.json de la carpeta de instalación de la API. No está de más, asegurarse de que no tenemos más de una API apuntando a la misma base de datos




El mensaje "La licencia no contiene el módulo ERP" 


Aparece en la versión 5.0.0.1 y 5.0.0.2. Se deberá realizar la actualización a través del actualizador a la versión 5.0.0.3 o posterior. Una vez hecho, se podrá utilizar el asistente de actualizaciones.



"Error desplegando API Actualizador: Access to the path 'API.xml' is denied" 


Este error es debido a  que el ERP no tiene acceso a la carpeta APIActualizador, situada dentro de la carpeta de instalación de la API. Para poder continuar, dicha carpeta tiene que poder ser eliminada. 



"Reintentando comparación de esquemas por interbloqueo" 


Este error es debido a que el la base de datos no tiene acceso total por interbloqueo. El sistema reintentará de forma automática obtener el acceso y no es necesaria ninguna acción adicional por parte del usuario.




"Error desplegando API Actualizador: Value cannot be null" 


Este error aparece cuando se está actualizando en local y en la carpeta indicada en la API como repositorio no se encuentra el archivo AhoraERP.API.5.x.x.xxx.nupkg.






"Error ejecutando script de actualización" 


Para poder ejecutar correctamente el script de actualización es imprescindible que el nivel de compatibilidad de la base de datos sea 130 o superior.






"El fichero Ahora_Impresion.exe no se ha podido sobreescribir por estar en uso" 


Tanto este mensaje, como el homónimo con AhoraServicio.exe, se debe a que el proceso de actualización intenta parar y actualizar tanto AHORA Servicio como AHORA eFactura en caso de estar configurados y encontrarlos en el mismo equipo en el que se encuentra instalada la API.


Este paso, debido a restricciones del propio SO, puede que no se ejecute por falta de permisos o por lentitud a la hora de parar los servicios asociados a ambos módulos. No obstante, el mensaje que muestra es meramente informativo para que el usuario lo tenga en cuenta y proceda a su desinstalación manual e instalación de la versión adecuada usando AHORA Install.


El resto de las tareas implicadas en el proceso de actualización se ha realizado con éxito y se puede trabajar de forma normal con el ERP.

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo