From 670350fbaced59ae86cddd5675cca5f9ea48320e Mon Sep 17 00:00:00 2001 From: roberto Date: Tue, 21 Aug 2007 16:17:05 +0000 Subject: [PATCH] Se quitan las vistas que ya no son necesarias para el los informes de margen git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@136 c93665c3-c93d-084d-9b98-7d5f4a9c3376 --- Database/VISTAS.SQL | 353 +------------------------------------------- 1 file changed, 4 insertions(+), 349 deletions(-) diff --git a/Database/VISTAS.SQL b/Database/VISTAS.SQL index b36ec8d5..9d289192 100644 --- a/Database/VISTAS.SQL +++ b/Database/VISTAS.SQL @@ -1,9 +1,12 @@ -DROP VIEW V_INF_VENTAS_ARTICULOS; DROP VIEW V_INF_MARGEN_ARTICULOS; DROP VIEW V_INF_MARGEN_COMPRAS; DROP VIEW V_INF_MARGEN_VENTAS; DROP VIEW V_INF_PROMEDIO_COMPRA; DROP VIEW V_INF_PROMEDIO_VENTA; + + + +DROP VIEW V_INF_VENTAS_ARTICULOS; DROP VIEW V_INF_ULTIMA_COMPRA; DROP VIEW V_INF_ULTIMA_VENTA; DROP VIEW V_INF_FEC_ULTIMA_COMPRA; @@ -2369,354 +2372,6 @@ and (facturas_cliente.FECHA_FACTURA = v_inf_fec_ultima_venta.fecha) /*nos quedam group by 1, 2, 3; -CREATE VIEW V_INF_PROMEDIO_COMPRA( - ID_EMPRESA, - ID_ARTICULO, - IMPORTE_UNIDAD_COMPRA, - IMPORTE_NETO_COMPRA, - IMPORTE_PORTE_COMPRA) -AS -select -facturas_proveedor.id_empresa, -facturas_proveedor_detalles.ID_ARTICULO, - -avg(facturas_proveedor_detalles.IMPORTE_UNIDAD) as IMPORTE_UNIDAD_COMPRA, -avg(facturas_proveedor_detalles.IMPORTE_UNIDAD - (facturas_proveedor_detalles.IMPORTE_UNIDAD * (facturas_proveedor_detalles.DESCUENTO / 100))) AS IMPORTE_NETO_COMPRA, -avg(facturas_proveedor_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_COMPRA - -from facturas_proveedor_detalles - -left outer join facturas_proveedor -on (facturas_proveedor.id = facturas_proveedor_detalles.id_factura) - -WHERE (facturas_proveedor_detalles.ID_ARTICULO IS NOT NULL) AND (facturas_proveedor_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/ -and (facturas_proveedor_detalles.cantidad > 0) /*Quitamos los abonos*/ - -group by 1, 2; - - -CREATE VIEW V_INF_PROMEDIO_VENTA( - ID_EMPRESA, - ID_CLIENTE, - ID_ARTICULO, - IMPORTE_UNIDAD_VENTA, - IMPORTE_NETO_VENTA, - IMPORTE_PORTE_VENTA) -AS -select -facturas_cliente.id_empresa, -facturas_cliente.id_cliente, -facturas_cliente_detalles.ID_ARTICULO, - -avg(facturas_cliente_detalles.IMPORTE_UNIDAD) as IMPORTE_UNIDAD_VENTA, -avg(facturas_cliente_detalles.IMPORTE_UNIDAD - (facturas_cliente_detalles.IMPORTE_UNIDAD * (facturas_cliente_detalles.DESCUENTO / 100))) AS IMPORTE_NETO_VENTA, -avg(facturas_cliente_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_VENTA - -from facturas_cliente_detalles - -left outer join facturas_cliente -on (facturas_cliente.id = facturas_cliente_detalles.id_factura) - -WHERE (facturas_cliente_detalles.ID_ARTICULO IS NOT NULL) AND (facturas_cliente_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/ -and (facturas_cliente_detalles.cantidad > 0) /*Quitamos los abonos*/ - -group by 1, 2, 3; - - -CREATE VIEW V_INF_MARGEN_COMPRAS( - ID_EMPRESA, - ID_ARTICULO, - IMPORTE_UNIDAD_ULT_COMP, - IMPORTE_NETO_ULT_COMP, - IMPORTE_PORTE_ULT_COMP, - IMPORTE_UNIDAD_PRO_COMP, - IMPORTE_NETO_PRO_COMP, - IMPORTE_PORTE_PRO_COMP) -AS -select ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0), COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0), COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0), - COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0), COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0), COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) - -from -(select ID_EMPRESA, ID_ARTICULO, -IMPORTE_UNIDAD_COMPRA as IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA as IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA as IMPORTE_PORTE_ULT_COMP, -null as IMPORTE_UNIDAD_PRO_COMP, null as IMPORTE_NETO_PRO_COMP, null as IMPORTE_PORTE_PRO_COMP -from v_inf_ultima_compra - -union all - -select ID_EMPRESA, ID_ARTICULO, -null, null, null, -IMPORTE_UNIDAD_COMPRA as IMPORTE_UNIDAD_PRO_COMP, IMPORTE_NETO_COMPRA as IMPORTE_NETO_PRO_COMP, IMPORTE_PORTE_COMPRA as IMPORTE_PORTE_PRO_COMP -from v_inf_promedio_compra) - -GROUP BY 1, 2; - - -CREATE VIEW V_INF_MARGEN_VENTAS( - ID_EMPRESA, - ID_CLIENTE, - ID_ARTICULO, - IMPORTE_UNIDAD_ULT_VENT, - IMPORTE_NETO_ULT_VENT, - IMPORTE_PORTE_ULT_VENT, - IMPORTE_UNIDAD_PRO_VENT, - IMPORTE_NETO_PRO_VENT, - IMPORTE_PORTE_PRO_VENT) -AS -select ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0), COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0), COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0), COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0), - COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0), COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) - -from - -(select ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, -IMPORTE_UNIDAD_VENTA as IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA as IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA as IMPORTE_PORTE_ULT_VENT, -null as IMPORTE_UNIDAD_PRO_VENT, null as IMPORTE_NETO_PRO_VENT, null as IMPORTE_PORTE_PRO_VENT -from v_inf_ultima_venta - -union all - -select ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, -null, null, null, -IMPORTE_UNIDAD_VENTA as IMPORTE_UNIDAD_PRO_VENT, IMPORTE_NETO_VENTA as IMPORTE_NETO_PRO_VENT, IMPORTE_PORTE_VENTA as IMPORTE_PORTE_PRO_VENT -from v_inf_promedio_venta) - -GROUP BY 1, 2, 3; - - -CREATE VIEW V_INF_MARGEN_ARTICULOS( - ID_EMPRESA, - ID_CLIENTE, - ID_ARTICULO, - NIF_CIF_CLIENTE, - NOMBRE_CLIENTE, - NOMBRE_COMERCIAL_CLIENTE, - NIF_CIF_AGENTE, - NOMBRE_AGENTE, - FAMILIA, - REFERENCIA, - REFERENCIA_PROV, - DESCRIPCION, - COMISIONABLE, - INVENTARIABLE, - IMP_UNIDAD_ULT_VENT, - IMP_NETO_ULT_VENT, - IMP_PORTE_ULT_VENT, - IMP_UNIDAD_PRO_VENT, - IMP_NETO_PRO_VENT, - IMP_PORTE_PRO_VENT, - IMP_UNIDAD_COMPRA, - IMP_NETO_COMPRA, - IMP_PORTE_COMPRA, - IMP_UNIDAD_ULT_COMP, - IMP_NETO_ULT_COMP, - IMP_PORTE_ULT_COMP, - IMP_UNIDAD_PRO_COMP, - IMP_NETO_PRO_COMP, - IMP_PORTE_PRO_COMP, - IMP_MARGEN_ULT_VENT_COMPRA, - POR_MARGEN_ULT_VENT_COMPRA, - IMP_MARGEN_ULT_VENT_ULT_COMP, - POR_MARGEN_ULT_VENT_ULT_COMP, - IMP_MARGEN_ULT_VENT_PRO_COMP, - POR_MARGEN_ULT_VENT_PRO_COMP, - IMP_MARGEN_PRO_VENT_COMPRA, - POR_MARGEN_PRO_VENT_COMPRA, - IMP_MARGEN_PRO_VENT_ULT_COMP, - POR_MARGEN_PRO_VENT_ULT_COMP, - IMP_MARGEN_PRO_VENT_PRO_COMP, - POR_MARGEN_PRO_VENT_PRO_COMP) -AS -select -MARGEN_VENTAS.id_empresa, -MARGEN_VENTAS.id_cliente, -MARGEN_VENTAS.id_articulo, - -CLIENTES.NIF_CIF, -CLIENTES.NOMBRE, -CLIENTES_DATOS.NOMBRE_COMERCIAL, - -AGENTES.NIF_CIF, -AGENTES.NOMBRE, - -ARTICULOS.FAMILIA, -ARTICULOS.REFERENCIA, -ARTICULOS.REFERENCIA_PROV, -ARTICULOS.DESCRIPCION, -ARTICULOS.COMISIONABLE, -ARTICULOS.INVENTARIABLE, - -COALESCE(MARGEN_VENTAS.importe_unidad_ult_vent, 0), -COALESCE(MARGEN_VENTAS.importe_neto_ult_vent, 0), -COALESCE(MARGEN_VENTAS.importe_porte_ult_vent, 0), - -COALESCE(MARGEN_VENTAS.importe_unidad_pro_vent, 0), -COALESCE(MARGEN_VENTAS.importe_neto_pro_vent, 0), -COALESCE(MARGEN_VENTAS.importe_porte_pro_vent, 0), - -COALESCE(ARTICULOS.PRECIO_COSTE, 0), -COALESCE(ARTICULOS.PRECIO_NETO, 0), -COALESCE(ARTICULOS.PRECIO_PORTE, 0), - -COALESCE(MARGEN_COMPRAS.importe_unidad_ult_comp, 0), -COALESCE(MARGEN_COMPRAS.importe_neto_ult_comp, 0), -COALESCE(MARGEN_COMPRAS.importe_porte_ult_comp, 0), - -COALESCE(MARGEN_COMPRAS.importe_unidad_pro_comp, 0), -COALESCE(MARGEN_COMPRAS.importe_neto_pro_comp, 0), -COALESCE(MARGEN_COMPRAS.importe_porte_pro_comp, 0), - - -/*MARGEN CON ULTIMA VENTA*/ - -MARGEN_VENTAS.importe_neto_ult_vent - ARTICULOS.PRECIO_NETO as imp_margen_ult_vent_compra, -CASE -WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 -WHEN (MARGEN_VENTAS.importe_neto_ult_vent - ARTICULOS.PRECIO_NETO) > 0 THEN - (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.importe_neto_ult_vent -ELSE 0 -END -as por_margen_ult_vent_compra, - -MARGEN_VENTAS.importe_neto_ult_vent - MARGEN_COMPRAS.importe_neto_ult_comp as imp_margen_ult_vent_ult_comp, -CASE -WHEN MARGEN_COMPRAS.importe_neto_ult_comp = 0 THEN 100 -WHEN (MARGEN_VENTAS.importe_neto_ult_vent - MARGEN_COMPRAS.importe_neto_ult_comp) > 0 THEN - (MARGEN_COMPRAS.importe_neto_ult_comp * 100) / MARGEN_VENTAS.importe_neto_ult_vent -ELSE 0 -END -as por_margen_ult_vent_ult_comp, - -MARGEN_VENTAS.importe_neto_ult_vent - MARGEN_COMPRAS.importe_neto_pro_comp as imp_margen_ult_vent_pro_comp, -CASE -WHEN MARGEN_COMPRAS.importe_neto_pro_comp = 0 THEN 100 -WHEN (MARGEN_VENTAS.importe_neto_ult_vent - MARGEN_COMPRAS.importe_neto_pro_comp) > 0 THEN - (MARGEN_COMPRAS.importe_neto_pro_comp * 100) / MARGEN_VENTAS.importe_neto_ult_vent -ELSE 0 -END -as por_margen_ult_vent_pro_comp, - - -/*MARGEN CON VENTAS PROMEDIO*/ - -MARGEN_VENTAS.importe_neto_pro_vent - ARTICULOS.PRECIO_NETO as imp_margen_pro_vent_compra, -CASE -WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 -WHEN (MARGEN_VENTAS.importe_neto_pro_vent - ARTICULOS.PRECIO_NETO) > 0 THEN - (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.importe_neto_pro_vent -ELSE 0 -END -as por_margen_pro_vent_compra, - -MARGEN_VENTAS.importe_neto_pro_vent - MARGEN_COMPRAS.importe_neto_ult_comp as imp_margen_pro_vent_ult_comp, -CASE -WHEN MARGEN_COMPRAS.importe_neto_ult_comp = 0 THEN 100 -WHEN (MARGEN_VENTAS.importe_neto_pro_vent - MARGEN_COMPRAS.importe_neto_ult_comp) > 0 THEN - (MARGEN_COMPRAS.importe_neto_ult_comp * 100) / MARGEN_VENTAS.importe_neto_pro_vent -ELSE 0 -END -as por_margen_pro_vent_ult_comp, - -MARGEN_VENTAS.importe_neto_pro_vent - MARGEN_COMPRAS.importe_neto_pro_comp as imp_margen_pro_vent_pro_comp, -CASE -WHEN MARGEN_COMPRAS.importe_neto_pro_comp = 0 THEN 100 -WHEN (MARGEN_VENTAS.importe_neto_pro_vent - MARGEN_COMPRAS.importe_neto_pro_comp) > 0 THEN - (MARGEN_COMPRAS.importe_neto_pro_comp * 100) / MARGEN_VENTAS.importe_neto_pro_vent -ELSE 0 -END -as por_margen_pro_vent_pro_comp - -FROM - -/*Antigua V_INF_MARGEN_VENTAS*/ -(select ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) as importe_unidad_ult_vent, - COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) as importe_neto_ult_vent, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) as importe_porte_ult_vent, - COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) as importe_unidad_pro_vent, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) as importe_neto_pro_vent, - COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) as importe_porte_pro_vent - - from - (select - ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, - IMPORTE_UNIDAD_VENTA as IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA as IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA as IMPORTE_PORTE_ULT_VENT, - null as IMPORTE_UNIDAD_PRO_VENT, null as IMPORTE_NETO_PRO_VENT, null as IMPORTE_PORTE_PRO_VENT - - from v_inf_ultima_venta - - union all - - /*Antigua V_INF_PROMEDIO_VENTA*/ - select - facturas_cliente.id_empresa, - facturas_cliente.id_cliente, - facturas_cliente_detalles.ID_ARTICULO, - null, null, null, - avg(facturas_cliente_detalles.IMPORTE_UNIDAD) as IMPORTE_UNIDAD_PRO_VENT, - avg(facturas_cliente_detalles.IMPORTE_UNIDAD - (facturas_cliente_detalles.IMPORTE_UNIDAD * (facturas_cliente_detalles.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, - avg(facturas_cliente_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_PRO_VENT - - from facturas_cliente_detalles - left outer join facturas_cliente - on (facturas_cliente.id = facturas_cliente_detalles.id_factura) - - where (facturas_cliente_detalles.ID_ARTICULO IS NOT NULL) and (facturas_cliente_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/ - and (facturas_cliente_detalles.cantidad > 0) /*Quitamos los abonos*/ - /*AND INTERVALO DE FECHAS*/ - group by 1, 2, 3) - - group by 1, 2, 3) MARGEN_VENTAS - - -LEFT JOIN - - -/*Antigua V_INF_MARGEN_COMPRAS*/ -(select - ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) as importe_unidad_ult_comp, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) as importe_neto_ult_comp, - COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) as importe_porte_ult_comp, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) as importe_unidad_pro_comp, - COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) as importe_neto_pro_comp, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) as importe_porte_pro_comp - - from - (select - ID_EMPRESA, ID_ARTICULO, - IMPORTE_UNIDAD_COMPRA as IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA as IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA as IMPORTE_PORTE_ULT_COMP, - null as IMPORTE_UNIDAD_PRO_COMP, null as IMPORTE_NETO_PRO_COMP, null as IMPORTE_PORTE_PRO_COMP - - from v_inf_ultima_compra - - union all - - /*Antigua V_INF_PROMEDIO_COMPRA*/ - select - facturas_proveedor.id_empresa, - facturas_proveedor_detalles.ID_ARTICULO, - null, null, null, - avg(facturas_proveedor_detalles.IMPORTE_UNIDAD) as IMPORTE_UNIDAD_PRO_COMP, - avg(facturas_proveedor_detalles.IMPORTE_UNIDAD - (facturas_proveedor_detalles.IMPORTE_UNIDAD * (facturas_proveedor_detalles.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, - avg(facturas_proveedor_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_PRO_COMP - - from facturas_proveedor_detalles - left outer join facturas_proveedor - on (facturas_proveedor.id = facturas_proveedor_detalles.id_factura) - - where (facturas_proveedor_detalles.ID_ARTICULO IS NOT NULL) and (facturas_proveedor_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/ - and (facturas_proveedor_detalles.cantidad > 0) /*Quitamos los abonos*/ -/*AND INTERVALO DE FECHAS*/ - group by 1, 2) - - group by 1, 2) MARGEN_COMPRAS - - -ON (MARGEN_COMPRAS.id_empresa = MARGEN_VENTAS.id_empresa) -AND (MARGEN_COMPRAS.id_articulo = MARGEN_VENTAS.id_articulo) - - -LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.id_articulo) -LEFT JOIN CONTACTOS CLIENTES on (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) -LEFT JOIN CLIENTES_DATOS on (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) -LEFT JOIN CONTACTOS AGENTES on (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE) - -WHERE (ARTICULOS.INVENTARIABLE = 1); - - /* Al igual que en Varela tendremos esta vista para hacer todos los informes que queramos de ventas, ya que estará desglosado por artículo */ CREATE VIEW V_INF_VENTAS_ARTICULOS( ID_FACTURA,