No se me guarda el tema seleccionado en vERP 35.0

Buenas

Pues en el título ya lo digo todo, a ver si algún usuario de vERP me puede echar una mano

El caso es que cuando cambio el tema, se lo asigno a un usuario, aparentemente el tema, se aplica y se muestra el nuevo… Pero cuando cierro la aplicación el tema cambia y pues se aplica el por defecto, no se queda con el seleccionado

Hola fran_garcia.

Sí, es un problema de vERP, que aunque está reportado, parece que no se ha solucionado todavía en la 35. Más que un Bug es una mala práctica de programación al incluir en el código cadenas de texto literales, en este caso la cadena “AUTOEXEC”.

Hay varias cuestiones:

  • El tema con ID = AUTOEXEC ya no existe en la tabla de Temas TEM_W y sin embargo se usa en varios sitios como valor por defecto.
    Por ejemplo, en el proceso GEN_DAT_EJE se crea un usuario inicial asignándole el Tema AUTOEXEC, que como ya he dicho no existe inicialmente en la tabla TEM_W.
    image

  • En el proceso AUTOEXEC, que para mayor desgracia se ejecuta en el PRE_INI del Marco AUTOEXEC y por lo tanto no podemos depurar, se carga el Tema que tenga asignado el Usuario.
    image
    Inicialmente siempre se cumple que el Aspecto es CLARO (#ASP=0) y que al menos el Usuario tiene asignado un Tema Claro u Oscuro.
    Por lo tanto, se aplicará el Tema (TEM) del Usuario y se ignora el Tema que hayamos especificado para la Aplicación en la pantalla de Configuración (tabla APP_CFG_W).

  • Más abajo en el proceso AUTOEXEC ya no tiene efecto el Tema seleccionado a nivel de aplicación en la tabla APP_CFG_W.
    image

El resultado en una “bomba perfecta”: tienes seleccionado un Tema AUTOEXEC a nivel de Usuario que tiene preferencia sobre el Tema a nivel de Aplicación, pero como el tema AUTOEXEC no existe, nunca se aplicará el Tema correcto.

En resumen, tienes que asignar al Usuario un Tema que exista en la tabla TEM_W si quieres que el Tema se aplique por Usuario, o de lo contrario, si quieres que el tema se aplique por Aplicación, borra los campos TEM_CLA y TEM_OSC del Usuario conectado.

Finalmente, haz una búsqueda de la cadena “AUTOEXEC” (con las comillas incluidas) con la opción Ctrl+B para que veas donde se usa este Tema que ya no existe.

Recordad que vERP es una plantilla que viene con datos de ejemplo iniciales que siempre habrá que adaptar y completar a nuestras necesidades.

Saludos
Paco Satué

Buenas Paco

Ya decía yo que algo andaba mal, el 90% de los errores que contiene el dichoso vERP es para mi por hacer las cosas deprisa y corriendo, ya que aún después de tantas versiones no parece que arreglen los errores más comunes.

Muchas gracias Paco por la clase