Entornos de configuración

24-01-2006 | Categoría: Desarrollo Deja un comentario »

No sabí­a si llamarlo entorno o ambiente, el caso es que en aplicaciones de las llamadas de escritorio, que hayan de funcionar en una red manejando datos que residan en un servidor, son necesarias varias configuraciones:

  • Local: Son datos referentes a la máquina: que impresora se ha elegido para las facturas, cual para los recibos, que rutas de acceso a datos compartidos, etc.
  • Usuario: si en nuestra aplicación el usuario puede configurarse cosas, muchas de esas configuraciones deben acompañar al usuario de forma independiente a la máquina: Preferencias de colores, vistas de documentos, filtros personalizados, etc.
  • Global: Hay configuraciones que afectan de forma general al programa: los permisos de acceso, ruta de instalación, nº de serie, etc.
  • Documento/empresa: Si el programa maneja documentos o es multiempresa, para cada uno de ellos habrán configuraciones o datos que se han de tener en cuenta de forma independiente a la máquina y al usuario.

    Normalmente utilizo una única tabla para almacenar estas configuraciones, con la siguiente estructura:

    ID Identificador único
    TABLA A que tabla o entorno pertenece el dato: GLOBAL, USER, LOCAL, etc.
    ID_TABLA Identificador del usuario, empresa, documento, etc o NULL si es global
    DATO Nombre/código del dato, por ejemplo: PATH_PDF o PATH_CONTAPLUS o COLOR_WARNING
    TIPO Tipo del dato: I=integer, F=float, D=fecha, S=cadena, B=bit, etc.
    VALOR Valor almacenado convertido en cadena

    Luego al entrar en el programa lo cargo en listas de objetos para no tener que ir haciendo consultas cada vez que necesito algo de la configuración.

Añade un comentario