git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@191 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
481 lines
16 KiB
SQL
481 lines
16 KiB
SQL
DROP VIEW V_INF_VENTAS_ALB_ARTICULOS;
|
|
DROP VIEW V_INF_VENTAS_ARTICULOS;
|
|
DROP VIEW V_INF_ULTVEN_PORCLIENTE;
|
|
DROP VIEW V_INF_ULTVEN_PORARTICULO;
|
|
DROP VIEW V_INF_FEC_ULTVEN_PORCLIENTE;
|
|
DROP VIEW V_INF_FEC_ULTVEN_PORARTICULO;
|
|
DROP VIEW V_INF_ULTCOM_PORARTICULO;
|
|
DROP VIEW V_INF_ULTCOM;
|
|
DROP VIEW V_INF_FEC_ULTCOM;
|
|
|
|
/* **********************************************************************/
|
|
/* INFORMES *************************************************************/
|
|
/* **********************************************************************/
|
|
CREATE VIEW V_INF_FEC_ULTCOM(
|
|
ID_EMPRESA,
|
|
ID_ARTICULO,
|
|
FECHA)
|
|
AS
|
|
select
|
|
|
|
facturas_proveedor.ID_EMPRESA,
|
|
facturas_proveedor_detalles.ID_ARTICULO,
|
|
max(facturas_proveedor.FECHA_FACTURA)
|
|
|
|
from facturas_proveedor_detalles
|
|
left join facturas_proveedor
|
|
on (facturas_proveedor.id = facturas_proveedor_detalles.id_factura)
|
|
WHERE (ID_ARTICULO IS NOT NULL)
|
|
AND (ID_ARTICULO > 0)
|
|
and (facturas_proveedor_detalles.cantidad > 0)
|
|
|
|
group by
|
|
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)
|
|
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);
|
|
|
|
|
|
|
|
CREATE VIEW V_INF_ULTCOM_PORARTICULO(
|
|
ID_EMPRESA,
|
|
ID_ARTICULO,
|
|
IMPORTE_UNIDAD_COMPRA,
|
|
IMPORTE_NETO_COMPRA,
|
|
IMPORTE_PORTE_COMPRA)
|
|
AS
|
|
select v_inf_ultcom.id_empresa, articulos.id,
|
|
coalesce(v_inf_ultcom.importe_unidad_compra, articulos.precio_coste),
|
|
coalesce(v_inf_ultcom.importe_neto_compra, articulos.precio_neto),
|
|
coalesce(v_inf_ultcom.importe_porte_compra, articulos.precio_porte)
|
|
|
|
from articulos
|
|
left join v_inf_ultcom
|
|
on
|
|
/*((v_inf_ultcom.id_empresa = articulos.id_empresa) and*/
|
|
(v_inf_ultcom.id_articulo = articulos.id)
|
|
;
|
|
|
|
CREATE VIEW V_INF_FEC_ULTVEN_PORARTICULO(
|
|
ID_EMPRESA,
|
|
ID_ARTICULO,
|
|
FECHA)
|
|
AS
|
|
select
|
|
facturas_cliente.ID_EMPRESA,
|
|
facturas_cliente_detalles.ID_ARTICULO,
|
|
max(facturas_cliente.FECHA_FACTURA)
|
|
|
|
from facturas_cliente_detalles
|
|
left join facturas_cliente
|
|
on (facturas_cliente.id = facturas_cliente_detalles.id_factura)
|
|
WHERE (ID_ARTICULO IS NOT NULL)
|
|
AND (ID_ARTICULO > 0)
|
|
and (facturas_cliente_detalles.cantidad > 0)
|
|
|
|
group by
|
|
facturas_cliente.ID_EMPRESA,
|
|
facturas_cliente_detalles.ID_ARTICULO
|
|
;
|
|
|
|
|
|
CREATE VIEW V_INF_FEC_ULTVEN_PORCLIENTE(
|
|
ID_EMPRESA,
|
|
ID_CLIENTE,
|
|
ID_ARTICULO,
|
|
FECHA)
|
|
AS
|
|
select
|
|
facturas_cliente.ID_EMPRESA,
|
|
facturas_cliente.ID_CLIENTE,
|
|
facturas_cliente_detalles.ID_ARTICULO,
|
|
max(facturas_cliente.FECHA_FACTURA)
|
|
|
|
from facturas_cliente_detalles
|
|
left join facturas_cliente
|
|
on (facturas_cliente.id = facturas_cliente_detalles.id_factura)
|
|
WHERE (ID_ARTICULO IS NOT NULL)
|
|
AND (ID_ARTICULO > 0)
|
|
and (facturas_cliente_detalles.cantidad > 0)
|
|
|
|
group by
|
|
facturas_cliente.ID_EMPRESA,
|
|
facturas_cliente.ID_CLIENTE,
|
|
facturas_cliente_detalles.ID_ARTICULO
|
|
;
|
|
|
|
CREATE VIEW V_INF_ULTVEN_PORARTICULO(
|
|
ID_EMPRESA,
|
|
ID_ARTICULO,
|
|
IMPORTE_UNIDAD_VENTA,
|
|
IMPORTE_NETO_VENTA,
|
|
IMPORTE_PORTE_VENTA)
|
|
AS
|
|
select
|
|
facturas_cliente.id_empresa,
|
|
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
|
|
|
|
inner join facturas_cliente
|
|
on (facturas_cliente.id = facturas_cliente_detalles.id_factura)
|
|
|
|
inner join v_inf_fec_ultven_PORARTICULO
|
|
on (v_inf_fec_ultven_PORARTICULO.id_empresa = facturas_cliente.id_empresa)
|
|
and (v_inf_fec_ultven_PORARTICULO.id_articulo = facturas_cliente_detalles.id_articulo)
|
|
|
|
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 (facturas_cliente.FECHA_FACTURA = v_inf_fec_ultven_PORARTICULO.fecha) /*nos quedamos con las ultimas compras*/
|
|
|
|
group by 1, 2
|
|
;
|
|
|
|
CREATE VIEW V_INF_ULTVEN_PORCLIENTE(
|
|
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
|
|
|
|
inner join facturas_cliente
|
|
on (facturas_cliente.id = facturas_cliente_detalles.id_factura)
|
|
|
|
inner join v_inf_fec_ultven_porcliente
|
|
on (v_inf_fec_ultven_porcliente.id_empresa = facturas_cliente.id_empresa)
|
|
and (v_inf_fec_ultven_porcliente.id_cliente = facturas_cliente.id_cliente)
|
|
and (v_inf_fec_ultven_porcliente.id_articulo = facturas_cliente_detalles.id_articulo)
|
|
|
|
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 (facturas_cliente.FECHA_FACTURA = v_inf_fec_ultven_porcliente.fecha) /*nos quedamos con las ultimas compras*/
|
|
|
|
group by 1, 2, 3
|
|
;
|
|
|
|
|
|
/* 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,
|
|
ID_EMPRESA,
|
|
REFERENCIA_FACTURA,
|
|
FECHA_FACTURA,
|
|
IMPORTE_TOTAL_FACTURA,
|
|
ID_COMISION_FACTURA,
|
|
ID_ARTICULO,
|
|
FAMILIA,
|
|
REFERENCIA,
|
|
REFERENCIA_PROV,
|
|
DESCRIPCION,
|
|
COMISIONABLE,
|
|
INVENTARIABLE,
|
|
IMPORTE_UNIDAD_COSTE,
|
|
DESCUENTO_PROVEEDOR_COSTE,
|
|
IMPORTE_NETO_COSTE,
|
|
IMPORTE_PORTE_COSTE,
|
|
CANTIDAD,
|
|
IMPORTE_UNIDAD_VENTA,
|
|
DESCUENTO_CLIENTE_VENTA,
|
|
IMPORTE_NETO_VENTA,
|
|
IMPORTE_PORTE_VENTA,
|
|
IMPORTE_TOTAL_VENTA,
|
|
NIF_CIF_PROVEEDOR,
|
|
NOMBRE_PROVEEDOR,
|
|
CALLE_PROVEEDOR,
|
|
POBLACION_PROVEEDOR,
|
|
PROVINCIA_PROVEEDOR,
|
|
NIF_CIF_CLIENTE,
|
|
NOMBRE_CLIENTE,
|
|
NOMBRE_COMERCIAL_CLIENTE,
|
|
CALLE_CLIENTE,
|
|
POBLACION_CLIENTE,
|
|
PROVINCIA_CLIENTE,
|
|
NIF_CIF_AGENTE,
|
|
NOMBRE_AGENTE,
|
|
CALLE_AGENTE,
|
|
POBLACION_AGENTE,
|
|
PROVINCIA_AGENTE,
|
|
COMISION_AGENTE,
|
|
IMPORTE_COMISION_AGENTE)
|
|
AS
|
|
select
|
|
FACTURAS_CLIENTE.ID,
|
|
FACTURAS_CLIENTE.ID_EMPRESA,
|
|
FACTURAS_CLIENTE.REFERENCIA,
|
|
FACTURAS_CLIENTE.FECHA_FACTURA,
|
|
FACTURAS_CLIENTE.IMPORTE_TOTAL,
|
|
FACTURAS_CLIENTE.ID_COMISION_LIQUIDADA,
|
|
|
|
FACTURAS_CLIENTE_DETALLES.ID_ARTICULO,
|
|
|
|
ARTICULOS.FAMILIA,
|
|
ARTICULOS.REFERENCIA,
|
|
ARTICULOS.REFERENCIA_PROV,
|
|
ARTICULOS.DESCRIPCION,
|
|
ARTICULOS.COMISIONABLE,
|
|
ARTICULOS.INVENTARIABLE,
|
|
|
|
ARTICULOS.PRECIO_COSTE,
|
|
ARTICULOS.DESCUENTO,
|
|
ARTICULOS.PRECIO_NETO,
|
|
ARTICULOS.PRECIO_PORTE,
|
|
|
|
FACTURAS_CLIENTE_DETALLES.CANTIDAD,
|
|
FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD as importe_unidad_venta,
|
|
FACTURAS_CLIENTE_DETALLES.DESCUENTO,
|
|
|
|
case when FACTURAS_CLIENTE_DETALLES.CANTIDAD < 0 then
|
|
/*En caso de ser un abono el importe neto venta debe ser negativo para que los informes no salgan falseados*/
|
|
(-1)*(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO/100)))
|
|
else
|
|
FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO/100))
|
|
end as importe_neto_venta,
|
|
|
|
FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE as importe_porte_venta,
|
|
FACTURAS_CLIENTE_DETALLES.IMPORTE_TOTAL,
|
|
|
|
PROVEEDORES.NIF_CIF,
|
|
PROVEEDORES.NOMBRE,
|
|
PROVEEDORES.CALLE,
|
|
PROVEEDORES.POBLACION,
|
|
PROVEEDORES.PROVINCIA,
|
|
|
|
CLIENTES.NIF_CIF,
|
|
CLIENTES.NOMBRE,
|
|
CLIENTES_DATOS.NOMBRE_COMERCIAL,
|
|
CLIENTES.CALLE,
|
|
CLIENTES.POBLACION,
|
|
CLIENTES.PROVINCIA,
|
|
|
|
AGENTES.NIF_CIF,
|
|
AGENTES.NOMBRE,
|
|
AGENTES.CALLE,
|
|
AGENTES.POBLACION,
|
|
AGENTES.PROVINCIA,
|
|
|
|
COALESCE(AGENTES_COMISIONES.COMISION, 0) AS COMISION,
|
|
|
|
(CASE COALESCE(AGENTES_COMISIONES.COMISION, 0) WHEN 0 THEN 0
|
|
ELSE ((FACTURAS_CLIENTE_DETALLES.IMPORTE_TOTAL * AGENTES_COMISIONES.COMISION)/100) END) as IMPORTE_COMISION
|
|
|
|
|
|
from FACTURAS_CLIENTE_DETALLES
|
|
left join ARTICULOS on (ARTICULOS.ID = FACTURAS_CLIENTE_DETALLES.ID_ARTICULO)
|
|
left join CONTACTOS PROVEEDORES on (PROVEEDORES.ID = ARTICULOS.ID_PROVEEDOR)
|
|
left join FACTURAS_CLIENTE on (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA)
|
|
left join CONTACTOS CLIENTES on (CLIENTES.ID = FACTURAS_CLIENTE.ID_CLIENTE)
|
|
left join CLIENTES_DATOS on (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
|
|
left join CONTACTOS AGENTES on (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
|
|
left join AGENTES_COMISIONES
|
|
on ((AGENTES_COMISIONES.ID_AGENTE = AGENTES.ID) and (AGENTES_COMISIONES.ID_PROVEEDOR = PROVEEDORES.ID))
|
|
|
|
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 (ARTICULOS.INVENTARIABLE = 1);
|
|
|
|
|
|
|
|
|
|
CREATE VIEW V_INF_VENTAS_ALB_ARTICULOS(
|
|
ID_ALBARAN,
|
|
ID_EMPRESA,
|
|
REFERENCIA_ALBARAN,
|
|
FECHA_ALBARAN,
|
|
IMPORTE_TOTAL_ALBARAN,
|
|
ID_ARTICULO,
|
|
FAMILIA,
|
|
REFERENCIA,
|
|
REFERENCIA_PROV,
|
|
DESCRIPCION,
|
|
COMISIONABLE,
|
|
INVENTARIABLE,
|
|
IMPORTE_UNIDAD_COSTE,
|
|
DESCUENTO_PROVEEDOR_COSTE,
|
|
IMPORTE_NETO_COSTE,
|
|
IMPORTE_PORTE_COSTE,
|
|
CANTIDAD,
|
|
IMPORTE_UNIDAD_VENTA,
|
|
DESCUENTO_CLIENTE_VENTA,
|
|
IMPORTE_NETO_VENTA,
|
|
IMPORTE_PORTE_VENTA,
|
|
IMPORTE_TOTAL_VENTA,
|
|
NIF_CIF_PROVEEDOR,
|
|
NOMBRE_PROVEEDOR,
|
|
CALLE_PROVEEDOR,
|
|
POBLACION_PROVEEDOR,
|
|
PROVINCIA_PROVEEDOR,
|
|
NIF_CIF_CLIENTE,
|
|
NOMBRE_CLIENTE,
|
|
NOMBRE_COMERCIAL_CLIENTE,
|
|
CALLE_CLIENTE,
|
|
POBLACION_CLIENTE,
|
|
PROVINCIA_CLIENTE,
|
|
NIF_CIF_AGENTE,
|
|
NOMBRE_AGENTE,
|
|
CALLE_AGENTE,
|
|
POBLACION_AGENTE,
|
|
PROVINCIA_AGENTE,
|
|
COMISION_AGENTE,
|
|
IMPORTE_COMISION_AGENTE)
|
|
AS
|
|
select
|
|
albaranes_cliente.ID,
|
|
albaranes_cliente.ID_EMPRESA,
|
|
albaranes_cliente.REFERENCIA,
|
|
albaranes_cliente.FECHA_ALBARAN,
|
|
albaranes_cliente.IMPORTE_TOTAL,
|
|
|
|
ALBARANES_CLIENTE_DETALLES.ID_ARTICULO,
|
|
|
|
ARTICULOS.FAMILIA,
|
|
ARTICULOS.REFERENCIA,
|
|
ARTICULOS.REFERENCIA_PROV,
|
|
ARTICULOS.DESCRIPCION,
|
|
ARTICULOS.COMISIONABLE,
|
|
ARTICULOS.INVENTARIABLE,
|
|
|
|
ARTICULOS.PRECIO_COSTE,
|
|
ARTICULOS.DESCUENTO,
|
|
ARTICULOS.PRECIO_NETO,
|
|
ARTICULOS.PRECIO_PORTE,
|
|
|
|
ALBARANES_CLIENTE_DETALLES.CANTIDAD,
|
|
ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD as importe_unidad_venta,
|
|
ALBARANES_CLIENTE_DETALLES.DESCUENTO,
|
|
|
|
case when ALBARANES_CLIENTE_DETALLES.CANTIDAD < 0 then
|
|
/*En caso de ser un abono el importe neto venta debe ser negativo para que los informes no salgan falseados*/
|
|
(-1)*(ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD - (ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD * (ALBARANES_CLIENTE_DETALLES.DESCUENTO/100)))
|
|
else
|
|
ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD - (ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD * (ALBARANES_CLIENTE_DETALLES.DESCUENTO/100))
|
|
end as importe_neto_venta,
|
|
|
|
ALBARANES_CLIENTE_DETALLES.IMPORTE_PORTE as importe_porte_venta,
|
|
ALBARANES_CLIENTE_DETALLES.IMPORTE_TOTAL,
|
|
|
|
PROVEEDORES.NIF_CIF,
|
|
PROVEEDORES.NOMBRE,
|
|
PROVEEDORES.CALLE,
|
|
PROVEEDORES.POBLACION,
|
|
PROVEEDORES.PROVINCIA,
|
|
|
|
CLIENTES.NIF_CIF,
|
|
CLIENTES.NOMBRE,
|
|
CLIENTES_DATOS.NOMBRE_COMERCIAL,
|
|
CLIENTES.CALLE,
|
|
CLIENTES.POBLACION,
|
|
CLIENTES.PROVINCIA,
|
|
|
|
AGENTES.NIF_CIF,
|
|
AGENTES.NOMBRE,
|
|
AGENTES.CALLE,
|
|
AGENTES.POBLACION,
|
|
AGENTES.PROVINCIA,
|
|
|
|
COALESCE(AGENTES_COMISIONES.COMISION, 0) AS COMISION,
|
|
|
|
(CASE COALESCE(AGENTES_COMISIONES.COMISION, 0) WHEN 0 THEN 0
|
|
ELSE ((ALBARANES_CLIENTE_DETALLES.IMPORTE_TOTAL * AGENTES_COMISIONES.COMISION)/100) END) as IMPORTE_COMISION
|
|
|
|
|
|
from ALBARANES_CLIENTE_DETALLES
|
|
left join ARTICULOS on (ARTICULOS.ID = ALBARANES_CLIENTE_DETALLES.ID_ARTICULO)
|
|
left join CONTACTOS PROVEEDORES on (PROVEEDORES.ID = ARTICULOS.ID_PROVEEDOR)
|
|
left join ALBARANES_CLIENTE on (ALBARANES_CLIENTE.ID = ALBARANES_CLIENTE_DETALLES.ID_ALBARAN)
|
|
left join CONTACTOS CLIENTES on (CLIENTES.ID = ALBARANES_CLIENTE.ID_CLIENTE)
|
|
left join CLIENTES_DATOS on (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
|
|
left join CONTACTOS AGENTES on (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
|
|
left join AGENTES_COMISIONES
|
|
on ((AGENTES_COMISIONES.ID_AGENTE = AGENTES.ID) and (AGENTES_COMISIONES.ID_PROVEEDOR = PROVEEDORES.ID))
|
|
|
|
where (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO is not null) and (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO > 0) /*Quitamos conceptos libres*/
|
|
/*and (FACTURAS_CLIENTE_DETALLES.cantidad > 0) Quitamos los abonos*/
|
|
and (ARTICULOS.INVENTARIABLE = 1)
|
|
;
|
|
|
|
|
|
CREATE VIEW V_ETIQUETAS_ART_ALB(
|
|
ID,
|
|
ID_ALBARAN,
|
|
REFERENCIA_ALBARAN,
|
|
FECHA_PREVISTA_ENVIO,
|
|
REFERENCIA_CLIENTE,
|
|
POSICION,
|
|
TIPO_DETALLE,
|
|
REFERENCIA,
|
|
CONCEPTO,
|
|
CANTIDAD,
|
|
IMPORTE_UNIDAD,
|
|
DESCUENTO,
|
|
IMPORTE_TOTAL,
|
|
REFERENCIA_PROVEEDOR)
|
|
AS
|
|
SELECT DET.ID, DET.ID_ALBARAN, ALBARANES_CLIENTE.REFERENCIA, ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO, ALBARANES_CLIENTE.REFERENCIA_CLIENTE,
|
|
DET.POSICION, DET.TIPO_DETALLE,
|
|
ARTICULOS.REFERENCIA, F_RTFTOTEXT(DET.CONCEPTO) as CONCEPTO, DET.CANTIDAD,
|
|
DET.IMPORTE_UNIDAD,
|
|
DET.DESCUENTO,
|
|
DET.IMPORTE_TOTAL,
|
|
ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR
|
|
FROM ALBARANES_CLIENTE_DETALLES DET
|
|
LEFT OUTER JOIN ALBARANES_CLIENTE ON (DET.ID_ALBARAN = ALBARANES_CLIENTE.ID)
|
|
LEFT OUTER JOIN ARTICULOS ON (DET.ID_ARTICULO = ARTICULOS.ID)
|
|
ORDER BY DET.ID_ALBARAN, DET.POSICION
|
|
; |