27/02/2020

Base de datos de TREE

Tree usa como base de datos SQL SERVER aunque puede funcionar bajo pedido con otros sistemas (MySQL, Oracle, …).

Recomendamos SQL SERVER para funcionar con el «estándar» y asegurar el adecuado funcionamiento en futuras actualizaciones.

Lo que debes saber si quieres hacer informes o BI:

1º TREE usa una base de datos para cada empresa, si a3ERP usa una base de datos para cada empresa. TREE usa una base de datos para varias empresas si a3ERP se configura en modo ‘multiempresa’.

2º TREE tiene una estructura en árbol (de ahí su nombre):

Empresa -> (Delegación) -> (Grupo) -> Obra -> Capítulo -> (subcapitulos) -> partida.

La partida es la unidad básica y principal de análisis. Los demás son simples niveles de agrupación:

  • Conexión o Base de datos (recuerda, ¡puede haber varias!)
  • Tabla de empresa: T_EMPRESAS
  • Tabla de delegaciones: T_DELEGACIONES
  • Tabla de grupos: T_GRUPOS
  • Tabla de obras: T_OBRAS
  • Tabla de capítulos: T_CAPITULOS
  • Tabla de partidas: T_PARTIDAS


1º TREE gestiona OBRAS. Tienes la lista de obras en T_OBRAS

Llamamos OBRA al conjunto: PRESUPUESTO-(CERTIFICACION)-(COSTE)

No hay presupuesto sin obra.


2º Una obra no es más que una suma muy básica de partidas:  Tabla T_PARTIDAS. Es decir, el presupuesto de la obra es la suma básica del presupuesto de las partidas. Lo mismo con costes, certificaciones, producción, ampliaciones de presupuesto,…. lo que sea.


3º Debido a que lo normal es que una obra tenga varios cientos de partidas, las partidas se agrupan en capitulos: Tabla T_CAPITULOS, donde se aplica lo dicho en el punto 2º: Por ejemplo, el presupuesto de un capítulo es ¡la suma del presupuesto de las partidas de ese capitulo!. Los capítulos dan  un poco de complejidad al asunto, ya que el número de «niveles» (relación padre-hijo) es variable. Es decir, podemos tener una obra con un solo nivel de capítulos y ahí estarán las partidas, o podemos tener capítulos, subcapítulos, apartados, subapartados,… y en el 5º nivel las partidas. Para evitar esa complejidad usamos la vista V_CAP_PARTIDAS_T donde verás que todo está ya trabajado.


4º Los albaranes (de compra, ya que las obras no emiten albaranes de venta) están en las tablas T_ALB_CAB (cabecera), T_ALB_LIN (lineas), T_ALB_IMP (imputaciones)
En TREE tenemos unos conceptos que debes conocer:

  • Las facturas de compra tienen LOS ALBARANES COMO LINEAS. Esto asegura que no exista una factura sin albarán y que por tanto en las tablas de albaranes tengas el 100% de los costes.
  • Los albaranes pertenecen a su obra: NO PUEDE HABER UN ALBARAN DE DOS OBRAS.  (si puedo tener una factura que agrupa albaranes de varias obras).
  • Llamamos GASTO  a la suma del importe de los albaranes
  • Llamamos COSTE a la suma de los albaranes imputados
  • Llamamos ALMACEN  a la suma de los albaranes pendientes de imputar.

Por tanto:  GASTO = COSTE  + ALMACEN    (o dicho de otra manera, los albaranes, que representan lo que nos GASTAMOS en la obra, o bien están en el ALMACEN, o bien suman al COSTE de la obra).Es decir,  los albaranes en ALMACEN son un ACTIVO, y por tanto no suman todavía al coste de la obra hasta que no los consumamos. 
IMPUTAR = CONSUMIR = SACAR DEL ALMACEN Y COLOCAR EN OBRA
Por tanto, cuando imputamos decimos DONDE consumimos (en que PARTIDA sumamos el coste de ese albarán).

5º Tabla de facturas de compra: T_FRA


6º Tablas de facturas de venta (normalmente son certificaciones):  T_FRAV (cabecera)  T_FRAV_LIN  (líneas)


7º Tabla de mediciones:  T_LINEAS_MED   (las mediciones son el «desglose» de la cantidad de la partida). No creo que las necesites para BI.


8º Tabla de certificaciones y producción :  T_LINEAS_CER


9º Hay tablas del «sistema» que no necesitas para BI. Las distiguimos por prefijos:

  • ZI: Utilidad de Informes
  • ZA: Utilidad de Generación de archivos
  • ZE: Utilidad de sincronización de bases de datos
  • UT: Utilidades de los maestros
  • D: Datos básicos generales
  • G: LOG
  • S: Seguridad


Por tanto, puedes centrarte en las tablas que empiezan por T

Y entendiendo estas explicaciones lo demás es trivial.

Puedes descargar un ejemplo de la base de datos aquí (según versión 20.0)