This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Output/Debug/Servidor/ServerLog.txt
2007-09-10 10:02:11 +00:00

3394 lines
138 KiB
Plaintext

[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Connect]
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Start transaction]
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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))
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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)))
RELATION = USUARIOS
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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)))
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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
RELATION_NAME = USUARIOS
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Commit (Hard commit)]
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Administrador
PASS = luisleon07
>
[10/09/2007 11:27:39]
[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))
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Start transaction]
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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)))
RELATION = PERFILES
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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
RELATION_NAME = PERFILES
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Commit (Hard commit)]
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
PERFILES.PERFIL
FROM
PERFILES, PERFILES_USUARIOS
WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO
AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL
ID_USUARIO = 1
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID_EMPRESA
FROM
EMPRESAS_USUARIOS
WHERE ID_USUARIO = :ID_USUARIO
Plan: PLAN (EMPRESAS_USUARIOS NATURAL)
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Start transaction]
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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)))
RELATION = EMPRESAS_USUARIOS
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [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
RELATION_NAME = EMPRESAS_USUARIOS
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Commit (Hard commit)]
>
[10/09/2007 11:27:39]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID_EMPRESA
FROM
EMPRESAS_USUARIOS
WHERE ID_USUARIO = :ID_USUARIO
ID_USUARIO = 1
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
Plan: PLAN (EMPRESAS NATURAL)
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Start transaction]
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [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)))
RELATION = EMPRESAS
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [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
RELATION_NAME = EMPRESAS
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Commit (Hard commit)]
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO))
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Start transaction]
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [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)))
RELATION = EMPRESAS_DATOS_BANCO
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [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
RELATION_NAME = EMPRESAS_DATOS_BANCO
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Commit (Hard commit)]
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
ID_EMPRESA = 1
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
Plan: PLAN (EMPRESAS NATURAL)
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO))
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
ID_EMPRESA = 1
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS WHERE (EMPRESAS.ID = 1)
Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS))
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS WHERE (EMPRESAS.ID = 1)
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO))
>
[10/09/2007 11:27:41]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
ID_EMPRESA = 1
>
[10/09/2007 11:27:44]
[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))
>
[10/09/2007 11:27:44]
[Application: FactuGES (Servidor)]
: [Start transaction]
>
[10/09/2007 11:27:44]
[Application: FactuGES (Servidor)]
: [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)))
RELATION = INFORMES
>
[10/09/2007 11:27:44]
[Application: FactuGES (Servidor)]
: [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
RELATION_NAME = INFORMES
>
[10/09/2007 11:27:44]
[Application: FactuGES (Servidor)]
: [Commit (Hard commit)]
>
[10/09/2007 11:27:44]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[10/09/2007 11:27:48]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:27:48]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:27:48]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:27:48]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:27:48]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:27:48]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:27:48] 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_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
(
>
[10/09/2007 11:27:48]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.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.
>
[10/09/2007 11:27:48]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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_ARTI
>
[10/09/2007 11:27:48]CULOS 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 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_COM
>
[10/09/2007 11:27:48]PRA 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))))))
>
[10/09/2007 11:27:48]
[Application: FactuGES (Servidor)]
: [Start transaction]
>
[10/09/2007 11:27:48]
[Application: FactuGES (Servidor)]
: [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)))
RELATION =
>
[10/09/2007 11:27:48]
[Application: FactuGES (Servidor)]
: [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
RELATION_NAME =
>
[10/09/2007 11:27:48]
[Application: FactuGES (Servidor)]
: [Commit (Hard commit)]
>
[10/09/2007 11:27:48]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:27:48]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:27:48]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:27:48]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:27:48]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:27:48]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:27:48] 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_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
(
>
[10/09/2007 11:27:48]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.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.
>
[10/09/2007 11:27:48]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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
FECHAINI = 01/09/2007
FECHAFIN = 30/09/2007
FECHAINI = 01/09/2007
FECHAFIN =
>
[10/09/2007 11:27:48]30/09/2007
>
[10/09/2007 11:28: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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:28:03]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:28:03]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:28:03]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:28:03]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:28:03]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:28:03] 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_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
(
>
[10/09/2007 11:28:03]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.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.
>
[10/09/2007 11:28:03]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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_ARTI
>
[10/09/2007 11:28:03]CULOS 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 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_COM
>
[10/09/2007 11:28:03]PRA 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))))))
>
[10/09/2007 11:28: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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:28:03]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:28:03]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:28:03]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:28:03]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:28:03]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:28:03] 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_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
(
>
[10/09/2007 11:28:03]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.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.
>
[10/09/2007 11:28:03]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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
FECHAINI = 01/09/2007
FECHAFIN = 30/09/2007
FECHAINI = 01/09/2007
FECHAFIN =
>
[10/09/2007 11:28:03]30/09/2007
>
[10/09/2007 11:28:58]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[10/09/2007 11:28:58]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = Administrador
PASS = luisleon07
>
[10/09/2007 11:28:58]
[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))
>
[10/09/2007 11:28:58]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
PERFILES.PERFIL
FROM
PERFILES, PERFILES_USUARIOS
WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO
AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL
ID_USUARIO = 1
>
[10/09/2007 11:28:58]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID_EMPRESA
FROM
EMPRESAS_USUARIOS
WHERE ID_USUARIO = :ID_USUARIO
Plan: PLAN (EMPRESAS_USUARIOS NATURAL)
>
[10/09/2007 11:28:58]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID_EMPRESA
FROM
EMPRESAS_USUARIOS
WHERE ID_USUARIO = :ID_USUARIO
ID_USUARIO = 1
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
Plan: PLAN (EMPRESAS NATURAL)
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO))
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
ID_EMPRESA = 1
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
Plan: PLAN (EMPRESAS NATURAL)
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO))
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
ID_EMPRESA = 1
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS WHERE (EMPRESAS.ID = 1)
Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS))
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION,
PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1,
MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS,
FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,
REGISTRO_MERCANTIL, IVA
FROM
EMPRESAS WHERE (EMPRESAS.ID = 1)
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Prepare] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO))
>
[10/09/2007 11:29:01]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA,
SUFIJO_N19, SUFIJO_N58
FROM
EMPRESAS_DATOS_BANCO
WHERE ID_EMPRESA = :ID_EMPRESA
ID_EMPRESA = 1
>
[10/09/2007 11:29:03]
[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))
>
[10/09/2007 11:29:03]
[Application: FactuGES (Servidor)]
: [Execute] SELECT
ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA
FROM
INFORMES
ORDER BY CATEGORIA, ID
>
[10/09/2007 11:29:07]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:07]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:07]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:07]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:07]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:07]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:07] 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_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
(
>
[10/09/2007 11:29:07]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.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.
>
[10/09/2007 11:29:07]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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_ARTI
>
[10/09/2007 11:29:07]CULOS 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 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_COM
>
[10/09/2007 11:29:07]PRA 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))))))
>
[10/09/2007 11:29:07]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:07]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:07]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:07]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:07]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:07]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:07] 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_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
(
>
[10/09/2007 11:29:07]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.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.
>
[10/09/2007 11:29:07]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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
FECHAINI = 01/09/2007
FECHAFIN = 30/09/2007
FECHAINI = 01/09/2007
FECHAFIN =
>
[10/09/2007 11:29:07]30/09/2007
>
[10/09/2007 11:29:13]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:13]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:13]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:13]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:13]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:13]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:13] 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_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
(
>
[10/09/2007 11:29:13]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.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.
>
[10/09/2007 11:29:13]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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_ARTI
>
[10/09/2007 11:29:13]CULOS 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 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_COM
>
[10/09/2007 11:29:13]PRA 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))))))
>
[10/09/2007 11:29:13]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:13]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:13]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:13]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:13]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:13]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:13] 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_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
(
>
[10/09/2007 11:29:13]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.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.
>
[10/09/2007 11:29:13]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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
FECHAINI = 01/09/2007
FECHAFIN = 30/09/2007
FECHAINI = 01/09/2007
FECHAFIN =
>
[10/09/2007 11:29:13]30/09/2007
>
[10/09/2007 11:29:22]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:22]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:22]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:22]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:22]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:22]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:22] 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_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
(
>
[10/09/2007 11:29:22]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.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.
>
[10/09/2007 11:29:22]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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_ARTI
>
[10/09/2007 11:29:22]CULOS 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 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_COM
>
[10/09/2007 11:29:22]PRA 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))))))
>
[10/09/2007 11:29:22]
[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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:22]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:22]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:22]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:22]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:22]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:22] 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_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
(
>
[10/09/2007 11:29:22]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.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.
>
[10/09/2007 11:29:22]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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
FECHAINI = 01/09/2007
FECHAFIN = 30/09/2007
FECHAINI = 01/09/2007
FECHAFIN =
>
[10/09/2007 11:29:22]30/09/2007
>
[10/09/2007 11:29: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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:34]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:34]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:34]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:34]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:34]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:34] 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_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
(
>
[10/09/2007 11:29:34]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.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.
>
[10/09/2007 11:29:34]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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_ARTI
>
[10/09/2007 11:29:34]CULOS 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 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_COM
>
[10/09/2007 11:29:34]PRA 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))))))
>
[10/09/2007 11:29: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_NETO_PRO_VENT) AS IMP_NETO_PRO_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,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,
ARTICULOS.REFERENCIA_PROV AS REFERENCIA
>
[10/09/2007 11:29:34]_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_PORTE_ULT_COMP,
COALESCE(MARGEN_C
>
[10/09/2007 11:29:34]OMPRAS.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
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
>
[10/09/2007 11:29:34]AS POR_MARGEN_ULT_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT
ELSE 0
END
AS POR_MARGEN_ULT_VENT_PRO_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,
CASE
WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_COMPRA,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPO
>
[10/09/2007 11:29:34]RTE_NETO_ULT_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_ULT_COMP,
MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,
CASE
WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100
WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN
((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT
ELSE 0
END
AS POR_MARGEN_PRO_VENT_PRO_COMP
FROM
(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
>
[10/09/2007 11:29:34]_VENT,
COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,
COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT
FROM
(SELECT
ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,
IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,
NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT
FROM V_INF_ULTIMA_VENTA
UNION ALL
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,
>
[10/09/2007 11:29:34] 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_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
(
>
[10/09/2007 11:29:34]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.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.
>
[10/09/2007 11:29:34]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 = MARGEN_VENTAS.ID_CLIENTE)
LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)
LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
WHERE ARTICULOS.INVENTARIABLE = 1) 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
FECHAINI = 01/09/2007
FECHAFIN = 30/09/2007
FECHAINI = 01/09/2007
FECHAFIN =
>
[10/09/2007 11:29:34]30/09/2007
>