[21/08/2007 13:14:13] [Application: FactuGES (Servidor)] : [Connect] > [21/08/2007 13:14:13] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:14:13] [Application: FactuGES (Servidor)] : [Start transaction] > [21/08/2007 13:14:14] [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)) > [21/08/2007 13:14:14] [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 > [21/08/2007 13:14:14] [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))) > [21/08/2007 13:14:14] [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 > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Administrador PASS = luisleon07 > [21/08/2007 13:14:14] [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)) > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Start transaction] > [21/08/2007 13:14:14] [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 > [21/08/2007 13:14:14] [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 > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > [21/08/2007 13:14:14] [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 > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Start transaction] > [21/08/2007 13:14:14] [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 > [21/08/2007 13:14:14] [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 > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > [21/08/2007 13:14:14] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 1 > [21/08/2007 13:14:23] [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) > [21/08/2007 13:14:23] [Application: FactuGES (Servidor)] : [Start transaction] > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [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)) > [21/08/2007 13:14:23] [Application: FactuGES (Servidor)] : [Start transaction] > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [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) > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [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)) > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:23] [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)) > [21/08/2007 13:14:23] [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) > [21/08/2007 13:14:23] [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)) > [21/08/2007 13:14:23] [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 > [21/08/2007 13:14:31] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:14:31] [Application: FactuGES (Servidor)] : [Start transaction] > [21/08/2007 13:14:31] [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 > [21/08/2007 13:14:31] [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 > [21/08/2007 13:14:31] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > [21/08/2007 13:14:31] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:14:36] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:14:36] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:14:37] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTA > [21/08/2007 13:14:37]S.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COM > [21/08/2007 13:14:37]PRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT > [21/08/2007 13:14:37]_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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_ > [21/08/2007 13:14:37]NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT > [21/08/2007 13:14:37] FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELE > [21/08/2007 13:14:37]CT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO > [21/08/2007 13:14:37]_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN > [21/08/2007 13:14:37] CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MAR > [21/08/2007 13:14:37]GEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:14:37] [Application: FactuGES (Servidor)] : [Start transaction] > [21/08/2007 13:14:37] [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 = > [21/08/2007 13:14:37] [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 = > [21/08/2007 13:14:37] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > [21/08/2007 13:14:37] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTA > [21/08/2007 13:14:37]S.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COM > [21/08/2007 13:14:37]PRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT > [21/08/2007 13:14:37]_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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_ > [21/08/2007 13:14:37]NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT > [21/08/2007 13:14:37] FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELE > [21/08/2007 13:14:37]CT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO > [21/08/2007 13:14:37]_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN > [21/08/2007 13:14:37] CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:14:44] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:14:44]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:14:44]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:14:44]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:14:44]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:14:44]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:14:44]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:14:44]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:14:44]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:14:44]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:14:44]K_CONTACTOS)))))) > [21/08/2007 13:14:44] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:14:44]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:14:44]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:14:44]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:14:44]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:14:44]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:14:44]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:14:44]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:14:44]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:14:48] [Application: FactuGES (Servidor)] : [Prepare] UPDATE INFORMES SET ID_EMPRESA = :ID_EMPRESA, CATEGORIA = :CATEGORIA, CONTROLLER = :CONTROLLER, MODIFICABLE = :MODIFICABLE, ICONO = :ICONO, NOMBRE = :NOMBRE, DESCRIPCION = :DESCRIPCION, ORDEN = :ORDEN, VISTA = :VISTA WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:14:48] [Application: FactuGES (Servidor)] : [Execute] UPDATE INFORMES SET ID_EMPRESA = :ID_EMPRESA, CATEGORIA = :CATEGORIA, CONTROLLER = :CONTROLLER, MODIFICABLE = :MODIFICABLE, ICONO = :ICONO, NOMBRE = :NOMBRE, DESCRIPCION = :DESCRIPCION, ORDEN = :ORDEN, VISTA = :VISTA WHERE (ID = :OLD_ID) ID_EMPRESA = 1 CATEGORIA = MARGEN ARTICULOS CONTROLLER = InfMargenArticuloController MODIFICABLE = S ICONO = 0 NOMBRE = sadad DESCRIPCION = asdad ORDEN = > VISTA = > OLD_ID = 56 > [21/08/2007 13:14:59] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:14:59] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Luis PASS = 1 > [21/08/2007 13:14:59] [Application: FactuGES (Servidor)] : [Prepare] SELECT PERFILES.PERFIL FROM PERFILES, PERFILES_USUARIOS WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES)) > [21/08/2007 13:14:59] [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 = 2 > [21/08/2007 13:14:59] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:14:59] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 2 > [21/08/2007 13:15:02] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:15:02] [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 (ID IN (1)) > [21/08/2007 13:15:02] [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)) > [21/08/2007 13:15:02] [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 > [21/08/2007 13:15:02] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:15:02] [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 (ID IN (1)) > [21/08/2007 13:15:02] [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)) > [21/08/2007 13:15:02] [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 > [21/08/2007 13:15:02] [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) AND (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:15:02] [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) AND (ID IN (1)) > [21/08/2007 13:15:02] [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)) > [21/08/2007 13:15:02] [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 > [21/08/2007 13:15:05] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:15:05] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:15:07] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:15:07] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:15:07] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:07]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:07]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:07]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:07]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:07]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:07]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:07]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:07]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:07]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:07]K_CONTACTOS)))))) > [21/08/2007 13:15:07] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:07]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:07]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:07]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:07]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:07]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:07]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:07]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:07]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:10] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:10]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:10]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:10]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:10]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:10]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:10]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:10]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:10]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:10]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:10]K_CONTACTOS)))))) > [21/08/2007 13:15:10] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:10]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:10]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:10]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:10]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:10]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:10]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:10]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:10]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:17] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:15:17] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:15:17] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:17]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:17]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:17]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:17]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:17]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:17]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:17]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:17]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:17]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:17]K_CONTACTOS)))))) > [21/08/2007 13:15:17] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:17]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:17]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:17]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:17]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:17]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:17]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:17]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:17]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:20] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:20]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:20]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:20]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:20]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:20]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:20]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:20]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:20]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:20]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:20]K_CONTACTOS)))))) > [21/08/2007 13:15:20] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:20]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:20]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:20]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:20]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:20]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:20]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:20]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:20]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:22] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:22]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:22]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:22]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:22]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:22]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:22]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:22]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:22]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:22]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:22]K_CONTACTOS)))))) > [21/08/2007 13:15:22] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:22]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:22]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:22]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:22]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:22]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:22]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:22]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:22]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:28] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:28]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:28]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:28]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:28]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:28]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:28]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:28]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:28]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:28]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:28]K_CONTACTOS)))))) > [21/08/2007 13:15:28] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:28]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:28]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:28]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:28]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:28]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:28]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:28]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:28]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:45] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:45]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:45]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:45]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:45]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:45]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:45]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:45]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:45]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:45]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:45]K_CONTACTOS)))))) > [21/08/2007 13:15:45] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:45]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:45]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:45]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:45]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:45]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:45]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:45]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:45]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:50] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:15:50] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:15:51] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:51]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:51]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:51]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:51]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:51]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:51]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:51]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:51]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:51]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:51]K_CONTACTOS)))))) > [21/08/2007 13:15:51] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:51]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:51]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:51]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:51]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:51]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:51]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:51]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:51]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:15:56] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:56]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:56]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:56]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:56]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:56]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:56]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:56]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:56]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:15:56]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:15:56]K_CONTACTOS)))))) > [21/08/2007 13:15:56] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:15:56]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:15:56]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:15:56]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:15:56]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:15:56]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:15:56]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:15:56]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:15:56]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:16:02] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:16:02] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:16:02] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:16:02]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:16:02]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:16:02]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:16:02]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:16:02]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:16:02]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:16:02]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:16:02]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:16:02]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:16:02]K_CONTACTOS)))))) > [21/08/2007 13:16:02] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:16:02]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:16:02]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:16:02]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:16:02]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:16:02]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:16:02]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:16:02]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:16:02]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:16:14] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:16:14] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:16:14] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:16:14]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:16:14]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:16:14]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:16:14]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:16:14]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:16:14]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:16:14]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:16:14]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:16:14]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:16:14]K_CONTACTOS)))))) > [21/08/2007 13:16:14] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:16:14]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:16:14]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:16:14]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:16:14]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:16:14]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:16:14]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:16:14]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:16:14]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:17:32] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:17:32] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Luis PASS = 1 > [21/08/2007 13:17:32] [Application: FactuGES (Servidor)] : [Prepare] SELECT PERFILES.PERFIL FROM PERFILES, PERFILES_USUARIOS WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES)) > [21/08/2007 13:17:32] [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 = 2 > [21/08/2007 13:17:32] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:17:32] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 2 > [21/08/2007 13:17:34] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:17:34] [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 (ID IN (1)) > [21/08/2007 13:17:34] [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)) > [21/08/2007 13:17:34] [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 > [21/08/2007 13:17:34] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:17:34] [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 (ID IN (1)) > [21/08/2007 13:17:34] [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)) > [21/08/2007 13:17:34] [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 > [21/08/2007 13:17:34] [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) AND (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:17:34] [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) AND (ID IN (1)) > [21/08/2007 13:17:34] [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)) > [21/08/2007 13:17:34] [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 > [21/08/2007 13:17:36] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:17:36] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:17:38] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:17:38] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:17:39] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:17:39]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:17:39]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:17:39]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:17:39]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:17:39]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:17:39]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:17:39]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:17:39]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURA > [21/08/2007 13:17:39]S_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (P > [21/08/2007 13:17:39]K_CONTACTOS)))))) > [21/08/2007 13:17:39] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_VENT) AS IMP_PORTE_PRO_VENT,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_VENT) AS IMP_UNIDAD_PRO_VENT FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ > [21/08/2007 13:17:39]ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO > [21/08/2007 13:17:39]_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) > [21/08/2007 13:17:39]/ 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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 1 > [21/08/2007 13:17:39]00 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NUL > [21/08/2007 13:17:39]L AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_ > [21/08/2007 13:17:39]VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR > [21/08/2007 13:17:39]TE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARG > [21/08/2007 13:17:39]EN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.ID_EMPRESA FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:17:56] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:17:56] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Administrador PASS = lu > [21/08/2007 13:18:05] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:18:05] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Administrador PASS = luisleon07 > [21/08/2007 13:18:05] [Application: FactuGES (Servidor)] : [Prepare] SELECT PERFILES.PERFIL FROM PERFILES, PERFILES_USUARIOS WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES)) > [21/08/2007 13:18:05] [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 > [21/08/2007 13:18:05] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:18:05] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 1 > [21/08/2007 13:18:07] [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) > [21/08/2007 13:18:07] [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 > [21/08/2007 13:18:07] [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)) > [21/08/2007 13:18:07] [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 > [21/08/2007 13:18:07] [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) > [21/08/2007 13:18:07] [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 > [21/08/2007 13:18:07] [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)) > [21/08/2007 13:18:07] [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 > [21/08/2007 13:18:07] [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)) > [21/08/2007 13:18:07] [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) > [21/08/2007 13:18:07] [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)) > [21/08/2007 13:18:07] [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 > [21/08/2007 13:18:09] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:18:09] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:18:12] [Application: FactuGES (Servidor)] : [Prepare] DELETE FROM INFORMES WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:18:12] [Application: FactuGES (Servidor)] : [Execute] DELETE FROM INFORMES WHERE (ID = :OLD_ID) OLD_ID = 31 > [21/08/2007 13:18:15] [Application: FactuGES (Servidor)] : [Prepare] DELETE FROM INFORMES WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:18:15] [Application: FactuGES (Servidor)] : [Execute] DELETE FROM INFORMES WHERE (ID = :OLD_ID) OLD_ID = 52 > [21/08/2007 13:18:18] [Application: FactuGES (Servidor)] : [Prepare] DELETE FROM INFORMES WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:18:18] [Application: FactuGES (Servidor)] : [Execute] DELETE FROM INFORMES WHERE (ID = :OLD_ID) OLD_ID = 51 > [21/08/2007 13:18:21] [Application: FactuGES (Servidor)] : [Prepare] DELETE FROM INFORMES WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:18:21] [Application: FactuGES (Servidor)] : [Execute] DELETE FROM INFORMES WHERE (ID = :OLD_ID) OLD_ID = 53 > [21/08/2007 13:18:23] [Application: FactuGES (Servidor)] : [Prepare] DELETE FROM INFORMES WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:18:23] [Application: FactuGES (Servidor)] : [Execute] DELETE FROM INFORMES WHERE (ID = :OLD_ID) OLD_ID = 54 > [21/08/2007 13:18:26] [Application: FactuGES (Servidor)] : [Prepare] DELETE FROM INFORMES WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:18:26] [Application: FactuGES (Servidor)] : [Execute] DELETE FROM INFORMES WHERE (ID = :OLD_ID) OLD_ID = 55 > [21/08/2007 13:18:29] [Application: FactuGES (Servidor)] : [Prepare] DELETE FROM INFORMES WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:18:29] [Application: FactuGES (Servidor)] : [Execute] DELETE FROM INFORMES WHERE (ID = :OLD_ID) OLD_ID = 56 > [21/08/2007 13:18:33] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:18:33] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:18:33] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV > [21/08/2007 13:18:33]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIP > [21/08/2007 13:18:33]CION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM > [21/08/2007 13:18:33]P_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MA > [21/08/2007 13:18:33]RGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NE > [21/08/2007 13:18:33]TO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_AR > [21/08/2007 13:18:33]TICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL > [21/08/2007 13:18:33]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_POR > [21/08/2007 13:18:33]TE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_CO > [21/08/2007 13:18:33]MPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FE > [21/08/2007 13:18:33]C_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPR > [21/08/2007 13:18:33]AS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:18:33] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV > [21/08/2007 13:18:33]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIP > [21/08/2007 13:18:33]CION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM > [21/08/2007 13:18:33]P_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MA > [21/08/2007 13:18:34]RGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NE > [21/08/2007 13:18:34]TO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_AR > [21/08/2007 13:18:34]TICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL > [21/08/2007 13:18:34]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_POR > [21/08/2007 13:18:34]TE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_CO > [21/08/2007 13:18:34]MPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:18:39] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV > [21/08/2007 13:18:39]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIP > [21/08/2007 13:18:39]CION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM > [21/08/2007 13:18:39]P_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MA > [21/08/2007 13:18:39]RGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NE > [21/08/2007 13:18:39]TO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_AR > [21/08/2007 13:18:39]TICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL > [21/08/2007 13:18:39]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_POR > [21/08/2007 13:18:39]TE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_CO > [21/08/2007 13:18:39]MPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FE > [21/08/2007 13:18:39]C_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPR > [21/08/2007 13:18:39]AS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:18:39] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_COMPRA) AS IMP_MARGEN_PRO_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_ULT_COMP) AS IMP_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_COMPRA) AS IMP_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_PRO_COMP) AS IMP_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_COMPRA) AS POR_MARGEN_PRO_VENT_COMPRA,AV > [21/08/2007 13:18:39]G(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_ULT_COMP) AS POR_MARGEN_PRO_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_COMPRA) AS POR_MARGEN_ULT_VENT_COMPRA,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_PRO_COMP) AS POR_MARGEN_ULT_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIP > [21/08/2007 13:18:39]CION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IM > [21/08/2007 13:18:39]P_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MA > [21/08/2007 13:18:39]RGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NE > [21/08/2007 13:18:39]TO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_AR > [21/08/2007 13:18:39]TICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL > [21/08/2007 13:18:39]) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_POR > [21/08/2007 13:18:39]TE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_CO > [21/08/2007 13:18:39]MPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NIF_CIF_AGENTE,INF_MARGEN_ARTICULOS.NOMBRE_AGENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:20:21] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:20:21]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:20:21]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:20:21]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:20:21] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:20:21]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:20:21]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:20:21]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:20:21]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN > [21/08/2007 13:20:21]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C > [21/08/2007 13:20:21]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:20:21] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:20:21]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:20:21]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:20:21]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:20:21] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:20:21]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:20:21]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:20:21]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:20:21]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:21:03] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:03]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:03]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:03]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:03] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:03]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:03]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:03]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:03]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN > [21/08/2007 13:21:03]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C > [21/08/2007 13:21:03]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:21:03] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:03]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:03]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:03]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:03] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:03]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:03]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:03]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:03]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:21:15] [Application: FactuGES (Servidor)] : [Prepare] UPDATE INFORMES SET ID_EMPRESA = :ID_EMPRESA, CATEGORIA = :CATEGORIA, CONTROLLER = :CONTROLLER, MODIFICABLE = :MODIFICABLE, ICONO = :ICONO, NOMBRE = :NOMBRE, DESCRIPCION = :DESCRIPCION, ORDEN = :ORDEN, VISTA = :VISTA WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:21:15] [Application: FactuGES (Servidor)] : [Execute] UPDATE INFORMES SET ID_EMPRESA = :ID_EMPRESA, CATEGORIA = :CATEGORIA, CONTROLLER = :CONTROLLER, MODIFICABLE = :MODIFICABLE, ICONO = :ICONO, NOMBRE = :NOMBRE, DESCRIPCION = :DESCRIPCION, ORDEN = :ORDEN, VISTA = :VISTA WHERE (ID = :OLD_ID) ID_EMPRESA = 1 CATEGORIA = MARGEN ARTICULOS CONTROLLER = InfMargenArticuloController MODIFICABLE = S ICONO = 0 NOMBRE = Margen (promedio) por artículo DESCRIPCION = Informe de margen por artículo teniendo en cuenta el precio neto de venta promedio ORDEN = > VISTA = > OLD_ID = 17 > [21/08/2007 13:21:20] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:21:20] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:21:20] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:20]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:20]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:20]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:20] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:20]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:20]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:20]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:20]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN > [21/08/2007 13:21:20]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C > [21/08/2007 13:21:20]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:21:20] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:20]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:20]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:20]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:20] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:20]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:20]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:20]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:20]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:21:24] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:24]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:24]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:24]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:24] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:24]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:24]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:24]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:24]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN > [21/08/2007 13:21:24]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C > [21/08/2007 13:21:24]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:21:24] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:24]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:24]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:24]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:24] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:24]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:24]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:24]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:24]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:21:47] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:47]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:47]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:47]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:47] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:47]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:47]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:47]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:47]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN > [21/08/2007 13:21:47]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C > [21/08/2007 13:21:47]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:21:47] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:21:47]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:21:47]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:21:47]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:21:47] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:21:47]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:21:47]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:21:47]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:21:47]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 21/05/2007 FECHAFIN = 21/08/2007 FECHAINI = 21/05/2007 FECHAFIN = 21/08/2007 > [21/08/2007 13:23:13] [Application: FactuGES (Servidor)] : [Prepare] UPDATE INFORMES SET ID_EMPRESA = :ID_EMPRESA, CATEGORIA = :CATEGORIA, CONTROLLER = :CONTROLLER, MODIFICABLE = :MODIFICABLE, ICONO = :ICONO, NOMBRE = :NOMBRE, DESCRIPCION = :DESCRIPCION, ORDEN = :ORDEN, VISTA = :VISTA WHERE (ID = :OLD_ID) Plan: PLAN (INFORMES INDEX (PK_INFORMES)) > [21/08/2007 13:23:13] [Application: FactuGES (Servidor)] : [Execute] UPDATE INFORMES SET ID_EMPRESA = :ID_EMPRESA, CATEGORIA = :CATEGORIA, CONTROLLER = :CONTROLLER, MODIFICABLE = :MODIFICABLE, ICONO = :ICONO, NOMBRE = :NOMBRE, DESCRIPCION = :DESCRIPCION, ORDEN = :ORDEN, VISTA = :VISTA WHERE (ID = :OLD_ID) ID_EMPRESA = 1 CATEGORIA = MARGEN ARTICULOS CONTROLLER = InfMargenArticuloController MODIFICABLE = S ICONO = 0 NOMBRE = Margen (promedio) por artículo DESCRIPCION = Informe de margen por artículo teniendo en cuenta el precio neto de venta promedio ORDEN = > VISTA = > OLD_ID = 17 > [21/08/2007 13:23:23] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:23:23] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Luis PASS = 1 > [21/08/2007 13:23:23] [Application: FactuGES (Servidor)] : [Prepare] SELECT PERFILES.PERFIL FROM PERFILES, PERFILES_USUARIOS WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES)) > [21/08/2007 13:23:23] [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 = 2 > [21/08/2007 13:23:23] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:23:23] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 2 > [21/08/2007 13:23:25] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:23:25] [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 (ID IN (1)) > [21/08/2007 13:23:25] [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)) > [21/08/2007 13:23:25] [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 > [21/08/2007 13:23:25] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:23:25] [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 (ID IN (1)) > [21/08/2007 13:23:25] [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)) > [21/08/2007 13:23:25] [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 > [21/08/2007 13:23:25] [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) AND (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:23:25] [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) AND (ID IN (1)) > [21/08/2007 13:23:25] [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)) > [21/08/2007 13:23:25] [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 > [21/08/2007 13:23:27] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:23:27] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:23:29] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:23:29] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:23:29] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:23:29]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:23:29]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:23:29]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:23:29] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:23:29]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:23:29]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:23:29]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:23:29]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN > [21/08/2007 13:23:29]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C > [21/08/2007 13:23:29]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:23:29] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:23:29]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:23:30]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:23:30]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:23:30] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:23:30]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:23:30]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:23:30]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:23:30]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:23:34] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:23:34]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:23:34]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:23:34]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:23:34] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:23:34]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:23:34]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:23:34]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:23:34]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_IN > [21/08/2007 13:23:34]F_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_C > [21/08/2007 13:23:34]OMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:23:34] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_VENT_PRO_COMP) AS IMP_MARGEN_PRO_VENT_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP) AS IMP_NETO_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_PORTE_PRO_COMP) AS IMP_PORTE_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_UNIDAD_PRO_COMP) AS IMP_UNIDAD_PRO_COMP,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_VENT_PRO_COMP) AS POR_MARGEN_PRO_VENT_PRO_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTI > [21/08/2007 13:23:34]CULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DESCRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_P > [21/08/2007 13:23:34]ORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) AS IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VE > [21/08/2007 13:23:34]NTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN > [21/08/2007 13:23:34] (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPOR > [21/08/2007 13:23:34]TE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES. > [21/08/2007 13:23:34]ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS > [21/08/2007 13:23:34]IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN > [21/08/2007 13:23:34]) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:25:15] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:25:15] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Luis PASS = 1 > [21/08/2007 13:25:15] [Application: FactuGES (Servidor)] : [Prepare] SELECT PERFILES.PERFIL FROM PERFILES, PERFILES_USUARIOS WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES)) > [21/08/2007 13:25:15] [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 = 2 > [21/08/2007 13:25:15] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:25:15] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 2 > [21/08/2007 13:25:18] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:25:18] [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 (ID IN (1)) > [21/08/2007 13:25:18] [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)) > [21/08/2007 13:25:18] [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 > [21/08/2007 13:25:18] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:25:18] [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 (ID IN (1)) > [21/08/2007 13:25:18] [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)) > [21/08/2007 13:25:18] [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 > [21/08/2007 13:25:18] [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) AND (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:25:18] [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) AND (ID IN (1)) > [21/08/2007 13:25:18] [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)) > [21/08/2007 13:25:18] [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 > [21/08/2007 13:25:19] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:25:19] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:25:22] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:25:22] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:25:22] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DES > [21/08/2007 13:25:22]CRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A > [21/08/2007 13:25:22]S IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IM > [21/08/2007 13:25:22]P_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORT > [21/08/2007 13:25:22]E_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, I > [21/08/2007 13:25:22]D_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT > [21/08/2007 13:25:22]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE > [21/08/2007 13:25:22]_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGE > [21/08/2007 13:25:22]N_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENT > [21/08/2007 13:25:22]E_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALL > [21/08/2007 13:25:22]ES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:25:22] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DES > [21/08/2007 13:25:22]CRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A > [21/08/2007 13:25:22]S IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IM > [21/08/2007 13:25:22]P_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORT > [21/08/2007 13:25:22]E_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, I > [21/08/2007 13:25:22]D_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT > [21/08/2007 13:25:22]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE > [21/08/2007 13:25:22]_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGE > [21/08/2007 13:25:22]N_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:25:26] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DES > [21/08/2007 13:25:26]CRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A > [21/08/2007 13:25:26]S IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IM > [21/08/2007 13:25:26]P_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORT > [21/08/2007 13:25:26]E_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, I > [21/08/2007 13:25:26]D_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT > [21/08/2007 13:25:26]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE > [21/08/2007 13:25:26]_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGE > [21/08/2007 13:25:26]N_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENT > [21/08/2007 13:25:26]E_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALL > [21/08/2007 13:25:26]ES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:25:26] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DES > [21/08/2007 13:25:26]CRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A > [21/08/2007 13:25:26]S IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IM > [21/08/2007 13:25:26]P_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORT > [21/08/2007 13:25:26]E_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, I > [21/08/2007 13:25:26]D_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT > [21/08/2007 13:25:26]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE > [21/08/2007 13:25:26]_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGE > [21/08/2007 13:25:26]N_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:27:51] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:27:51] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Luis PASS = 1 > [21/08/2007 13:27:51] [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)) > [21/08/2007 13:27:51] [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 = 2 > [21/08/2007 13:27:51] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:27:51] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 2 > [21/08/2007 13:27:53] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:27:53] [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 (ID IN (1)) > [21/08/2007 13:27:53] [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)) > [21/08/2007 13:27:53] [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 > [21/08/2007 13:27:53] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:27:54] [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 (ID IN (1)) > [21/08/2007 13:27:54] [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)) > [21/08/2007 13:27:54] [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 > [21/08/2007 13:27:54] [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) AND (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:27:54] [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) AND (ID IN (1)) > [21/08/2007 13:27:54] [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)) > [21/08/2007 13:27:54] [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 > [21/08/2007 13:27:57] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:27:57] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:27:59] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:27:59] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:27:59] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DES > [21/08/2007 13:27:59]CRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A > [21/08/2007 13:27:59]S IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IM > [21/08/2007 13:27:59]P_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORT > [21/08/2007 13:27:59]E_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, I > [21/08/2007 13:27:59]D_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT > [21/08/2007 13:27:59]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE > [21/08/2007 13:27:59]_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGE > [21/08/2007 13:27:59]N_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENT > [21/08/2007 13:27:59]E_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALL > [21/08/2007 13:27:59]ES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:27:59] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FROM (SELECT MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA, MARGEN_VENTAS.ID_CLIENTE AS ID_CLIENTE, MARGEN_VENTAS.ID_ARTICULO AS ID_ARTICULO, CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_COMERCIAL_CLIENTE, AGENTES.NIF_CIF AS NIF_CIF_AGENTE, AGENTES.NOMBRE AS NOMBRE_AGENTE, ARTICULOS.FAMILIA AS FAMILIA, ARTICULOS.REFERENCIA AS REFERENCIA, ARTICULOS.REFERENCIA_PROV AS REFERENCIA_PROV, ARTICULOS.DESCRIPCION AS DES > [21/08/2007 13:27:59]CRIPCION, ARTICULOS.COMISIONABLE AS COMISIONABLE, ARTICULOS.INVENTARIABLE AS INVENTARIABLE, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_ULT_VENT, 0) AS IMP_UNIDAD_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT, 0) AS IMP_NETO_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_ULT_VENT, 0) AS IMP_PORTE_ULT_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_UNIDAD_PRO_VENT, 0) AS IMP_UNIDAD_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT, 0) AS IMP_NETO_PRO_VENT, COALESCE(MARGEN_VENTAS.IMPORTE_PORTE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT, COALESCE(ARTICULOS.PRECIO_COSTE, 0) AS IMP_UNIDAD_COMPRA, COALESCE(ARTICULOS.PRECIO_NETO, 0) AS IMP_NETO_COMPRA, COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS IMP_PORTE_COMPRA, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, 0) AS IMP_UNIDAD_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, 0) AS IMP_NETO_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_ULT_COMP, 0) AS IMP_PORTE_ULT_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP, 0) A > [21/08/2007 13:27:59]S IMP_UNIDAD_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, 0) AS IMP_NETO_PRO_COMP, COALESCE(MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP, 0) AS IMP_PORTE_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IM > [21/08/2007 13:27:59]P_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORT > [21/08/2007 13:27:59]E_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SELECT ID_EMPRESA, ID_CLIENTE, I > [21/08/2007 13:27:59]D_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT > [21/08/2007 13:27:59]NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE > [21/08/2007 13:27:59]_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY 1, 2) MARGEN_COMPRAS ON (MARGE > [21/08/2007 13:27:59]N_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 > [21/08/2007 13:38:47] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 Plan: PLAN (USUARIOS NATURAL) > [21/08/2007 13:38:47] [Application: FactuGES (Servidor)] : [Execute] SELECT ID FROM USUARIOS WHERE USUARIO = :USUARIO AND PASS = :PASS AND ACTIVO = 1 USUARIO = Luis PASS = 1 > [21/08/2007 13:38:47] [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)) > [21/08/2007 13:38:47] [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 = 2 > [21/08/2007 13:38:47] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > [21/08/2007 13:38:47] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA FROM EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO ID_USUARIO = 2 > [21/08/2007 13:38:49] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:38:49] [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 (ID IN (1)) > [21/08/2007 13:38:49] [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)) > [21/08/2007 13:38:49] [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 > [21/08/2007 13:38:49] [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 (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:38:49] [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 (ID IN (1)) > [21/08/2007 13:38:49] [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)) > [21/08/2007 13:38:49] [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 > [21/08/2007 13:38:49] [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) AND (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > [21/08/2007 13:38:49] [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) AND (ID IN (1)) > [21/08/2007 13:38:49] [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)) > [21/08/2007 13:38:49] [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 > [21/08/2007 13:38:50] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:38:50] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:38:53] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID Plan: PLAN SORT ((INFORMES NATURAL)) > [21/08/2007 13:38:53] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA FROM INFORMES ORDER BY CATEGORIA, ID > [21/08/2007 13:38:53] [Application: FactuGES (Servidor)] : [Prepare] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV 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 > [21/08/2007 13:38:53]_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 > [21/08/2007 13:38:53]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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN > [21/08/2007 13:38:53]_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_UL > [21/08/2007 13:38:53]T_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SEL > [21/08/2007 13:38:53]ECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_ > [21/08/2007 13:38:53]CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IM > [21/08/2007 13:38:53]PORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY > [21/08/2007 13:38:53] 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV Plan: PLAN SORT (SORT (JOIN (JOIN (JOIN (JOIN (JOIN (SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_I > [21/08/2007 13:38:53]NF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS V_INF_ULTIMA_VENTA V_INF_FEC_ULTIMA_VENTA FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE_DETALLES INDEX (IDX_FACTURAS_CLIENTE_DETALLES2), INF_MARGEN_ARTICULOS MARGEN_VENTAS FACTURAS_CLIENTE INDEX (PK_FACTURAS_CLIENTE)))SORT (JOIN (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS V_INF_ULTIMA_COMPRA V_INF_FEC_ULTIMA_COMPRA FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))))) PLAN SORT (JOIN (INF_MARGEN_ARTICULOS MARGEN_ > [21/08/2007 13:38:53]COMPRAS FACTURAS_PROVEEDOR_DETALLES INDEX (IDX_FACTURAS_PROVEEDOR_DETALLES), INF_MARGEN_ARTICULOS MARGEN_COMPRAS FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR))), INF_MARGEN_ARTICULOS ARTICULOS INDEX (PK_ARTICULOS), INF_MARGEN_ARTICULOS CLIENTES INDEX (PK_CONTACTOS)), INF_MARGEN_ARTICULOS CLIENTES_DATOS INDEX (PK_CLIENTES_DATOS)), INF_MARGEN_ARTICULOS AGENTES INDEX (PK_CONTACTOS)))))) > [21/08/2007 13:38:53] [Application: FactuGES (Servidor)] : [Execute] SELECT DISTINCT INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,AVG(INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_VENT_ULT_COMP) AS IMP_MARGEN_ULT_VENT_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP) AS IMP_NETO_ULT_COMP,AVG(INF_MARGEN_ARTICULOS.IMP_NETO_ULT_VENT) AS IMP_NETO_ULT_VENT,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,AVG(INF_MARGEN_ARTICULOS.POR_MARGEN_ULT_VENT_ULT_COMP) AS POR_MARGEN_ULT_VENT_ULT_COMP,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV 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 > [21/08/2007 13:38:53]_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 > [21/08/2007 13:38:53]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 (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN > [21/08/2007 13:38:53]_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT ELSE 0 END AS POR_MARGEN_ULT_VENT_PRO_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA, CASE WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) >> 0 THEN (ARTICULOS.PRECIO_NETO * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_COMPRA, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_UL > [21/08/2007 13:38:53]T_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_ULT_COMP, MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP, CASE WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100 WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) >> 0 THEN (MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ELSE 0 END AS POR_MARGEN_PRO_VENT_PRO_COMP FROM (SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT, COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT, COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT, COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT FROM (SEL > [21/08/2007 13:38:53]ECT ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT, NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT FROM V_INF_ULTIMA_VENTA UNION ALL SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT, AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT FROM FACTURAS_CLIENTE_DETALLES LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA) WHERE (FACTURAS_ > [21/08/2007 13:38:53]CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD >> 0) AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2, 3) GROUP BY 1, 2, 3) MARGEN_VENTAS LEFT JOIN (SELECT ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP, COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP, COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_PRO_COMP FROM (SELECT ID_EMPRESA, ID_ARTICULO, IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP, NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IM > [21/08/2007 13:38:53]PORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP FROM V_INF_ULTIMA_COMPRA UNION ALL SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO, NULL, NULL, NULL, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP, AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP FROM FACTURAS_PROVEEDOR_DETALLES LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA) WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >> 0) AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD >> 0) AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN) GROUP BY 1, 2) GROUP BY > [21/08/2007 13:38:53] 1, 2) MARGEN_COMPRAS ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA) AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO) LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE) LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID) LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)) INF_MARGEN_ARTICULOS GROUP BY INF_MARGEN_ARTICULOS.DESCRIPCION,INF_MARGEN_ARTICULOS.FAMILIA,INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,INF_MARGEN_ARTICULOS.REFERENCIA,INF_MARGEN_ARTICULOS.REFERENCIA_PROV FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 FECHAINI = 01/08/2007 FECHAFIN = 31/08/2007 >