Se mejora vista de articulos precio última compra

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@170 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
roberto 2012-08-29 14:36:53 +00:00
parent 2685536cdc
commit 6382f4d630

View File

@ -34,37 +34,49 @@ facturas_proveedor.ID_EMPRESA,
facturas_proveedor_detalles.ID_ARTICULO
;
CREATE VIEW V_INF_ULTCOM(
ID_EMPRESA,
ID_ARTICULO,
FECHA,
IMPORTE_UNIDAD_COMPRA,
IMPORTE_NETO_COMPRA,
IMPORTE_PORTE_COMPRA)
AS
select id_empresa, id_articulo, fecha_factura, sum(IMPORTE_UNIDAD_COMPRA) as importe_unidad, sum(IMPORTE_NETO_COMPRA) as importe_neto_compra, sum(IMPORTE_PORTE_COMPRA) as importe_porte_compra
from
(
/*Se hace agrupación de articulos de los detalles de la factura por si se compra el mismo articulo en distintas lineas con distinto precio por ello se hace la media*/
select
facturas_proveedor.id_empresa,
facturas_proveedor_detalles.ID_ARTICULO,
0 as ult_com,
facturas_proveedor.fecha_factura,
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)
left outer join v_inf_fec_ultcom
on (v_inf_fec_ultcom.id_empresa = facturas_proveedor.id_empresa)
and (v_inf_fec_ultcom.id_articulo = facturas_proveedor_detalles.id_articulo)
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,3,4
union
/*Se hace la unión con la vista de fecha de ultima compra de cada articulo y empresa poniendo un parametro a 1 para cuando se agrupen saber que es la última compra*/
/*todo articulo tendrá ultima compra ya que tiramos de facturas de proveedor*/
select v_inf_fec_ultcom.id_empresa, v_inf_fec_ultcom.id_articulo, 1, v_inf_fec_ultcom.fecha, 0,0,0
from v_inf_fec_ultcom
)
/*finalmente se hace la grupacion de la unión y se suma para el tema del parametro de ultima compra, quitamos las compras de articulos con parametro 0 ya que son compras antiguas*/
group by 1,2,3
having (sum(ult_com)=1);
and (facturas_proveedor.FECHA_FACTURA = v_inf_fec_ultcom.fecha) /*nos quedamos con las ultimas compras*/
group by 1, 2
;
CREATE VIEW V_INF_ULTCOM_PORARTICULO(
ID_EMPRESA,