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.

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. 


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


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.


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


 

En caso de querer visualizar en algún momento los pasos que ha dado o en qué punto se encuentra este proceso de descarga en segundo plano, puedes pulsar el botón "Refrescar" situado en la zona inferior izquierda. En la sección central

puedes ver los 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 consultando estado de actualización: No process is asociated with this object" 


Este error aparece cuando se está actualizando la API y a la vez el programa consulta su estado. Basta con esperar unos minutos y pulsar el botón refrescar para que desaparezca y se muestre el estado de la actualización