FAQ - Techfun - No inicia el programa

Creado por David Miralpeix, Modificado el Mar, 12 Nov a 10:49 A. M. por Alejandro Sahuquillo Falaguera


En ocasiones, puede suceder que el programa no inicie, quedando minimizado en la barra de tareas, mostrando una pantalla en blanco o mostrando un error.


La ejecución y carga de Techfun requiere, como requisito imprescindible, la correcta conexión a la base de datos para recuperar las variables de entorno y demás información necesaria para cargar la interfaz. Mientras se ejecuta este proceso de conexión y recuperación de datos se muestra un gif animado que se cierra de forma automática tras unos segundos de espera máxima.


En caso de no haber realizado de forma correcta el proceso de carga, este logo animado se cierra mostrando el icono de Techfun minimizado en la bandeja del sistema. Es decir, que el gif animado desaparezca no significa que Techfun haya cargado, simplemente que ha superado el tiempo máximo establecido para su visualización.


A partir de este punto pueden suceder varias cosas:

  1. Que se quede el logo de Techfun minimizado de forma temporal, hasta que el proceso de conexión consiga obtener los datos necesarios y, finalmente, cargue el entorno de Techfun. En cuyo caso el problema es probablemente de latencia en la conexión o rendimiento de la base de datos.
  2. Que se quede el logo indefinidamente y no cargue el entorno ni pasados unos minutos prudenciales de espera. 
  3. Que aparezcan mensajes de error de tipo frmColMultiple_IE - MALP_ObtenerPuertoLibre o MALP_ObtenerNodesActivos
  4. Que aparezca un error de permisos denegados a puertos o de imposibilidad de inicializar la comunicación con el ERP.


A continuación daremos una serie de pasos a seguir o punto a comprobar en base a la experiencia recibido en diferentes instalaciones.


TABLA DE CONTENIDOS


RequestError: La instrucción asociada no está preparada.


Este error se deriva de la creación o restauración de una base de datos utilizando un usuario que no pertenece a un grupo de seguridad con los suficientes privilegios y permisos.


En la versión 5.0.0.20 se incluyó una modificación en los proceso de ejecución de Techfun que permitía un incremento notable en el rendimiento de la carga del entorno. Estas consultas requieren la ejecución con un usuario con credenciales elevadas como el usuario SA, sin embargo, al ser creada la base de datos con un usuario tipo dbo, la ejecución de los procedimientos no está permitida visualizándose el error "La instrucción asociada no está preparada", error genérico que muestra el conector ODBC de Techfun al no ser capaz de interpretar el error real que devuelve la base de datos.


Para subsanar este problema es necesario ejecutar el siguiente script:


ALTER AUTHORIZATION ON DATABASE::[Base de datos] TO sa;


Versión SQL Server


Recientemente Microsoft desplegó un parche a sus servidores SQL Server para corregir un error de consulta a las tablas de sistemas que, aleatoriamente, generaba retrasos en la ejecución de las mismas. 


El entorno Techfun realiza consultas a estas tablas para obtener las columnas y los tipos de datos asociadas a las mismas con el fin de cachearlas y que la carga de los combos en los buscadores de colecciones se agilice.


Es por esto que resulta imprescindible que el Servidor SQL Server tenga los últimos parches y actualizaciones disponibles para garantizar que el error de la carga del entorno no sea por un error del propio motor de base de datos-


Requisitos Previos


Es necesario verificar si los requisitos previos de Techfun se están cumpliendo, prestando especial atención a la versión de SQL Native Client, componente que utiliza Techfun para conectarse la base de datos. En caso de no tener instalado Native Cliente, podría darse el error siguiente al no encontrar el driver necesario para las consultas a base de datos:



El componente se despliega de forma automática cuando desde el Asistente de Instalación se despliega o instala algún módulo. Es decir, cada vez que se instala Ahora Install el propio sistema comprueba si ya está instalada la versión de Native Cliente y, en caso de no ser así, la instalada de forma transparente.


Si se ha instalado en un equipo de cliente el ERP sin utilizar Ahora Install es posible que el componente no esté instalado y que, por tanto, Techfun sea incapaz de acceder a la base de datos. La forma más rápida de subsanar esta carencia es usar el Asistente de Instalación en el equipo para desplegar Ahora Install sin marcar ningún módulo, o reinstalando el ERP con un usuario en modo administrador.


Al finalizar la reinstalación debería aparecer el ODB en la lista de orígenes de datos.


Panel de Control --> Herramientas administrativas --> Orígenes de datos ODBC (64 bits)


Permisos en el Ejecutable


Un punto a tener en cuenta es que la primera vez que se instala y ejecuta Techfun en un equipo el sistema pide la asignación de permisos al ejecutable. Es importante permitir el acceso para no tener posteriores errores de permisos con el ejecutable y bloqueos por el cortafuegos.





Revisar la Conexión


Es necesario verificar que la conexión del ERP es correcta. Si la conexión asociada al inicio del ERP no está apuntando a la instancia correcta, el acceso a la misma puede quedar bloqueado no devolviendo los datos necesarios par la carga del entorno. Para asegurar este punto hay que revisar la información usando la utilidad AhoraConexion.exe incluida en la ruta de instalación de AHORA ERP.


La conexión se puede testear y modificar desde la utilidad AhoraConexion.exe situada en la carpeta del ERP.



En otras ocasiones se ha detectado un problema con la resolución del nombre del servidor. Cambiando en la conexión  del el nombre de la instancia por la IP del servidor, puede llegar a resolver la incidencia.



Usuarios y Contraseñas


En algunos casos se ha encontrado problemas con los usuarios o las contraseñas de los mismos. Es recomendable asegurarse de que las contraseñas de usuario cumplen las condiciones necesarias. 


Techfun no permite contraseñas con algunos caracteres especiales. Estas contraseñas pueden ser válidas para el ERP en entorno clásico, sin embargo, debido funcionamiento interno de Techfun, no se deben crear contraseñas con los siguientes caracteres: espacios, paréntesis, llaves, tubería, dólar, punto y coma.


Aparentemente, el inicio de sesión puede suceder sin problemas, pero la funcionalidad no será la correcta.


Para solucionar este caso, basta con cambiar la contraseña,  eliminando dichos caracteres.


Desde las versiones 4.4.220 hotfix 47 y 4.4.2300 hotfix 14, el único carácter reservado es el punto y coma (;).


Objetos y Colecciones


Techfun utiliza el nombre de las colecciones como selector de elementos HTML mediante Javascript y el uso de espacio puede ser interpretado por el selector como fin de cadena, lo que provoca un error.


En algunos clientes nos hemos encontrado con objetos o colecciones personalizados que contenían espacios en su nombre. Esto, si bien es posible llevarlo a cabo desde el Admon, es una práctica no recomendable precisamente por errores no controlados que pueden derivarse.


Para corregir este error, lo único que debemos hacer es eliminar los espacios del nombre del objeto en el admon o mediante SQL:


Por ejemplo "Ventas Facturadas" dará un error y hay que modificar el nombre a algo como: "Ventas_Facturadas" o "VentasFacturadas".


A partir del hotfix 4.4.2400.61 se ha incluido un desarrollo/corrección que realiza un reemplazo de la cadena cuando se encuentra espacios en el identificador.


Dashboards


En sistemas con pocos recursos o bases de datos lentas, puede darse el caso que determinadas consultas del Dashboards ralenticen el entorno y, por extensión, la carga del propio Techfun.


Una prueba para garantizar que este no es el problemas eliminar el Dashboard y volver a entrar en Techfun, Si el efecto de entorno minimizado en la barra de tareas desaparece entonces habrá que revisar las consultas del Dashboardcon el fin de buscar cuál está generando la lentitud en la carga


En ocasiones se han presentado errores de ejecución de consultas del Dashboard que muestran el error en segundo plano, detrás de la pantalla principal de Techfun. El sistema se queda "congelado" a la espera de cerrar ese mensaje que no se ve. Puesto que esta pantalla secundaría tiene el foco, pulsando intro se puede cerrar para continuar con la ejecución. En este caso habría que detectar el origen del error para solucionarlo, eliminando los buscadores personalizados.


Errores de Comunicación Windows - ERP - Techfun


Este caso es más complejo de verificar y solucionar. Supone que, por algún motivo, la comunicación de Techfun con el entorno de procesos de Windows no se puede realizar.


El error en MALP_obtenerPuertoLibre se da al por no poder acceder a la lista de puertos para generar la comunicación Techfun-ERP. Por defecto busca el primer puerto libre en un rango de puertos del 60000 al 62000.


El error MALP_ObtenerNodesActivos  se da al buscar los procesos cargados en el equipo que se llamen "node.exe" para poder vincularlo con el ejecutable del ERP y realizar la comunicación entre ambas aplicaciones.


Si da este tipo de errores el problema es del propio equipo:

  • Es posible que alguna aplicación esté interfiriendo con alguna de las librería estándar que utiliza el ERP. Si el problema se ha generado de un día para otro, conviene revisar las aplicaciones instaladas en ese periodo de tiempo y desinstalarlas. También es conveniente reinstalar el ERP para volver a registrar las librerías.
  • Es posible que una actualización de Windows esté interfiriendo con la correcta ejecución del programa. 
  • Es posible que un cortafuegos esté bloqueando la aplicación o el rango de puertos utilizados para la comunicación Techfun-ERP. Conviene deshabilitarlo para probar. Si el problema es de firewall se debe garantizar el acceso a los puertos de SQL Server y que no esté filtrada la aplicación Techfun.exe para evitar la conexión al mismo. También es posible que haya que habilitar las conexiones entrantes o habilitar puertos específicos como el 64010.



  • Es posible que un antivirus esté bloqueando la comunicación por los puertos o esté eliminando el proceso de memoria. 
  • Es posible que un cambio en las directivas de seguridad de la organización o del propio usuario de Windows, haya generado que el mismo no tenga permisos de acceso a los procesos de memoria de la máquina, o al uso de puertos internos.

En cualquier caso, ante un error de este tipo, conviene revisar el visor de eventos de Windows por si se pudiera localizar algún error de uso de librerías o de instanciación de la aplicación.



Puertos Reservados


Ante errores del tipo EACCES y "No se ha podido inicializar la comunicación con el ERP", es necesario actuar sobre el propio sistema operativo.




En estos casos el problema suele derivarse de Windows. Por alguna razón tiene los puertos reservados o bloqueados siendo necesario la ejecución en una consola de windows (cmd) en modo administrador de los siguientes comandos para reiniciar el servicio de traducción de direcciones de red.


net stop winnat

net start winnat


Errores de Hardware


En alguna ocasión se han dado errores derivados de los propios adaptadores de red dando errores del tipo ERR_NETWORK_CAHNGED


En estos casos el propio equipo es incapaz de acceder a la base de datos en local en modo Techfun. A pesar de sí poder hacerlo en modo clásico, el componente NativeClient y el servidor interno de Techfun presenta errores al intentar acceder a puertos locales derivados de fallos del propio adaptador de red que bloquea o es incapaz de resolver las peticiones.


En este caso la solución pasa por reemplazar el adaptador de red puesto que ni un formateo del equipo tiene efecto.


Error de automatización


En determinados equipos se da un error especialmente crítico con mensajes similares al siguiente.



Este tipo de errores se debe a la imposibilidad del entorno del ERP clásico de acceder a los procesos de memoria del equipo. Este paso es imprescindible para vincular el proceso de Techfun con el proceso del ERP, de forma que permita abrir objetos del ERP y acceder a toda la funcionalidad del mismo desde Techfun.


El error concreto es con el objeto WMI de windows, el cuál, por motivos que no podemos ni controlar ni subsanar, da errores de acceso al nodo de procesos de memoria root/CIMV2.


Es posible intentar solucionarlo otorgando permisos de forma manual a los nodos o revisando si estos existen, en cualquier caso, es un error ajeno al propio programa y no podemos aplicar una solución definitiva puesto que las causas son desconocidas y específicas de la configuración del propio equipo.


Se puede revisar la configuración local siguiendo los siguientes pasos:

  1. Ejecutar wmimgmt.msc 
  2. Botón derecho en Control WMI (local)
  3. en la pestaña Seguridad, dentro de la pestaña General, revisar si existe el nodo ROOT\CIMV2 y si tiene permisos para el usuario actual.


 

Si no es posible solucionar este tipo de errores en el equipo, sólo podemos optar por tres alternativas:

  • Utilizar siempre el entorno clásico que no requiere de esa comunicación Techfun/ERP y, por tanto, no dará ningún tipo de error.
  • Utilizar la versión 5.0 de Ahora ERP que, ante el cambio de tecnología, la forma de consultar los procesos de memoria cambia y no debería de dar estos errores.
  • Probar a formatear el equipo o entrar en modo a prueba de fallos. Aunque esta sea una medida extrema y que no garantiza que se solucione el problema.



No funciona correctamente en un equipo o puesto en concreto


Es posible de que se dé el caso que en un equipo o puesto de trabajo concreto, no funcione correctamente el ERP; cargando con lentitud o tardando en arrancar más tiempo en comparación a otros equipos de la misma red. Si en otros equipos funciona correctamente y se accede desde la misma base de datos al mismo servidor, recomendamos seguir los siguientes pasos para intentar solucionarlo.


IMPORTANTE:  Ante cualquier cambio de permisos, de configuración del equipo, de red, firewall...etc recomendamos reiniciar el equipo para verificar que se aplican correctamente dichos cambios.

  • Desactivar el Dashboard del usuario, por si pudiera estar causando lentitud en el arranque del ERP.

  • Revisar las configuraciones de red, firewall, origen de base de datos...etc indicadas en este mismo artículo.

  • Dar permisos totales al usuario que se esté usando sobre la carpeta de Techfun (Dentro de la carpeta en la que está instalada el ERP). Posteriormente deberemos reiniciar el equipo. Si persiste el error, probar ejecutando como administrador y dándole permisos al usuario administrador también sobre la carpeta.

  • En caso de que siga sin funcionar correctamente deberían revisarlo con su responsable de Sistemas para comprobar las configuraciones distintas a otros equipos en los que si que funciona con normalidad y verificar si el equipo cumple con los requisitos mínimos.

  • Como alternativa se pueden activar los logs de acceso.

Logs de acceso Versión 4.4.2400


Si, tras comprobar los puntos anteriores, el programa sigue sin iniciar, desde la versión 4.4.2300.26 se incluye la opción de activar un log de ejecución de inicio para trazar los pasos concretos que lleva a cabo Techfun y el ERP al arrancar.


Siguiendo los pasos del artículo Techfun - Log de Inicio ERP se generará un fichero de texto que podrás consultar o incluir en una petición de ayuda a alguno de nuestros técnicos.


También es posible generar un log de Inicio de Techfun siguiendo el artículo Techfun - Log de Inicio Techfun


Logs de acceso Versión 5.0


A partir de la versión 5.0.0.20 se incluye una gestión de logs de errores nativa en la versión 5.0. Esta gestión unifica tanto los errores de Techfun como los propios errores del ERP en un mismo fichero AhoraERP.log creado en la misma carpeta que el ejecutable del ERP.



Para habilitar el log se debe modificar el fichero appsettings.json de la ruta del ERP "\AppData\Local\AhoraErp5" , cambiando el valor del parámetro Loggin/LogLevel/Default a un valor suficiente para detectar los errores como, por ejemplo, Debug.



Al cerrar el ERP y volver a entrar se creará y usará el fichero del Log con la información de arranque y posibles errores de la aplicación. Tras consultar las posibles causas de los errores de arranque es recomendable volver a dejar el estado anterior para evitar la sobrecarga del sistema y el crecimiento del fichero del log.

Lista de especificidad de valores:Trace = 0, Debug = 1, Information = 2, Warning = 3, Error = 4, Critical = 5, and None = 6.

¿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