diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB index 666ec032..d7c7cc2d 100644 Binary files a/Database/FACTUGES.FDB and b/Database/FACTUGES.FDB differ diff --git a/Output/Debug/Cliente/AlbProv_FacProv_relation.bpl b/Output/Debug/Cliente/AlbProv_FacProv_relation.bpl index 015805ae..7ede2810 100644 Binary files a/Output/Debug/Cliente/AlbProv_FacProv_relation.bpl and b/Output/Debug/Cliente/AlbProv_FacProv_relation.bpl differ diff --git a/Output/Debug/Cliente/AlbaranesProveedor_controller.bpl b/Output/Debug/Cliente/AlbaranesProveedor_controller.bpl index 7b71aa73..ad0ab95a 100644 Binary files a/Output/Debug/Cliente/AlbaranesProveedor_controller.bpl and b/Output/Debug/Cliente/AlbaranesProveedor_controller.bpl differ diff --git a/Output/Debug/Cliente/AlbaranesProveedor_data.bpl b/Output/Debug/Cliente/AlbaranesProveedor_data.bpl index c85dcb84..06396025 100644 Binary files a/Output/Debug/Cliente/AlbaranesProveedor_data.bpl and b/Output/Debug/Cliente/AlbaranesProveedor_data.bpl differ diff --git a/Output/Debug/Cliente/AlbaranesProveedor_model.bpl b/Output/Debug/Cliente/AlbaranesProveedor_model.bpl index 752f96ef..8fabf682 100644 Binary files a/Output/Debug/Cliente/AlbaranesProveedor_model.bpl and b/Output/Debug/Cliente/AlbaranesProveedor_model.bpl differ diff --git a/Output/Debug/Cliente/AlbaranesProveedor_view.bpl b/Output/Debug/Cliente/AlbaranesProveedor_view.bpl index 7851288c..9853f053 100644 Binary files a/Output/Debug/Cliente/AlbaranesProveedor_view.bpl and b/Output/Debug/Cliente/AlbaranesProveedor_view.bpl differ diff --git a/Output/Debug/Cliente/Articulos_controller.bpl b/Output/Debug/Cliente/Articulos_controller.bpl index 144ca08d..41895f7b 100644 Binary files a/Output/Debug/Cliente/Articulos_controller.bpl and b/Output/Debug/Cliente/Articulos_controller.bpl differ diff --git a/Output/Debug/Cliente/Articulos_view.bpl b/Output/Debug/Cliente/Articulos_view.bpl index adb0f25b..134be57d 100644 Binary files a/Output/Debug/Cliente/Articulos_view.bpl and b/Output/Debug/Cliente/Articulos_view.bpl differ diff --git a/Output/Debug/Cliente/FacturasProveedor_controller.bpl b/Output/Debug/Cliente/FacturasProveedor_controller.bpl index 796cb78a..c0ce21cf 100644 Binary files a/Output/Debug/Cliente/FacturasProveedor_controller.bpl and b/Output/Debug/Cliente/FacturasProveedor_controller.bpl differ diff --git a/Output/Debug/Cliente/FacturasProveedor_data.bpl b/Output/Debug/Cliente/FacturasProveedor_data.bpl index 8aa8a762..3d4aa51e 100644 Binary files a/Output/Debug/Cliente/FacturasProveedor_data.bpl and b/Output/Debug/Cliente/FacturasProveedor_data.bpl differ diff --git a/Output/Debug/Cliente/FacturasProveedor_model.bpl b/Output/Debug/Cliente/FacturasProveedor_model.bpl index 8053c524..9c5c9bd2 100644 Binary files a/Output/Debug/Cliente/FacturasProveedor_model.bpl and b/Output/Debug/Cliente/FacturasProveedor_model.bpl differ diff --git a/Output/Debug/Cliente/FacturasProveedor_view.bpl b/Output/Debug/Cliente/FacturasProveedor_view.bpl index e55c0f99..a1ab5591 100644 Binary files a/Output/Debug/Cliente/FacturasProveedor_view.bpl and b/Output/Debug/Cliente/FacturasProveedor_view.bpl differ diff --git a/Output/Debug/Cliente/Inventario_controller.bpl b/Output/Debug/Cliente/Inventario_controller.bpl index 02ac3f3d..9af83884 100644 Binary files a/Output/Debug/Cliente/Inventario_controller.bpl and b/Output/Debug/Cliente/Inventario_controller.bpl differ diff --git a/Output/Debug/Cliente/PedProv_AlbProv_relation.bpl b/Output/Debug/Cliente/PedProv_AlbProv_relation.bpl index 0e3c356a..2e0b2186 100644 Binary files a/Output/Debug/Cliente/PedProv_AlbProv_relation.bpl and b/Output/Debug/Cliente/PedProv_AlbProv_relation.bpl differ diff --git a/Output/Debug/Cliente/PedidosCliente_controller.bpl b/Output/Debug/Cliente/PedidosCliente_controller.bpl index ab9adf53..35cf3bea 100644 Binary files a/Output/Debug/Cliente/PedidosCliente_controller.bpl and b/Output/Debug/Cliente/PedidosCliente_controller.bpl differ diff --git a/Output/Debug/Cliente/PedidosProveedor_controller.bpl b/Output/Debug/Cliente/PedidosProveedor_controller.bpl index 0b1a5dd2..a8a16c53 100644 Binary files a/Output/Debug/Cliente/PedidosProveedor_controller.bpl and b/Output/Debug/Cliente/PedidosProveedor_controller.bpl differ diff --git a/Output/Debug/Servidor/ServerLog.txt b/Output/Debug/Servidor/ServerLog.txt index d30f865b..d963097f 100644 --- a/Output/Debug/Servidor/ServerLog.txt +++ b/Output/Debug/Servidor/ServerLog.txt @@ -1,9 +1,9 @@ -[21/08/2007 13:14:13] +[22/08/2007 16:23:17] [Application: FactuGES (Servidor)] : [Connect] > -[21/08/2007 13:14:13] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID @@ -16,45 +16,45 @@ Plan: PLAN (USUARIOS NATURAL) > -[21/08/2007 13:14:13] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Start transaction] > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Execute] SELECT ID @@ -64,11 +64,11 @@ PASS = :PASS AND ACTIVO = 1 - USUARIO = Administrador - PASS = luisleon07 + USUARIO = Luis + PASS = 1 > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Prepare] SELECT PERFILES.PERFIL @@ -80,31 +80,31 @@ Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES)) > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Start transaction] > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Execute] SELECT PERFILES.PERFIL @@ -113,10 +113,10 @@ WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL - ID_USUARIO = 1 + ID_USUARIO = 2 > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID_EMPRESA @@ -127,31 +127,31 @@ Plan: PLAN (EMPRESAS_USUARIOS NATURAL) > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Start transaction] > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [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] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > -[21/08/2007 13:14:14] +[22/08/2007 16:23:18] [Application: FactuGES (Servidor)] : [Execute] SELECT ID_EMPRESA @@ -159,10 +159,10 @@ EMPRESAS_USUARIOS WHERE ID_USUARIO = :ID_USUARIO - ID_USUARIO = 1 + ID_USUARIO = 2 > -[21/08/2007 13:14:23] +[22/08/2007 16:23:26] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION, @@ -171,36 +171,36 @@ FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO, REGISTRO_MERCANTIL, IVA FROM - EMPRESAS + EMPRESAS WHERE (ID IN (1)) - Plan: PLAN (EMPRESAS NATURAL) + Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > -[21/08/2007 13:14:23] +[22/08/2007 16:23:26] [Application: FactuGES (Servidor)] : [Start transaction] > -[21/08/2007 13:14:23] +[22/08/2007 16:23:26] [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] +[22/08/2007 16:23:26] [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] +[22/08/2007 16:23:26] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > -[21/08/2007 13:14:23] +[22/08/2007 16:23:26] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION, @@ -209,11 +209,11 @@ FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO, REGISTRO_MERCANTIL, IVA FROM - EMPRESAS + EMPRESAS WHERE (ID IN (1)) > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, @@ -225,31 +225,31 @@ WHERE ID_EMPRESA = :ID_EMPRESA Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO)) > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Start transaction] > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [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] +[22/08/2007 16:23:27] [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] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, @@ -261,7 +261,7 @@ WHERE ID_EMPRESA = :ID_EMPRESA ID_EMPRESA = 1 > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION, @@ -270,63 +270,12 @@ WHERE ID_EMPRESA = :ID_EMPRESA 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) + EMPRESAS WHERE (ID IN (1)) Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION, @@ -335,11 +284,11 @@ WHERE ID_EMPRESA = :ID_EMPRESA FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO, REGISTRO_MERCANTIL, IVA FROM - EMPRESAS WHERE (EMPRESAS.ID = 1) + EMPRESAS WHERE (ID IN (1)) > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Prepare] SELECT ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, @@ -351,7 +300,7 @@ WHERE ID_EMPRESA = :ID_EMPRESA Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO)) > -[21/08/2007 13:14:23] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] : [Execute] SELECT ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, @@ -363,14474 +312,816 @@ WHERE ID_EMPRESA = :ID_EMPRESA ID_EMPRESA = 1 > -[21/08/2007 13:14:31] +[22/08/2007 16:23:27] [Application: FactuGES (Servidor)] -: [Prepare] SELECT - ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA +: [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 - INFORMES -ORDER BY CATEGORIA, ID + EMPRESAS WHERE (EMPRESAS.ID = 1) AND (ID IN (1)) - Plan: PLAN SORT ((INFORMES NATURAL)) + Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) > -[21/08/2007 13:14:31] +[22/08/2007 16:23:27] +[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)) + + + > +[22/08/2007 16:23:27] +[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)) + + > +[22/08/2007 16:23:27] +[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 + + > +[22/08/2007 16:23:43] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT + ID, ID_EMPRESA, ID_PROVEEDOR, NOMBRE, FECHA_ALBARAN, REFERENCIA, REFERENCIA_PROVEEDOR, + TIPO, ID_ALMACEN, NOMBRE_ALMACEN, ID_PEDIDO, REF_PED_PROVEEDOR, + ID_FACTURA, REF_FACTURA, REF_FACTURA_PROV, CALLE, CODIGO_POSTAL, POBLACION, PROVINCIA, + PERSONA_CONTACTO, TELEFONO, IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO, + IMPORTE_DESCUENTO, BASE_IMPONIBLE, IVA, IMPORTE_IVA, IMPORTE_TOTAL, + OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, + USUARIO, ID_FORMA_PAGO + FROM + V_ALBARANES_PROVEEDOR WHERE (ID_EMPRESA = 1) AND ((IMPORTE_TOTAL >>= 0)) AND (ID_EMPRESA IN (1)) + + Plan: PLAN JOIN (JOIN (JOIN (JOIN (V_ALBARANES_PROVEEDOR ALBARANES_PROVEEDOR INDEX (FK_ALBARAN_PROVEEDOR2), V_ALBARANES_PROVEEDOR CONTACTOS INDEX (PK_CONTACTOS)), V_ALBARANES_PROVEEDOR PEDIDOS_PROVEEDOR INDEX (PK_PEDIDOS_PROVEEDOR)), V_ALBARANES_PROVEEDOR FACTURAS_PROVEEDOR INDEX (PK_FACTURAS_PROVEEDOR)), V_ALBAR + + > +[22/08/2007 16:23:43]ANES_PROVEEDOR ALMACENES INDEX (PK_ALMACENES)) + + > +[22/08/2007 16:23:43] [Application: FactuGES (Servidor)] : [Start transaction] > -[21/08/2007 13:14:31] +[22/08/2007 16:23:43] [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 + RELATION = V_ALBARANES_PROVEEDOR > -[21/08/2007 13:14:31] +[22/08/2007 16:23:43] [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 + RELATION_NAME = V_ALBARANES_PROVEEDOR > -[21/08/2007 13:14:31] +[22/08/2007 16:23:43] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > -[21/08/2007 13:14:31] +[22/08/2007 16:23:43] [Application: FactuGES (Servidor)] : [Execute] SELECT - ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA + ID, ID_EMPRESA, ID_PROVEEDOR, NOMBRE, FECHA_ALBARAN, REFERENCIA, REFERENCIA_PROVEEDOR, + TIPO, ID_ALMACEN, NOMBRE_ALMACEN, ID_PEDIDO, REF_PED_PROVEEDOR, + ID_FACTURA, REF_FACTURA, REF_FACTURA_PROV, CALLE, CODIGO_POSTAL, POBLACION, PROVINCIA, + PERSONA_CONTACTO, TELEFONO, IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO, + IMPORTE_DESCUENTO, BASE_IMPONIBLE, IVA, IMPORTE_IVA, IMPORTE_TOTAL, + OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, + USUARIO, ID_FORMA_PAGO FROM - INFORMES -ORDER BY CATEGORIA, ID + V_ALBARANES_PROVEEDOR WHERE (ID_EMPRESA = 1) AND ((IMPORTE_TOTAL >>= 0)) AND (ID_EMPRESA IN (1)) > -[21/08/2007 13:14:36] +[22/08/2007 16:23:44] [Application: FactuGES (Servidor)] -: [Prepare] SELECT - ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA - FROM - INFORMES -ORDER BY CATEGORIA, ID +: [Prepare] SELECT + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, - Plan: PLAN SORT ((INFORMES NATURAL)) + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + Plan: PLAN SORT (JOIN (ALBARANES_PROVEEDOR_DETALLES INDEX (IDX_ALBARANES_PROV_DETALLES), ARTICULOS INDEX (PK_ARTICULOS))) > -[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] +[22/08/2007 16:23:44] [Application: FactuGES (Servidor)] : [Start transaction] > -[21/08/2007 13:14:37] +[22/08/2007 16:23:44] [Application: FactuGES (Servidor)] : [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL))) - RELATION = + RELATION = ALBARANES_PROVEEDOR_DETALLES > -[21/08/2007 13:14:37] +[22/08/2007 16:23:44] [Application: FactuGES (Servidor)] : [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION - RELATION_NAME = + RELATION_NAME = ALBARANES_PROVEEDOR_DETALLES > -[21/08/2007 13:14:37] +[22/08/2007 16:23:44] [Application: FactuGES (Servidor)] : [Commit (Hard commit)] > -[21/08/2007 13:14:37] +[22/08/2007 16:23:44] [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 +: [Start transaction] > -[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] +[22/08/2007 16:23: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 +: [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))) -(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_ + RELATION = ARTICULOS > -[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] +[22/08/2007 16:23: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 +: [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 -(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_ + RELATION_NAME = ARTICULOS > -[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] +[22/08/2007 16:23:44] [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 +: [Commit (Hard commit)] + + > +[22/08/2007 16:23:44] +[Application: FactuGES (Servidor)] +: [Execute] SELECT + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, + + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + ID_ALBARAN = 40 + + > +[22/08/2007 16:23:47] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, + + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + Plan: PLAN SORT (JOIN (ALBARANES_PROVEEDOR_DETALLES INDEX (IDX_ALBARANES_PROV_DETALLES), ARTICULOS INDEX (PK_ARTICULOS))) + + > +[22/08/2007 16:23:47] +[Application: FactuGES (Servidor)] +: [Execute] SELECT + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, + + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + ID_ALBARAN = 53 + + > +[22/08/2007 16:23:47] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ALMACENES.CALLE, + ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, + ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, + ALMACENES.OBSERVACIONES, ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, + ALMACENES.USUARIO + +FROM ALMACENES WHERE (ALMACENES.ID_EMPRESA = 1) + + Plan: PLAN (ALMACENES INDEX (FK_ALMACENES_EMPRESAS)) + + > +[22/08/2007 16:23:47] +[Application: FactuGES (Servidor)] +: [Start transaction] + + > +[22/08/2007 16:23:47] +[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 = ALMACENES + + > +[22/08/2007 16:23:47] +[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 = ALMACENES + + > +[22/08/2007 16:23:47] +[Application: FactuGES (Servidor)] +: [Commit (Hard commit)] + + > +[22/08/2007 16:23:47] +[Application: FactuGES (Servidor)] +: [Execute] SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ALMACENES.CALLE, + ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, + ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, + ALMACENES.OBSERVACIONES, ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, + ALMACENES.USUARIO + +FROM ALMACENES WHERE (ALMACENES.ID_EMPRESA = 1) + + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT + ID, REFERENCIA, DESCRIPCION, TITULAR, ENTIDAD, SUCURSAL, + DC, CUENTA + FROM + FORMAS_PAGO + + Plan: PLAN (FORMAS_PAGO NATURAL) + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Start transaction] + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL))) + + RELATION = FORMAS_PAGO + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION + + RELATION_NAME = FORMAS_PAGO + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Commit (Hard commit)] + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] SELECT + ID, REFERENCIA, DESCRIPCION, TITULAR, ENTIDAD, SUCURSAL, + DC, CUENTA + FROM + FORMAS_PAGO + + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT + ID, ID_FORMA_PAGO, NUM_DIAS, PORCENTAJE + FROM + FORMAS_PAGO_PLAZOS WHERE - (ID = :OLD_ID) + FORMAS_PAGO_PLAZOS.ID_FORMA_PAGO = :ID_FORMA_PAGO - Plan: PLAN (INFORMES INDEX (PK_INFORMES)) + Plan: PLAN (FORMAS_PAGO_PLAZOS INDEX (FK_FORMAS_PAGO_PLAZOS)) > -[21/08/2007 13:14:48] +[22/08/2007 16:23: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 +: [Start transaction] + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL))) + + RELATION = FORMAS_PAGO_PLAZOS + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION + + RELATION_NAME = FORMAS_PAGO_PLAZOS + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Commit (Hard commit)] + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] SELECT + ID, ID_FORMA_PAGO, NUM_DIAS, PORCENTAJE + FROM + FORMAS_PAGO_PLAZOS WHERE - (ID = :OLD_ID) + FORMAS_PAGO_PLAZOS.ID_FORMA_PAGO = :ID_FORMA_PAGO - ID_EMPRESA = 1 - CATEGORIA = MARGEN ARTICULOS - CONTROLLER = InfMargenArticuloController - MODIFICABLE = S - ICONO = 0 - NOMBRE = sadad - DESCRIPCION = asdad - ORDEN = > - VISTA = > - OLD_ID = 56 + ID_FORMA_PAGO = 8 > -[21/08/2007 13:14:59] +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT + ID, ID_CATEGORIA, REFERENCIA, NIF_CIF, NOMBRE, 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, ID_EMPRESA, + REGIMEN_IVA, DESCUENTO, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB + FROM + V_PROVEEDORES WHERE (ID = 3) AND (ID_EMPRESA = 1) AND (ID_EMPRESA IN (1)) + + Plan: PLAN JOIN (V_PROVEEDORES V_CONTACTOS EMPRESAS_CONTACTOS INDEX (PK_EMPRESAS_CONTACTOS), V_PROVEEDORES V_CONTACTOS CONTACTOS_CATEGORIAS INDEX (PK_CONTACTOS_CATEGORIAS), V_PROVEEDORES V_CONTACTOS CONTACTOS INDEX (PK_CONTACTOS), V_PROVEEDORES PROVEEDORES_DATOS INDEX (PK_PROVEEDORES_DATOS)) + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Start transaction] + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL))) + + RELATION = V_PROVEEDORES + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION + + RELATION_NAME = V_PROVEEDORES + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Commit (Hard commit)] + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] SELECT + ID, ID_CATEGORIA, REFERENCIA, NIF_CIF, NOMBRE, 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, ID_EMPRESA, + REGIMEN_IVA, DESCUENTO, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB + FROM + V_PROVEEDORES WHERE (ID = 3) AND (ID_EMPRESA = 1) AND (ID_EMPRESA IN (1)) + + + > +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] : [Prepare] SELECT - ID + ID, ID_CONTACTO, TITULAR, ENTIDAD, SUCURSAL, DC, CUENTA FROM - USUARIOS - WHERE USUARIO = :USUARIO AND - PASS = :PASS AND - ACTIVO = 1 + CONTACTOS_DATOS_BANCO + WHERE ID_CONTACTO = :ID_CONTACTO - Plan: PLAN (USUARIOS NATURAL) + Plan: PLAN (CONTACTOS_DATOS_BANCO INDEX (IDX_CONTACTOS_DATOS_BANCO)) > -[21/08/2007 13:14:59] +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Start transaction] + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL))) + + RELATION = CONTACTOS_DATOS_BANCO + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION + + RELATION_NAME = CONTACTOS_DATOS_BANCO + + > +[22/08/2007 16:23:48] +[Application: FactuGES (Servidor)] +: [Commit (Hard commit)] + + > +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] : [Execute] SELECT - ID + ID, ID_CONTACTO, TITULAR, ENTIDAD, SUCURSAL, DC, CUENTA FROM - USUARIOS - WHERE USUARIO = :USUARIO AND - PASS = :PASS AND - ACTIVO = 1 + CONTACTOS_DATOS_BANCO + WHERE ID_CONTACTO = :ID_CONTACTO - USUARIO = Luis - PASS = 1 + ID_CONTACTO = 3 > -[21/08/2007 13:14:59] +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] : [Prepare] SELECT - PERFILES.PERFIL + ID_CONTACTO, ID_CATEGORIA 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 + CONTACTOS_CATEGORIAS WHERE - (ID = :OLD_ID) + ID_CONTACTO = :ID_CONTACTO - Plan: PLAN (INFORMES INDEX (PK_INFORMES)) + Plan: PLAN (CONTACTOS_CATEGORIAS INDEX (IDX_CONTACTOS_CATEGORIAS)) > -[21/08/2007 13:18:12] +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] -: [Execute] DELETE - FROM - INFORMES - WHERE - (ID = :OLD_ID) - - OLD_ID = 31 +: [Start transaction] > -[21/08/2007 13:18:15] +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] -: [Prepare] DELETE - FROM - INFORMES - WHERE - (ID = :OLD_ID) +: [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))) - Plan: PLAN (INFORMES INDEX (PK_INFORMES)) + RELATION = CONTACTOS_CATEGORIAS > -[21/08/2007 13:18:15] +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] -: [Execute] DELETE - FROM - INFORMES - WHERE - (ID = :OLD_ID) +: [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 - OLD_ID = 52 + RELATION_NAME = CONTACTOS_CATEGORIAS > -[21/08/2007 13:18:18] +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] -: [Prepare] DELETE - FROM - INFORMES - WHERE - (ID = :OLD_ID) - - Plan: PLAN (INFORMES INDEX (PK_INFORMES)) +: [Commit (Hard commit)] > -[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] +[22/08/2007 16:23:48] [Application: FactuGES (Servidor)] : [Execute] SELECT - ID, ID_EMPRESA, CATEGORIA, CONTROLLER, MODIFICABLE, ICONO, NOMBRE, DESCRIPCION, ORDEN, VISTA + ID_CONTACTO, ID_CATEGORIA 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 + CONTACTOS_CATEGORIAS WHERE - (ID = :OLD_ID) + ID_CONTACTO = :ID_CONTACTO - Plan: PLAN (INFORMES INDEX (PK_INFORMES)) + ID_CONTACTO = 3 > -[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] +[22/08/2007 16:23:55] [Application: FactuGES (Servidor)] : [Prepare] SELECT - ID - FROM - USUARIOS - WHERE USUARIO = :USUARIO AND - PASS = :PASS AND - ACTIVO = 1 + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, - Plan: PLAN (USUARIOS NATURAL) + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + Plan: PLAN SORT (JOIN (ALBARANES_PROVEEDOR_DETALLES INDEX (IDX_ALBARANES_PROV_DETALLES), ARTICULOS INDEX (PK_ARTICULOS))) > -[21/08/2007 13:23:23] +[22/08/2007 16:23:55] [Application: FactuGES (Servidor)] : [Execute] SELECT - ID - FROM - USUARIOS - WHERE USUARIO = :USUARIO AND - PASS = :PASS AND - ACTIVO = 1 + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, - USUARIO = Luis - PASS = 1 + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + ID_ALBARAN = 84 > -[21/08/2007 13:23:23] +[22/08/2007 16:23:56] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ALMACENES.CALLE, + ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, + ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, + ALMACENES.OBSERVACIONES, ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, + ALMACENES.USUARIO + +FROM ALMACENES WHERE (ALMACENES.ID_EMPRESA = 1) + + Plan: PLAN (ALMACENES INDEX (FK_ALMACENES_EMPRESAS)) + + > +[22/08/2007 16:23:56] +[Application: FactuGES (Servidor)] +: [Execute] SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ALMACENES.CALLE, + ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, + ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, + ALMACENES.OBSERVACIONES, ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, + ALMACENES.USUARIO + +FROM ALMACENES WHERE (ALMACENES.ID_EMPRESA = 1) + + + > +[22/08/2007 16:23:56] [Application: FactuGES (Servidor)] : [Prepare] SELECT - PERFILES.PERFIL + ID, REFERENCIA, DESCRIPCION, TITULAR, ENTIDAD, SUCURSAL, + DC, CUENTA FROM - PERFILES, PERFILES_USUARIOS - WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO - AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL + FORMAS_PAGO - Plan: PLAN JOIN (PERFILES_USUARIOS NATURAL, PERFILES INDEX (PK_PERFILES)) + Plan: PLAN (FORMAS_PAGO NATURAL) > -[21/08/2007 13:23:23] +[22/08/2007 16:23:56] [Application: FactuGES (Servidor)] : [Execute] SELECT - PERFILES.PERFIL + ID, REFERENCIA, DESCRIPCION, TITULAR, ENTIDAD, SUCURSAL, + DC, CUENTA FROM - PERFILES, PERFILES_USUARIOS - WHERE PERFILES_USUARIOS.ID_USUARIO = :ID_USUARIO - AND PERFILES.ID = PERFILES_USUARIOS.ID_PERFIL - - ID_USUARIO = 2 + FORMAS_PAGO + > -[21/08/2007 13:23:23] +[22/08/2007 16:23:56] [Application: FactuGES (Servidor)] : [Prepare] SELECT - ID_EMPRESA + ID, ID_FORMA_PAGO, NUM_DIAS, PORCENTAJE FROM - EMPRESAS_USUARIOS - WHERE ID_USUARIO = :ID_USUARIO + FORMAS_PAGO_PLAZOS + WHERE + FORMAS_PAGO_PLAZOS.ID_FORMA_PAGO = :ID_FORMA_PAGO - Plan: PLAN (EMPRESAS_USUARIOS NATURAL) + Plan: PLAN (FORMAS_PAGO_PLAZOS INDEX (FK_FORMAS_PAGO_PLAZOS)) > -[21/08/2007 13:23:23] +[22/08/2007 16:23:56] [Application: FactuGES (Servidor)] : [Execute] SELECT - ID_EMPRESA + ID, ID_FORMA_PAGO, NUM_DIAS, PORCENTAJE FROM - EMPRESAS_USUARIOS - WHERE ID_USUARIO = :ID_USUARIO + FORMAS_PAGO_PLAZOS + WHERE + FORMAS_PAGO_PLAZOS.ID_FORMA_PAGO = :ID_FORMA_PAGO - ID_USUARIO = 2 + ID_FORMA_PAGO = 8 > -[21/08/2007 13:23:25] +[22/08/2007 16:23:56] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT + ID, ID_CATEGORIA, REFERENCIA, NIF_CIF, NOMBRE, 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, ID_EMPRESA, + REGIMEN_IVA, DESCUENTO, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB + FROM + V_PROVEEDORES WHERE (ID = 3) AND (ID_EMPRESA = 1) AND (ID_EMPRESA IN (1)) + + Plan: PLAN JOIN (V_PROVEEDORES V_CONTACTOS EMPRESAS_CONTACTOS INDEX (PK_EMPRESAS_CONTACTOS), V_PROVEEDORES V_CONTACTOS CONTACTOS_CATEGORIAS INDEX (PK_CONTACTOS_CATEGORIAS), V_PROVEEDORES V_CONTACTOS CONTACTOS INDEX (PK_CONTACTOS), V_PROVEEDORES PROVEEDORES_DATOS INDEX (PK_PROVEEDORES_DATOS)) + + > +[22/08/2007 16:23:56] +[Application: FactuGES (Servidor)] +: [Execute] SELECT + ID, ID_CATEGORIA, REFERENCIA, NIF_CIF, NOMBRE, 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, ID_EMPRESA, + REGIMEN_IVA, DESCUENTO, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB + FROM + V_PROVEEDORES WHERE (ID = 3) AND (ID_EMPRESA = 1) AND (ID_EMPRESA IN (1)) + + + > +[22/08/2007 16:23:56] [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 + ID, ID_CONTACTO, TITULAR, ENTIDAD, SUCURSAL, DC, CUENTA FROM - EMPRESAS WHERE (ID IN (1)) + CONTACTOS_DATOS_BANCO + WHERE ID_CONTACTO = :ID_CONTACTO - Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) + Plan: PLAN (CONTACTOS_DATOS_BANCO INDEX (IDX_CONTACTOS_DATOS_BANCO)) > -[21/08/2007 13:23:25] +[22/08/2007 16:23:56] [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 + ID, ID_CONTACTO, TITULAR, ENTIDAD, SUCURSAL, DC, CUENTA FROM - EMPRESAS WHERE (ID IN (1)) - + CONTACTOS_DATOS_BANCO + WHERE ID_CONTACTO = :ID_CONTACTO + + ID_CONTACTO = 3 > -[21/08/2007 13:23:25] +[22/08/2007 16:23:56] [Application: FactuGES (Servidor)] : [Prepare] SELECT - ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, - SUFIJO_N19, SUFIJO_N58 + ID_CONTACTO, ID_CATEGORIA FROM - EMPRESAS_DATOS_BANCO -WHERE ID_EMPRESA = :ID_EMPRESA + CONTACTOS_CATEGORIAS + WHERE + ID_CONTACTO = :ID_CONTACTO - Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO)) + Plan: PLAN (CONTACTOS_CATEGORIAS INDEX (IDX_CONTACTOS_CATEGORIAS)) > -[21/08/2007 13:23:25] +[22/08/2007 16:23:56] [Application: FactuGES (Servidor)] : [Execute] SELECT - ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, - SUFIJO_N19, SUFIJO_N58 + ID_CONTACTO, ID_CATEGORIA FROM - EMPRESAS_DATOS_BANCO -WHERE ID_EMPRESA = :ID_EMPRESA + CONTACTOS_CATEGORIAS + WHERE + ID_CONTACTO = :ID_CONTACTO - ID_EMPRESA = 1 + ID_CONTACTO = 3 > -[21/08/2007 13:23:25] +[22/08/2007 16:23:59] [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)) + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, - Plan: PLAN (EMPRESAS INDEX (PK_EMPRESAS)) + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + Plan: PLAN SORT (JOIN (ALBARANES_PROVEEDOR_DETALLES INDEX (IDX_ALBARANES_PROV_DETALLES), ARTICULOS INDEX (PK_ARTICULOS))) > -[21/08/2007 13:23:25] +[22/08/2007 16:23:59] [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)) + ALBARANES_PROVEEDOR_DETALLES.ID, ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, + ALBARANES_PROVEEDOR_DETALLES.POSICION, ALBARANES_PROVEEDOR_DETALLES.TIPO_DETALLE, + ALBARANES_PROVEEDOR_DETALLES.CONCEPTO, ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_UNIDAD, ALBARANES_PROVEEDOR_DETALLES.IMPORTE_TOTAL, + ALBARANES_PROVEEDOR_DETALLES.VISIBLE, + + ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, ALBARANES_PROVEEDOR_DETALLES.DESCUENTO, + ALBARANES_PROVEEDOR_DETALLES.IMPORTE_PORTE, + ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR + +FROM ALBARANES_PROVEEDOR_DETALLES +LEFT JOIN ARTICULOS ON ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID +WHERE ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = :ID_ALBARAN +ORDER BY POSICION; + + ID_ALBARAN = 83 + + > +[22/08/2007 16:24:00] +[Application: FactuGES (Servidor)] +: [Prepare] SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ALMACENES.CALLE, + ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, + ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, + ALMACENES.OBSERVACIONES, ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, + ALMACENES.USUARIO + +FROM ALMACENES WHERE (ALMACENES.ID_EMPRESA = 1) + + Plan: PLAN (ALMACENES INDEX (FK_ALMACENES_EMPRESAS)) + + > +[22/08/2007 16:24:00] +[Application: FactuGES (Servidor)] +: [Execute] SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ALMACENES.CALLE, + ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, + ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, + ALMACENES.OBSERVACIONES, ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, + ALMACENES.USUARIO + +FROM ALMACENES WHERE (ALMACENES.ID_EMPRESA = 1) > -[21/08/2007 13:23:25] +[22/08/2007 16:24:00] [Application: FactuGES (Servidor)] : [Prepare] SELECT - ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, - SUFIJO_N19, SUFIJO_N58 + ID, REFERENCIA, DESCRIPCION, TITULAR, ENTIDAD, SUCURSAL, + DC, CUENTA FROM - EMPRESAS_DATOS_BANCO -WHERE ID_EMPRESA = :ID_EMPRESA + FORMAS_PAGO - Plan: PLAN (EMPRESAS_DATOS_BANCO INDEX (FK_EMPRESAS_DATOS_BANCO)) + Plan: PLAN (FORMAS_PAGO NATURAL) > -[21/08/2007 13:23:25] +[22/08/2007 16:24:00] [Application: FactuGES (Servidor)] : [Execute] SELECT - ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, - SUFIJO_N19, SUFIJO_N58 + ID, REFERENCIA, DESCRIPCION, TITULAR, ENTIDAD, SUCURSAL, + DC, CUENTA 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)) + FORMAS_PAGO > -[21/08/2007 13:23:25] +[22/08/2007 16:24:00] [Application: FactuGES (Servidor)] : [Prepare] SELECT - ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, - SUFIJO_N19, SUFIJO_N58 + ID, ID_FORMA_PAGO, NUM_DIAS, PORCENTAJE FROM - EMPRESAS_DATOS_BANCO -WHERE ID_EMPRESA = :ID_EMPRESA + FORMAS_PAGO_PLAZOS + WHERE + FORMAS_PAGO_PLAZOS.ID_FORMA_PAGO = :ID_FORMA_PAGO - 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 + Plan: PLAN (FORMAS_PAGO_PLAZOS INDEX (FK_FORMAS_PAGO_PLAZOS)) > diff --git a/Source/Base/GUIBase/uEditorDBItem.dfm b/Source/Base/GUIBase/uEditorDBItem.dfm index e46ece03..1b4fa877 100644 --- a/Source/Base/GUIBase/uEditorDBItem.dfm +++ b/Source/Base/GUIBase/uEditorDBItem.dfm @@ -46,6 +46,10 @@ inherited fEditorDBItem: TfEditorDBItem TabOrder = 2 object pagGeneral: TTabSheet Caption = 'General' + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 end end inherited StatusBar: TJvStatusBar diff --git a/Source/FactuGES_Group.bdsgroup b/Source/FactuGES_Group.bdsgroup index 0f3a6a07..5196657f 100644 --- a/Source/FactuGES_Group.bdsgroup +++ b/Source/FactuGES_Group.bdsgroup @@ -8,7 +8,13 @@ - + + + + + + + DataAbstract_D10\DataAbstract_D10.bdsproj Base\Base.bdsproj Base\ControllerBase\ControllerBase.bdsproj @@ -87,9 +93,12 @@ Servidor\FactuGES_Server.bdsproj Modulos\Relaciones\Pedidos de proveedor - Albaranes de proveedor\PedProv_AlbProv_relation.bdsproj Modulos\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.bdsproj + Modulos\Facturas de proveedor\Controller\FacturasProveedor_controller.bdsproj Modulos\Relaciones\Albaranes de proveedor - Facturas de proveedor\AlbProv_FacProv_relation.bdsproj - Modulos\Comisiones\Views\Comisiones_view.bdsproj - DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl TiposIVA_model.bpl TiposIVA_data.bpl TiposIVA_controller.bpl TiposIVA_view.bpl TiposIVA_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl BancaElectronica_controller.bpl BancaElectronica_view.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe PedProv_AlbProv_relation.bpl AlbCli_FacCli_relation.bpl AlbProv_FacProv_relation.bpl Comisiones_view.bpl + Modulos\Facturas de proveedor\Views\FacturasProveedor_view.bdsproj + Modulos\Facturas de proveedor\Model\FacturasProveedor_model.bdsproj + Modulos\Facturas de proveedor\Data\FacturasProveedor_data.bdsproj + DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl TiposIVA_model.bpl TiposIVA_data.bpl TiposIVA_controller.bpl TiposIVA_view.bpl TiposIVA_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl BancaElectronica_controller.bpl BancaElectronica_view.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe PedProv_AlbProv_relation.bpl AlbCli_FacCli_relation.bpl FacturasProveedor_controller.bpl AlbProv_FacProv_relation.bpl FacturasProveedor_view.bpl FacturasProveedor_model.bpl FacturasProveedor_data.bpl diff --git a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas index b9dd1b83..80ed32af 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas @@ -66,6 +66,7 @@ type procedure OnNewRecord(Sender: TDADataTable); override; procedure IniciarValoresAlbaranNuevo; + public procedure CalcularImporteTotal; function EsNuevo : Boolean; @@ -94,7 +95,7 @@ begin if not Self.DataTable.Editing then Edit; IMPORTE_DESCUENTO := IMPORTE_NETO * (DESCUENTO/100); - BASE_IMPONIBLE := IMPORTE_NETO - IMPORTE_DESCUENTO + IMPORTE_PORTE; + BASE_IMPONIBLE := IMPORTE_NETO - IMPORTE_DESCUENTO; //+ IMPORTE_PORTE; ya no se tiene en cuenta porque se desglosa por artículo end; procedure TBizAlbaranProveedor.CalcularImporteTotal; diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm index b9fcfc49..b2d18103 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm +++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm @@ -2,11 +2,11 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor Left = 332 Top = 147 Caption = 'Nuevo albar'#225'n de proveedor' - ClientHeight = 565 + ClientHeight = 619 ClientWidth = 765 OnClose = CustomEditorClose ExplicitWidth = 773 - ExplicitHeight = 599 + ExplicitHeight = 653 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader @@ -146,23 +146,26 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor end inherited pgPaginas: TPageControl Width = 765 - Height = 425 + Height = 460 TabOrder = 1 OnChanging = pgPaginasChanging ExplicitWidth = 765 ExplicitHeight = 425 inherited pagGeneral: TTabSheet + ExplicitLeft = 4 + ExplicitTop = 24 ExplicitWidth = 757 ExplicitHeight = 397 end object pagContenido: TTabSheet Caption = 'Contenido' ImageIndex = 1 + ExplicitHeight = 397 inline frViewDetallesAlbaranProveedor1: TfrViewDetallesAlbaranProveedor Left = 0 Top = 0 Width = 757 - Height = 397 + Height = 432 Align = alClient BiDiMode = bdLeftToRight Font.Charset = DEFAULT_CHARSET @@ -182,7 +185,7 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor end inherited cxGrid: TcxGrid Width = 757 - Height = 325 + Height = 360 ExplicitWidth = 757 ExplicitHeight = 325 end @@ -198,15 +201,12 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor object pagInicidencias: TTabSheet Caption = 'Incidencias' ImageIndex = 2 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 + ExplicitHeight = 397 inline frViewIncidenciasCli: TfrViewIncidencias Left = 0 Top = 0 Width = 757 - Height = 397 + Height = 432 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -227,13 +227,13 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor end inherited GroupBox1: TGroupBox Width = 757 - Height = 369 + Height = 404 ExplicitWidth = 757 - ExplicitHeight = 369 + ExplicitHeight = 423 inherited eIncidencias: TcxDBMemo ExplicitWidth = 734 - ExplicitHeight = 336 - Height = 336 + ExplicitHeight = 390 + Height = 371 Width = 734 end end @@ -241,7 +241,7 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor end end inherited StatusBar: TJvStatusBar - Top = 546 + Top = 600 Width = 765 Panels = < item @@ -252,9 +252,9 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor end inline frViewTotales1: TfrViewTotales [4] Left = 0 - Top = 501 + Top = 536 Width = 765 - Height = 45 + Height = 64 Align = alBottom Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -264,9 +264,9 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor ParentFont = False TabOrder = 4 ReadOnly = False - ExplicitTop = 501 + ExplicitTop = 536 ExplicitWidth = 765 - ExplicitHeight = 45 + ExplicitHeight = 64 inherited dxLayoutControl1: TdxLayoutControl Width = 765 LookAndFeel = dxLayoutOfficeLookAndFeel1 @@ -416,10 +416,21 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor ShowCaption = False ShowBorder = False inherited dxLayoutControl1Group2: TdxLayoutGroup - Visible = False + inherited dxLayoutControl1Item8: TdxLayoutItem + Visible = False + end inherited dxLayoutControl1Group6: TdxLayoutGroup Visible = False end + inherited dxLayoutControl1Item16: TdxLayoutItem + Visible = False + end + inherited dxLayoutControl1Item10: TdxLayoutItem + Visible = False + end + inherited dxLayoutControl1Group7: TdxLayoutGroup + Visible = False + end end inherited dxLayoutControl1Group5: TdxLayoutGroup inherited dxLayoutControl1Item13: TdxLayoutItem diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.pas index dd352b91..20acd042 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.pas @@ -168,6 +168,12 @@ procedure TfEditorAlbaranProveedor.frViewTotales1ePortePropertiesValidate( begin inherited; FAlbaran.IMPORTE_PORTE := DisplayValue; + + //Esta lógica se llamará en el editor porque es para facilitar el rellenado de información del documento + //no puede ir en la clase de negocio porque no es una lógica que tenga sentido fuera del editor. + if Assigned(Controller) + and Assigned(Controller.DetallesController) then + Controller.DetallesController.DesglosarPorteDetalles(FAlbaran.IMPORTE_PORTE, FAlbaran.Detalles) end; function TfEditorAlbaranProveedor.GetController: IAlbaranesProveedorController; diff --git a/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas b/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas index 06175537..89f2cb97 100644 --- a/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas +++ b/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas @@ -22,6 +22,7 @@ type procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); procedure CambiarSignoDetalles(ADetalles: IDAStronglyTypedDataTable); procedure AnadirConceptoInicial(ADetalles: IDAStronglyTypedDataTable; AConcepto: String); + procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable); end; TControllerDetallesArticulos = class (TControllerDetallesDTO, IControllerDetallesArticulos) @@ -48,6 +49,7 @@ type procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); procedure CambiarSignoDetalles(ADetalles: IDAStronglyTypedDataTable); procedure AnadirConceptoInicial(ADetalles: IDAStronglyTypedDataTable; AConcepto: String); + procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable); constructor Create; override; destructor Destroy; override; @@ -58,7 +60,7 @@ implementation { TControllerDetallesArticulos } -uses Dialogs, cxControls, SysUtils, uDAInterfaces, uControllerDetallesBase, schArticulosClient_Intf; +uses DB, Dialogs, cxControls, SysUtils, uDAInterfaces, uControllerDetallesBase, schArticulosClient_Intf; { TControllerDetallesArticulos } @@ -304,6 +306,52 @@ begin AsignarController; end; +procedure TControllerDetallesArticulos.DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable); +var + Unidades: Integer; + ImporteUnidad: Currency; + ABookmark : TBookmark; + +begin + try + ABookmark := ADetalles.DataTable.GetBookMark; + ADetalles.DataTable.DisableControls; + ADetalles.DataTable.DisableEventHandlers; + + ADetalles.DataTable.First; + Unidades := 0; + while not ADetalles.DataTable.eof do + begin + if (ADetalles.DataTable.FieldByName(CAMPO_ID_ARTICULOS).AsInteger > 0) then + Unidades := Unidades + ADetalles.DataTable.FieldByName(CAMPO_CANTIDAD).AsInteger; + ADetalles.DataTable.Next; + end; + + if Unidades > 0 then + ImporteUnidad := ImportePorte / Unidades; + + ADetalles.DataTable.First; + while not ADetalles.DataTable.eof do + begin + if (ADetalles.DataTable.FieldByName(CAMPO_ID_ARTICULOS).AsInteger > 0) then + begin + ADetalles.DataTable.Edit; + ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_PORTE).AsCurrency := ImporteUnidad * ADetalles.DataTable.FieldByName(CAMPO_CANTIDAD).AsInteger; + ADetalles.DataTable.Post; + end; + ADetalles.DataTable.Next; + end; + + finally + ADetalles.DataTable.EnableEventHandlers; + ADetalles.DataTable.GotoBookmark(ABookmark); + ADetalles.DataTable.FreeBookmark(ABookmark); + ADetalles.DataTable.EnableControls; + end; + + ActualizarTotales(ADetalles); +end; + destructor TControllerDetallesArticulos.Destroy; begin FArticulosController := Nil; diff --git a/Source/Modulos/Facturas de proveedor/Model/uBizFacturasProveedor.pas b/Source/Modulos/Facturas de proveedor/Model/uBizFacturasProveedor.pas index db099c20..f071a21c 100644 --- a/Source/Modulos/Facturas de proveedor/Model/uBizFacturasProveedor.pas +++ b/Source/Modulos/Facturas de proveedor/Model/uBizFacturasProveedor.pas @@ -129,7 +129,7 @@ begin if not Self.DataTable.Editing then Edit; IMPORTE_DESCUENTO := IMPORTE_NETO * (DESCUENTO/100); - BASE_IMPONIBLE := IMPORTE_NETO - IMPORTE_DESCUENTO + IMPORTE_PORTE; + BASE_IMPONIBLE := IMPORTE_NETO - IMPORTE_DESCUENTO; // + IMPORTE_PORTE; ya no se tiene en cuenta porque se desglosa por artículo end; procedure TBizFacturaProveedor.CalcularDescuento; diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm index e9285456..fd4801f5 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm @@ -42,7 +42,7 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor Width = 788 ExplicitWidth = 788 inherited tbxMain: TTBXToolbar - ExplicitWidth = 482 + ExplicitWidth = 488 inherited TBXItem2: TTBXItem Visible = False end @@ -165,10 +165,6 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor object pagContenido: TTabSheet Caption = 'Contenido' ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 inline frViewDetallesFacturaProveedor1: TfrViewDetallesFacturaProveedor Left = 0 Top = 0 @@ -209,40 +205,40 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor ExplicitLeft = 145 end inherited UpDown1: TUpDown - Left = 187 - ExplicitLeft = 187 + Left = 203 + ExplicitLeft = 203 end inherited ToolButton13: TToolButton - Left = 204 - ExplicitLeft = 204 + Left = 220 + ExplicitLeft = 220 end inherited ToolButton6: TToolButton - Left = 212 - ExplicitLeft = 212 + Left = 228 + ExplicitLeft = 228 end inherited ToolButton7: TToolButton - Left = 246 - ExplicitLeft = 246 + Left = 262 + ExplicitLeft = 262 end inherited ToolButton8: TToolButton - Left = 280 - ExplicitLeft = 280 + Left = 296 + ExplicitLeft = 296 end inherited ToolButton12: TToolButton - Left = 314 - ExplicitLeft = 314 + Left = 330 + ExplicitLeft = 330 end inherited ToolButton9: TToolButton - Left = 322 - ExplicitLeft = 322 + Left = 338 + ExplicitLeft = 338 end inherited ToolButton10: TToolButton - Left = 356 - ExplicitLeft = 356 + Left = 372 + ExplicitLeft = 372 end inherited ToolButton11: TToolButton - Left = 390 - ExplicitLeft = 390 + Left = 406 + ExplicitLeft = 406 end end inherited cxGrid: TcxGrid @@ -431,9 +427,6 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor Visible = False end end - inherited dxLayoutControl1Item9: TdxLayoutItem - Visible = False - end end inherited dxLayoutControl1Group5: TdxLayoutGroup inherited dxLayoutControl1Group3: TdxLayoutGroup diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas index d6d65d3d..0da11a1c 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas @@ -197,7 +197,13 @@ procedure TfEditorFacturaProveedor.frViewTotales1ePortePropertiesValidate( var Error: Boolean); begin inherited; - Factura.IMPORTE_PORTE := DisplayValue; + FFactura.IMPORTE_PORTE := DisplayValue; + + //Esta lógica se llamará en el editor porque es para facilitar el rellenado de información del documento + //no puede ir en la clase de negocio porque no es una lógica que tenga sentido fuera del editor. + if Assigned(Controller) + and Assigned(Controller.DetallesController) then + Controller.DetallesController.DesglosarPorteDetalles(FFactura.IMPORTE_PORTE, FFactura.Detalles) end; function TfEditorFacturaProveedor.GetController: IFacturasProveedorController; diff --git a/Source/Modulos/Lib/AlbProv_FacProv_relation.dcp b/Source/Modulos/Lib/AlbProv_FacProv_relation.dcp index 3f4bbf9c..43131fbc 100644 Binary files a/Source/Modulos/Lib/AlbProv_FacProv_relation.dcp and b/Source/Modulos/Lib/AlbProv_FacProv_relation.dcp differ diff --git a/Source/Modulos/Lib/AlbaranesProveedor_controller.dcp b/Source/Modulos/Lib/AlbaranesProveedor_controller.dcp index 6f576024..b6e0adbc 100644 Binary files a/Source/Modulos/Lib/AlbaranesProveedor_controller.dcp and b/Source/Modulos/Lib/AlbaranesProveedor_controller.dcp differ diff --git a/Source/Modulos/Lib/AlbaranesProveedor_data.dcp b/Source/Modulos/Lib/AlbaranesProveedor_data.dcp index e3d293a0..d495b618 100644 Binary files a/Source/Modulos/Lib/AlbaranesProveedor_data.dcp and b/Source/Modulos/Lib/AlbaranesProveedor_data.dcp differ diff --git a/Source/Modulos/Lib/AlbaranesProveedor_model.dcp b/Source/Modulos/Lib/AlbaranesProveedor_model.dcp index 0a5e8f01..3744c600 100644 Binary files a/Source/Modulos/Lib/AlbaranesProveedor_model.dcp and b/Source/Modulos/Lib/AlbaranesProveedor_model.dcp differ diff --git a/Source/Modulos/Lib/AlbaranesProveedor_view.dcp b/Source/Modulos/Lib/AlbaranesProveedor_view.dcp index 547c8eba..224baff7 100644 Binary files a/Source/Modulos/Lib/AlbaranesProveedor_view.dcp and b/Source/Modulos/Lib/AlbaranesProveedor_view.dcp differ diff --git a/Source/Modulos/Lib/Articulos_controller.dcp b/Source/Modulos/Lib/Articulos_controller.dcp index aefc952c..2dd829a9 100644 Binary files a/Source/Modulos/Lib/Articulos_controller.dcp and b/Source/Modulos/Lib/Articulos_controller.dcp differ diff --git a/Source/Modulos/Lib/Articulos_view.dcp b/Source/Modulos/Lib/Articulos_view.dcp index 6911ebbc..5444a3d1 100644 Binary files a/Source/Modulos/Lib/Articulos_view.dcp and b/Source/Modulos/Lib/Articulos_view.dcp differ diff --git a/Source/Modulos/Lib/FacturasProveedor_controller.dcp b/Source/Modulos/Lib/FacturasProveedor_controller.dcp index a70cd2cf..6f02967f 100644 Binary files a/Source/Modulos/Lib/FacturasProveedor_controller.dcp and b/Source/Modulos/Lib/FacturasProveedor_controller.dcp differ diff --git a/Source/Modulos/Lib/FacturasProveedor_data.dcp b/Source/Modulos/Lib/FacturasProveedor_data.dcp index 0daac0e5..e2be1538 100644 Binary files a/Source/Modulos/Lib/FacturasProveedor_data.dcp and b/Source/Modulos/Lib/FacturasProveedor_data.dcp differ diff --git a/Source/Modulos/Lib/FacturasProveedor_model.dcp b/Source/Modulos/Lib/FacturasProveedor_model.dcp index be5122ab..56687203 100644 Binary files a/Source/Modulos/Lib/FacturasProveedor_model.dcp and b/Source/Modulos/Lib/FacturasProveedor_model.dcp differ diff --git a/Source/Modulos/Lib/FacturasProveedor_view.dcp b/Source/Modulos/Lib/FacturasProveedor_view.dcp index 4efbf1d6..209b6302 100644 Binary files a/Source/Modulos/Lib/FacturasProveedor_view.dcp and b/Source/Modulos/Lib/FacturasProveedor_view.dcp differ diff --git a/Source/Modulos/Lib/Inventario_controller.dcp b/Source/Modulos/Lib/Inventario_controller.dcp index bfe58a10..111e0593 100644 Binary files a/Source/Modulos/Lib/Inventario_controller.dcp and b/Source/Modulos/Lib/Inventario_controller.dcp differ diff --git a/Source/Modulos/Lib/PedProv_AlbProv_relation.dcp b/Source/Modulos/Lib/PedProv_AlbProv_relation.dcp index 5bdc614a..c5b6fe97 100644 Binary files a/Source/Modulos/Lib/PedProv_AlbProv_relation.dcp and b/Source/Modulos/Lib/PedProv_AlbProv_relation.dcp differ diff --git a/Source/Modulos/Lib/PedidosCliente_controller.dcp b/Source/Modulos/Lib/PedidosCliente_controller.dcp index cc8b7adb..aece0d1e 100644 Binary files a/Source/Modulos/Lib/PedidosCliente_controller.dcp and b/Source/Modulos/Lib/PedidosCliente_controller.dcp differ diff --git a/Source/Modulos/Lib/PedidosProveedor_controller.dcp b/Source/Modulos/Lib/PedidosProveedor_controller.dcp index 8b68fdd3..6b70b04f 100644 Binary files a/Source/Modulos/Lib/PedidosProveedor_controller.dcp and b/Source/Modulos/Lib/PedidosProveedor_controller.dcp differ