: [Prepare] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
Plan: PLAN JOIN (R INDEX (RDB$INDEX_4), F INDEX (RDB$INDEX_2))
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
: [Prepare] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
Plan: PLAN SORT (JOIN (RR INDEX (RDB$INDEX_42), RI INDEX (RDB$INDEX_6)))
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
INF_MARGEN_ARTICULOS.DESCRIPCION,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
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
[21/08/2007 13:14:37]GEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
INF_MARGEN_ARTICULOS.DESCRIPCION,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
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
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
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
[21/08/2007 13:14:44]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
(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, NUL
>
[21/08/2007 13:14:44]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:14:44]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:14:44]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:14:44]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:14:48]
[Application: FactuGES (Servidor)]
: [Prepare] UPDATE INFORMES
SET
ID_EMPRESA = :ID_EMPRESA,
CATEGORIA = :CATEGORIA,
CONTROLLER = :CONTROLLER,
MODIFICABLE = :MODIFICABLE,
ICONO = :ICONO,
NOMBRE = :NOMBRE,
DESCRIPCION = :DESCRIPCION,
ORDEN = :ORDEN,
VISTA = :VISTA
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:14:48]
[Application: FactuGES (Servidor)]
: [Execute] UPDATE INFORMES
SET
ID_EMPRESA = :ID_EMPRESA,
CATEGORIA = :CATEGORIA,
CONTROLLER = :CONTROLLER,
MODIFICABLE = :MODIFICABLE,
ICONO = :ICONO,
NOMBRE = :NOMBRE,
DESCRIPCION = :DESCRIPCION,
ORDEN = :ORDEN,
VISTA = :VISTA
WHERE
(ID = :OLD_ID)
ID_EMPRESA = 1
CATEGORIA = MARGEN ARTICULOS
CONTROLLER = InfMargenArticuloController
MODIFICABLE = S
ICONO = 0
NOMBRE = sadad
DESCRIPCION = asdad
ORDEN = <NULL>>
VISTA = <BLOB>>
OLD_ID = 56
>
[21/08/2007 13:14:59]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[21/08/2007 13:14:59]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Luis
PASS = 1
>
[21/08/2007 13:14:59]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
PERFILES.PERFIL
FROM
PERFILES, PERFILES_USUARIOS
WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO
AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL
Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES))
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:15:05]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:15:07]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:15:07]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:15:07]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:07]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:07]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:07]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:07]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:07]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:07]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:07]K_CONTACTOS))))))
>
[21/08/2007 13:15:07]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:07]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:07]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:07]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:07]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:07]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:10]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:10]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:10]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:10]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:10]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:10]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:10]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:10]K_CONTACTOS))))))
>
[21/08/2007 13:15:10]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:10]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:10]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:10]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:10]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:10]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:17]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:15:17]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:15:17]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:17]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:17]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:17]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:17]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:17]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:17]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:17]K_CONTACTOS))))))
>
[21/08/2007 13:15:17]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:17]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:17]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:17]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:17]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:17]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:20]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:20]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:20]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:20]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:20]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:20]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:20]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:20]K_CONTACTOS))))))
>
[21/08/2007 13:15:20]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:20]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:20]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:20]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:20]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:20]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:22]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:22]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:22]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:22]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:22]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:22]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:22]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:22]K_CONTACTOS))))))
>
[21/08/2007 13:15:22]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:22]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:22]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:22]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:22]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:22]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:28]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:28]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:28]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:28]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:28]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:28]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:28]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:28]K_CONTACTOS))))))
>
[21/08/2007 13:15:28]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:28]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:28]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:28]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:28]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:28]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:45]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:45]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:45]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:45]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:45]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:45]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:45]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:45]K_CONTACTOS))))))
>
[21/08/2007 13:15:45]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:45]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:45]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:45]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:45]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:45]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:50]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:15:50]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:15:51]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:51]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:51]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:51]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:51]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:51]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:51]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:51]K_CONTACTOS))))))
>
[21/08/2007 13:15:51]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:51]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:51]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:51]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:51]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:51]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:15:56]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:56]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:56]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:56]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:56]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:56]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:15:56]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:15:56]K_CONTACTOS))))))
>
[21/08/2007 13:15:56]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:15:56]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:15:56]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:15:56]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:15:56]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:15:56]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:16:02]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:16:02]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:16:02]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:16:02]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:16:02]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:16:02]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:16:02]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:16:02]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:16:02]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:16:02]K_CONTACTOS))))))
>
[21/08/2007 13:16:02]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:16:02]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:16:02]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:16:02]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:16:02]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:16:02]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:16:14]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:16:14]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:16:14]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:16:14]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:16:14]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:16:14]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:16:14]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:16:14]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:16:14]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:16:14]K_CONTACTOS))))))
>
[21/08/2007 13:16:14]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:16:14]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:16:14]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:16:14]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:16:14]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:16:14]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:17:32]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[21/08/2007 13:17:32]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Luis
PASS = 1
>
[21/08/2007 13:17:32]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
PERFILES.PERFIL
FROM
PERFILES, PERFILES_USUARIOS
WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO
AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL
Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES))
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:17:36]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:17:38]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:17:38]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:17:39]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:17:39]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:17:39]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:17:39]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:17:39]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:17:39]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA
>
[21/08/2007 13:17:39]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P
>
[21/08/2007 13:17:39]K_CONTACTOS))))))
>
[21/08/2007 13:17:39]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_
>
[21/08/2007 13:17:39]ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
(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, NUL
>
[21/08/2007 13:17:39]L AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_
>
[21/08/2007 13:17:39]VENTAS
LEFT JOIN
(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
SELECT
FACTURAS_PROVEEDOR.ID_EMPRESA,
FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,
NULL, NULL, NULL,
AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR
>
[21/08/2007 13:17:39]TE_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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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 = MARG
>
[21/08/2007 13:17:39]EN_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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:17:56]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[21/08/2007 13:17:56]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Administrador
PASS = lu
>
[21/08/2007 13:18:05]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[21/08/2007 13:18:05]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Administrador
PASS = luisleon07
>
[21/08/2007 13:18:05]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
PERFILES.PERFIL
FROM
PERFILES, PERFILES_USUARIOS
WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO
AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL
Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES))
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:18:09]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:18:12]
[Application: FactuGES (Servidor)]
: [Prepare] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:18:12]
[Application: FactuGES (Servidor)]
: [Execute] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
OLD_ID = 31
>
[21/08/2007 13:18:15]
[Application: FactuGES (Servidor)]
: [Prepare] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:18:15]
[Application: FactuGES (Servidor)]
: [Execute] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
OLD_ID = 52
>
[21/08/2007 13:18:18]
[Application: FactuGES (Servidor)]
: [Prepare] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:18:18]
[Application: FactuGES (Servidor)]
: [Execute] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
OLD_ID = 51
>
[21/08/2007 13:18:21]
[Application: FactuGES (Servidor)]
: [Prepare] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:18:21]
[Application: FactuGES (Servidor)]
: [Execute] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
OLD_ID = 53
>
[21/08/2007 13:18:23]
[Application: FactuGES (Servidor)]
: [Prepare] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:18:23]
[Application: FactuGES (Servidor)]
: [Execute] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
OLD_ID = 54
>
[21/08/2007 13:18:26]
[Application: FactuGES (Servidor)]
: [Prepare] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:18:26]
[Application: FactuGES (Servidor)]
: [Execute] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
OLD_ID = 55
>
[21/08/2007 13:18:29]
[Application: FactuGES (Servidor)]
: [Prepare] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:18:29]
[Application: FactuGES (Servidor)]
: [Execute] DELETE
FROM
INFORMES
WHERE
(ID = :OLD_ID)
OLD_ID = 56
>
[21/08/2007 13:18:33]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:18:33]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:18:33]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV
>
[21/08/2007 13:18:33]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIP
>
[21/08/2007 13:18:33]CION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM
>
[21/08/2007 13:18:33]P_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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_AR
>
[21/08/2007 13:18:33]TICULO,
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
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
>
[21/08/2007 13:18:33]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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_POR
>
[21/08/2007 13:18:33]TE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FE
>
[21/08/2007 13:18:33]C_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPR
>
[21/08/2007 13:18:33]AS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:18:33]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV
>
[21/08/2007 13:18:33]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIP
>
[21/08/2007 13:18:33]CION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM
>
[21/08/2007 13:18:33]P_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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_AR
>
[21/08/2007 13:18:34]TICULO,
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
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
>
[21/08/2007 13:18:34]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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_POR
>
[21/08/2007 13:18:34]TE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:18:39]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV
>
[21/08/2007 13:18:39]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIP
>
[21/08/2007 13:18:39]CION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM
>
[21/08/2007 13:18:39]P_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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_AR
>
[21/08/2007 13:18:39]TICULO,
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
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
>
[21/08/2007 13:18:39]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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_POR
>
[21/08/2007 13:18:39]TE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FE
>
[21/08/2007 13:18:39]C_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPR
>
[21/08/2007 13:18:39]AS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:18:39]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV
>
[21/08/2007 13:18:39]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIP
>
[21/08/2007 13:18:39]CION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM
>
[21/08/2007 13:18:39]P_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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_AR
>
[21/08/2007 13:18:39]TICULO,
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
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
>
[21/08/2007 13:18:39]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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_POR
>
[21/08/2007 13:18:39]TE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:20:21]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:20:21]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:20:21]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:20:21]TE_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
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.
>
[21/08/2007 13:20:21]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:20:21]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:20:21])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN
>
[21/08/2007 13:20:21]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C
>
[21/08/2007 13:20:21]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:20:21]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:20:21]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:20:21]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:20:21]TE_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
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.
>
[21/08/2007 13:20:21]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:20:21]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:20:21])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:21:03]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:03]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:03]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:03]TE_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
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.
>
[21/08/2007 13:21:03]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:03]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:03])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN
>
[21/08/2007 13:21:03]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C
>
[21/08/2007 13:21:03]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:21:03]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:03]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:03]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:03]TE_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
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.
>
[21/08/2007 13:21:03]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:03]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:03])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:21:15]
[Application: FactuGES (Servidor)]
: [Prepare] UPDATE INFORMES
SET
ID_EMPRESA = :ID_EMPRESA,
CATEGORIA = :CATEGORIA,
CONTROLLER = :CONTROLLER,
MODIFICABLE = :MODIFICABLE,
ICONO = :ICONO,
NOMBRE = :NOMBRE,
DESCRIPCION = :DESCRIPCION,
ORDEN = :ORDEN,
VISTA = :VISTA
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:21:15]
[Application: FactuGES (Servidor)]
: [Execute] UPDATE INFORMES
SET
ID_EMPRESA = :ID_EMPRESA,
CATEGORIA = :CATEGORIA,
CONTROLLER = :CONTROLLER,
MODIFICABLE = :MODIFICABLE,
ICONO = :ICONO,
NOMBRE = :NOMBRE,
DESCRIPCION = :DESCRIPCION,
ORDEN = :ORDEN,
VISTA = :VISTA
WHERE
(ID = :OLD_ID)
ID_EMPRESA = 1
CATEGORIA = MARGEN ARTICULOS
CONTROLLER = InfMargenArticuloController
MODIFICABLE = S
ICONO = 0
NOMBRE = Margen (promedio) por art<72>culo
DESCRIPCION = Informe de margen por art<72>culo teniendo en cuenta el precio neto de venta promedio
ORDEN = <NULL>>
VISTA = <BLOB>>
OLD_ID = 17
>
[21/08/2007 13:21:20]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:21:20]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:21:20]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:20]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:20]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:20]TE_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
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.
>
[21/08/2007 13:21:20]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:20]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:20])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN
>
[21/08/2007 13:21:20]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C
>
[21/08/2007 13:21:20]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:21:20]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:20]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:20]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:20]TE_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
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.
>
[21/08/2007 13:21:20]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:20]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:20])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:21:24]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:24]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:24]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:24]TE_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
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.
>
[21/08/2007 13:21:24]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:24]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:24])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN
>
[21/08/2007 13:21:24]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C
>
[21/08/2007 13:21:24]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:21:24]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:24]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:24]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:24]TE_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
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.
>
[21/08/2007 13:21:24]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:24]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:24])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:21:47]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:47]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:47]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:47]TE_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
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.
>
[21/08/2007 13:21:47]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:47]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:47])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN
>
[21/08/2007 13:21:47]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C
>
[21/08/2007 13:21:47]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:21:47]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:21:47]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:21:47]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:21:47]TE_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
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.
>
[21/08/2007 13:21:47]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:21:47]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:21:47])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 21/05/2007
FECHAFIN = 21/08/2007
FECHAINI = 21/05/2007
FECHAFIN = 21/08/2007
>
[21/08/2007 13:23:13]
[Application: FactuGES (Servidor)]
: [Prepare] UPDATE INFORMES
SET
ID_EMPRESA = :ID_EMPRESA,
CATEGORIA = :CATEGORIA,
CONTROLLER = :CONTROLLER,
MODIFICABLE = :MODIFICABLE,
ICONO = :ICONO,
NOMBRE = :NOMBRE,
DESCRIPCION = :DESCRIPCION,
ORDEN = :ORDEN,
VISTA = :VISTA
WHERE
(ID = :OLD_ID)
Plan: PLAN (INFORMES INDEX (PK_INFORMES))
>
[21/08/2007 13:23:13]
[Application: FactuGES (Servidor)]
: [Execute] UPDATE INFORMES
SET
ID_EMPRESA = :ID_EMPRESA,
CATEGORIA = :CATEGORIA,
CONTROLLER = :CONTROLLER,
MODIFICABLE = :MODIFICABLE,
ICONO = :ICONO,
NOMBRE = :NOMBRE,
DESCRIPCION = :DESCRIPCION,
ORDEN = :ORDEN,
VISTA = :VISTA
WHERE
(ID = :OLD_ID)
ID_EMPRESA = 1
CATEGORIA = MARGEN ARTICULOS
CONTROLLER = InfMargenArticuloController
MODIFICABLE = S
ICONO = 0
NOMBRE = Margen (promedio) por art<72>culo
DESCRIPCION = Informe de margen por art<72>culo teniendo en cuenta el precio neto de venta promedio
ORDEN = <NULL>>
VISTA = <BLOB>>
OLD_ID = 17
>
[21/08/2007 13:23:23]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[21/08/2007 13:23:23]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Luis
PASS = 1
>
[21/08/2007 13:23:23]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
PERFILES.PERFIL
FROM
PERFILES, PERFILES_USUARIOS
WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO
AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL
Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES))
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:23:27]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:23:29]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:23:29]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:23:29]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:23:29]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:23:29]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:23:29]TE_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
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.
>
[21/08/2007 13:23:29]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:23:29]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:23:29])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN
>
[21/08/2007 13:23:29]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C
>
[21/08/2007 13:23:29]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:23:29]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:23:29]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:23:30]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:23:30]TE_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
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.
>
[21/08/2007 13:23:30]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:23:30]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:23:30])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:23:34]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:23:34]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:23:34]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:23:34]TE_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
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.
>
[21/08/2007 13:23:34]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:23:34]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:23:34])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN
>
[21/08/2007 13:23:34]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C
>
[21/08/2007 13:23:34]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:23:34]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTI
>
[21/08/2007 13:23:34]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DESCRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P
>
[21/08/2007 13:23:34]ORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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 IMPOR
>
[21/08/2007 13:23:34]TE_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
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.
>
[21/08/2007 13:23:34]ID_FACTURA)
WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:23:34]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN
>
[21/08/2007 13:23:34])
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:25:15]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[21/08/2007 13:25:15]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Luis
PASS = 1
>
[21/08/2007 13:25:15]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
PERFILES.PERFIL
FROM
PERFILES, PERFILES_USUARIOS
WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO
AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL
Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES))
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:25:19]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:25:22]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
Plan: PLAN SORT ((INFORMES NATURAL))
>
[21/08/2007 13:25:22]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[21/08/2007 13:25:22]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DES
>
[21/08/2007 13:25:22]CRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A
>
[21/08/2007 13:25:22]S IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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, I
>
[21/08/2007 13:25:22]D_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
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
>
[21/08/2007 13:25:22]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:25:22]_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENT
>
[21/08/2007 13:25:22]E_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALL
>
[21/08/2007 13:25:22]ES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:25:22]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DES
>
[21/08/2007 13:25:22]CRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A
>
[21/08/2007 13:25:22]S IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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, I
>
[21/08/2007 13:25:22]D_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
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
>
[21/08/2007 13:25:22]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:25:22]_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
FECHAINI = 01/08/2007
FECHAFIN = 31/08/2007
>
[21/08/2007 13:25:26]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DES
>
[21/08/2007 13:25:26]CRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A
>
[21/08/2007 13:25:26]S IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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, I
>
[21/08/2007 13:25:26]D_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
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
>
[21/08/2007 13:25:26]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:25:26]_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENT
>
[21/08/2007 13:25:26]E_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALL
>
[21/08/2007 13:25:26]ES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:25:26]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DES
>
[21/08/2007 13:25:26]CRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A
>
[21/08/2007 13:25:26]S IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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, I
>
[21/08/2007 13:25:26]D_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
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
>
[21/08/2007 13:25:26]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:25:26]_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DES
>
[21/08/2007 13:27:59]CRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A
>
[21/08/2007 13:27:59]S IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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, I
>
[21/08/2007 13:27:59]D_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
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
>
[21/08/2007 13:27:59]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:27:59]_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENT
>
[21/08/2007 13:27:59]E_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)))))
PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALL
>
[21/08/2007 13:27:59]ES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
>
[21/08/2007 13:27:59]
[Application: FactuGES (Servidor)]
: [Execute] SELECT DISTINCT
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
FROM
(SELECT
MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,
MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE,
MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO,
CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,
CLIENTES.NOMBRE AS NOMBRE_CLIENTE,
CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE,
AGENTES.NIF_CIF AS NIF_CIF_AGENTE,
AGENTES.NOMBRE AS NOMBRE_AGENTE,
ARTICULOS.FAMILIA AS FAMILIA,
ARTICULOS.REFERENCIA AS REFERENCIA,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV,
ARTICULOS.DESCRIPCION AS DES
>
[21/08/2007 13:27:59]CRIPCION,
ARTICULOS.COMISIONABLE AS COMISIONABLE,
ARTICULOS.INVENTARIABLE AS INVENTARIABLE,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT,
COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,
COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA,
COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA,
COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A
>
[21/08/2007 13:27:59]S IMP_UNIDAD_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP,
COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP,
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
(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, I
>
[21/08/2007 13:27:59]D_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
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
>
[21/08/2007 13:27:59]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0)
AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
GROUP BY 1, 2, 3)
GROUP BY 1, 2, 3) MARGEN_VENTAS
LEFT JOIN
(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
>
[21/08/2007 13:27:59]_PORTE_PRO_COMP
FROM V_INF_ULTIMA_COMPRA
UNION ALL
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)
AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0)
AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
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
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_I
[21/08/2007 13:38:53]COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS))))))
INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV
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
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)) INF_MARGEN_ARTICULOS
GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV