diff --git a/Database/Anterior/VISTAS.SQL.bak b/Database/Anterior/VISTAS.SQL.bak deleted file mode 100644 index f8b76779..00000000 --- a/Database/Anterior/VISTAS.SQL.bak +++ /dev/null @@ -1,944 +0,0 @@ -DROP VIEW V_FACTURAS_CLIENTE; -DROP VIEW V_PRESUPUESTOS_CLIENTE; -DROP VIEW V_ARTICULOS; -DROP VIEW V_EMPLEADOS; -DROP VIEW V_PROVEEDORES; -DROP VIEW V_CLIENTES; -DROP VIEW V_CONTACTOS; - - -CREATE VIEW V_CONTACTOS( - ID, - ID_CATEGORIA, - NIF_CIF, - NOMBRE, - PERSONA_CONTACTO, - 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, - REFERENCIA) -AS -SELECT CONTACTOS.ID, - CONTACTOS_CATEGORIAS.ID_CATEGORIA, - CONTACTOS.NIF_CIF, - CONTACTOS.NOMBRE, - CONTACTOS.PERSONA_CONTACTO, - CONTACTOS.CALLE, - CONTACTOS.POBLACION, - CONTACTOS.PROVINCIA, - CONTACTOS.CODIGO_POSTAL, - CONTACTOS.TELEFONO_1, - CONTACTOS.TELEFONO_2, - CONTACTOS.MOVIL_1, - CONTACTOS.MOVIL_2, - CONTACTOS.FAX, - CONTACTOS.EMAIL_1, - CONTACTOS.EMAIL_2, - CONTACTOS.PAGINA_WEB, - CONTACTOS.NOTAS, - CONTACTOS.FECHA_ALTA, - CONTACTOS.FECHA_MODIFICACION, - CONTACTOS.USUARIO, - EMPRESAS_CONTACTOS.ID_EMPRESA, - CONTACTOS.REFERENCIA -FROM CONTACTOS - INNER JOIN CONTACTOS_CATEGORIAS ON (CONTACTOS_CATEGORIAS.ID_CONTACTO = - CONTACTOS.ID) - INNER JOIN EMPRESAS_CONTACTOS ON (EMPRESAS_CONTACTOS.ID_CONTACTO = - CONTACTOS.ID); - - -CREATE VIEW V_CLIENTES( - ID, - ID_CATEGORIA, - NIF_CIF, - NOMBRE, - PERSONA_CONTACTO, - 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, - REFERENCIA, - GRUPO_CLIENTE, - NOMBRE_COMERCIAL, - VENCIMIENTO_FACTURAS, - BLOQUEADO, - REGIMEN_IVA, - MOTIVO_BLOQUEO, - RECARGO_EQUIVALENCIA, - ID_TIPO_IVA, - ID_FORMA_PAGO, - TIENDA_WEB, - CODIGO_ASIGNADO) -AS -SELECT - V_CONTACTOS.ID, - V_CONTACTOS.ID_CATEGORIA, - V_CONTACTOS.NIF_CIF, - V_CONTACTOS.NOMBRE, - V_CONTACTOS.PERSONA_CONTACTO, - V_CONTACTOS.CALLE, - V_CONTACTOS.POBLACION, - V_CONTACTOS.PROVINCIA, - V_CONTACTOS.CODIGO_POSTAL, - V_CONTACTOS.TELEFONO_1, - V_CONTACTOS.TELEFONO_2, - V_CONTACTOS.MOVIL_1, - V_CONTACTOS.MOVIL_2, - V_CONTACTOS.FAX, - V_CONTACTOS.EMAIL_1, - V_CONTACTOS.EMAIL_2, - V_CONTACTOS.PAGINA_WEB, - V_CONTACTOS.NOTAS, - V_CONTACTOS.FECHA_ALTA, - V_CONTACTOS.FECHA_MODIFICACION, - V_CONTACTOS.USUARIO, - V_CONTACTOS.ID_EMPRESA, - V_CONTACTOS.REFERENCIA, - CLIENTES_DATOS.GRUPO_CLIENTE, - CLIENTES_DATOS.NOMBRE_COMERCIAL, - CLIENTES_DATOS.VENCIMIENTO_FACTURAS, - CLIENTES_DATOS.BLOQUEADO, - CLIENTES_DATOS.REGIMEN_IVA, - CLIENTES_DATOS.MOTIVO_BLOQUEO, - CLIENTES_DATOS.RECARGO_EQUIVALENCIA, - CLIENTES_DATOS.ID_TIPO_IVA, - CLIENTES_DATOS.ID_FORMA_PAGO, - CLIENTES_DATOS.TIENDA_WEB, - CLIENTES_DATOS.CODIGO_ASIGNADO -FROM - V_CONTACTOS - LEFT OUTER JOIN CLIENTES_DATOS ON (V_CONTACTOS.ID = CLIENTES_DATOS.ID_CLIENTE) -WHERE - V_CONTACTOS.ID_CATEGORIA = 1; - - -CREATE VIEW V_PROVEEDORES( - ID, - ID_CATEGORIA, - NIF_CIF, - NOMBRE, - PERSONA_CONTACTO, - 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, - REFERENCIA, - DESCUENTO, - DESCRIPCION_PROVEEDOR, - CODIGO_ASIGNADO, - GRUPO_PROVEEDOR, - REGIMEN_IVA, - ID_TIPO_IVA, - ID_FORMA_PAGO, - TIENDA_WEB, - HOMOLOGADO, - CERTIFICACION) -AS -SELECT - V_CONTACTOS.ID, - V_CONTACTOS.ID_CATEGORIA, - V_CONTACTOS.NIF_CIF, - V_CONTACTOS.NOMBRE, - V_CONTACTOS.PERSONA_CONTACTO, - V_CONTACTOS.CALLE, - V_CONTACTOS.POBLACION, - V_CONTACTOS.PROVINCIA, - V_CONTACTOS.CODIGO_POSTAL, - V_CONTACTOS.TELEFONO_1, - V_CONTACTOS.TELEFONO_2, - V_CONTACTOS.MOVIL_1, - V_CONTACTOS.MOVIL_2, - V_CONTACTOS.FAX, - V_CONTACTOS.EMAIL_1, - V_CONTACTOS.EMAIL_2, - V_CONTACTOS.PAGINA_WEB, - V_CONTACTOS.NOTAS, - V_CONTACTOS.FECHA_ALTA, - V_CONTACTOS.FECHA_MODIFICACION, - V_CONTACTOS.USUARIO, - V_CONTACTOS.ID_EMPRESA, - V_CONTACTOS.REFERENCIA, - PROVEEDORES_DATOS.DESCUENTO, - PROVEEDORES_DATOS.DESCRIPCION_PROVEEDOR, - PROVEEDORES_DATOS.CODIGO_ASIGNADO, - PROVEEDORES_DATOS.GRUPO_PROVEEDOR, - PROVEEDORES_DATOS.REGIMEN_IVA, - PROVEEDORES_DATOS.ID_TIPO_IVA, - PROVEEDORES_DATOS.ID_FORMA_PAGO, - PROVEEDORES_DATOS.TIENDA_WEB, - PROVEEDORES_DATOS.HOMOLOGADO, - PROVEEDORES_DATOS.CERTIFICACION -FROM - PROVEEDORES_DATOS - INNER JOIN V_CONTACTOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID) -WHERE - V_CONTACTOS.ID_CATEGORIA = 2; - - -CREATE VIEW V_EMPLEADOS( - ID, - ID_CATEGORIA, - NIF_CIF, - NOMBRE, - PERSONA_CONTACTO, - 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, - REFERENCIA, - FECHA_NACIMIENTO, - CATEGORIA, - FECHA_ALTA_EMPRESA, - FORMACION_BASE, - FORMACION_COMPLE, - FORMACION_RECIBIDA, - EXPERIENCIA) -AS -SELECT V_CONTACTOS.ID, - V_CONTACTOS.ID_CATEGORIA, - V_CONTACTOS.NIF_CIF, - V_CONTACTOS.NOMBRE, - V_CONTACTOS.PERSONA_CONTACTO, - V_CONTACTOS.CALLE, - V_CONTACTOS.POBLACION, - V_CONTACTOS.PROVINCIA, - V_CONTACTOS.CODIGO_POSTAL, - V_CONTACTOS.TELEFONO_1, - V_CONTACTOS.TELEFONO_2, - V_CONTACTOS.MOVIL_1, - V_CONTACTOS.MOVIL_2, - V_CONTACTOS.FAX, - V_CONTACTOS.EMAIL_1, - V_CONTACTOS.EMAIL_2, - V_CONTACTOS.PAGINA_WEB, - V_CONTACTOS.NOTAS, - V_CONTACTOS.FECHA_ALTA, - V_CONTACTOS.FECHA_MODIFICACION, - V_CONTACTOS.USUARIO, - V_CONTACTOS.ID_EMPRESA, - V_CONTACTOS.REFERENCIA, - - EMPLEADOS_DATOS.FECHA_NACIMIENTO, - EMPLEADOS_DATOS.CATEGORIA, - EMPLEADOS_DATOS.FECHA_ALTA_EMPRESA, - EMPLEADOS_DATOS.FORMACION_BASE, - EMPLEADOS_DATOS.FORMACION_COMPLE, - EMPLEADOS_DATOS.FORMACION_RECIBIDA, - EMPLEADOS_DATOS.EXPERIENCIA - -FROM V_CONTACTOS -INNER JOIN EMPLEADOS_DATOS ON (EMPLEADOS_DATOS.ID_EMPLEADO = V_CONTACTOS.ID) - -WHERE V_CONTACTOS.ID_CATEGORIA = 3; - - -CREATE VIEW V_ARTICULOS( - ID, ID_EMPRESA, REFERENCIA, DESCRIPCION, - FAMILIA, IMAGEN, COMISIONABLE, FECHA_ALTA, - FECHA_MODIFICACION, USUARIO, - REFERENCIA_PROV, - PRECIO_COSTE, - PRECIO_PORTE, - DESCUENTO, - PRECIO_NETO, - INVENTARIABLE, - ID_PROVEEDOR, - NOMBRE_PROVEEDOR, - ELIMINADO) -AS - -SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, - ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA, - ARTICULOS.FECHA_MODIFICACION, ARTICULOS.USUARIO, - ARTICULOS.REFERENCIA_PROV, - ARTICULOS.PRECIO_COSTE, - ARTICULOS.PRECIO_PORTE, - ARTICULOS.DESCUENTO, - ARTICULOS.PRECIO_NETO, - ARTICULOS.INVENTARIABLE, - ARTICULOS.ID_PROVEEDOR, - CONTACTOS.NOMBRE AS NOMBRE_PROVEEDOR, - ARTICULOS.ELIMINADO -FROM ARTICULOS -LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ARTICULOS.ID_PROVEEDOR) -WHERE (ARTICULOS.ELIMINADO = 0); - -CREATE VIEW V_PRESUPUESTOS_CLIENTE( - ID, - ID_EMPRESA, - FECHA_PRESUPUESTO, - FECHA_DECISION, - REFERENCIA, - SITUACION, - ID_CLIENTE, - NIF_CIF, - NOMBRE, - REFERENCIA_CLIENTE, - CLIENTE_FINAL, - PORTADA, - MEMORIA, - OBSERVACIONES, - INCIDENCIAS, - INCIDENCIAS_ACTIVAS, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - IMPORTE_NETO, - IMPORTE_PORTE, - DESCUENTO, - IMPORTE_DESCUENTO, - BASE_IMPONIBLE, - IVA, - IMPORTE_IVA, - IMPORTE_TOTAL, - ID_FORMA_PAGO) -AS -SELECT - PRESUPUESTOS_CLIENTE.ID, - PRESUPUESTOS_CLIENTE.ID_EMPRESA, - PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO, - PRESUPUESTOS_CLIENTE.FECHA_DECISION, - PRESUPUESTOS_CLIENTE.REFERENCIA, - PRESUPUESTOS_CLIENTE.SITUACION, - PRESUPUESTOS_CLIENTE.ID_CLIENTE, - V_CLIENTES.NIF_CIF, - V_CLIENTES.NOMBRE, - PRESUPUESTOS_CLIENTE.REFERENCIA_CLIENTE, - PRESUPUESTOS_CLIENTE.CLIENTE_FINAL, - PRESUPUESTOS_CLIENTE.PORTADA, - PRESUPUESTOS_CLIENTE.MEMORIA, - PRESUPUESTOS_CLIENTE.OBSERVACIONES, - PRESUPUESTOS_CLIENTE.INCIDENCIAS, - PRESUPUESTOS_CLIENTE.INCIDENCIAS_ACTIVAS, - PRESUPUESTOS_CLIENTE.FECHA_ALTA, - PRESUPUESTOS_CLIENTE.FECHA_MODIFICACION, - PRESUPUESTOS_CLIENTE.USUARIO, - PRESUPUESTOS_CLIENTE.IMPORTE_NETO, - PRESUPUESTOS_CLIENTE.IMPORTE_PORTE, - PRESUPUESTOS_CLIENTE.DESCUENTO, - PRESUPUESTOS_CLIENTE.IMPORTE_DESCUENTO, - PRESUPUESTOS_CLIENTE.BASE_IMPONIBLE, - PRESUPUESTOS_CLIENTE.IVA, - PRESUPUESTOS_CLIENTE.IMPORTE_IVA, - PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL, - PRESUPUESTOS_CLIENTE.ID_FORMA_PAGO -FROM - PRESUPUESTOS_CLIENTE - LEFT OUTER JOIN V_CLIENTES ON (PRESUPUESTOS_CLIENTE.ID_CLIENTE = V_CLIENTES.ID) - - - -/* Situación de los albaranes de cliente */ -CREATE VIEW V_ALB_CLI_SITUACION( - ID, - SITUACION) -AS -SELECT ALBARANES_CLIENTE.ID, - case when (FECHA_RECEPCION is not null) then 'SERVIDO' - when (FECHA_ENVIO is null) then 'PENDIENTE' - when (FECHA_ENVIO <= current_date) then 'ENVIADO' - when (FECHA_ENVIO > current_date) then 'PENDIENTE' - else 'N/A' - end as SITUACION -FROM ALBARANES_CLIENTE; - -CREATE VIEW V_ALBARANES_CLIENTE( - ID, - ID_EMPRESA, - ID_CLIENTE, - NOMBRE, - FECHA_ALBARAN, - REFERENCIA, - REFERENCIA_CLIENTE, - TIPO, - SITUACION, - ID_ALMACEN, - NOMBRE_ALMACEN, - ID_PEDIDO, - REF_PEDIDO, - ID_FACTURA, - REF_FACTURA, - 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, - FECHA_PREVISTA_ENVIO, - FECHA_ENVIO, - FECHA_RECEPCION) -AS -SELECT - ALBARANES_CLIENTE.ID, - ALBARANES_CLIENTE.ID_EMPRESA, - ALBARANES_CLIENTE.ID_CLIENTE, - CONTACTOS.NOMBRE, - ALBARANES_CLIENTE.FECHA_ALBARAN, - ALBARANES_CLIENTE.REFERENCIA, - ALBARANES_CLIENTE.REFERENCIA_CLIENTE, - CASE WHEN (ALBARANES_CLIENTE.IMPORTE_TOTAL < 0) THEN 'D' ELSE 'A' END AS TIPO, - V_ALB_CLI_SITUACION.SITUACION, - ALBARANES_CLIENTE.ID_ALMACEN, - ALMACENES.NOMBRE AS NOMBRE_ALMACEN, - ALBARANES_CLIENTE.ID_PEDIDO, - PEDIDOS_CLIENTE.REFERENCIA AS REF_PEDIDO, - ALBARANES_CLIENTE.ID_FACTURA, - FACTURAS_CLIENTE.REFERENCIA AS REF_FACTURA, - ALBARANES_CLIENTE.CALLE, - ALBARANES_CLIENTE.CODIGO_POSTAL, - ALBARANES_CLIENTE.POBLACION, - ALBARANES_CLIENTE.PROVINCIA, - ALBARANES_CLIENTE.PERSONA_CONTACTO, - ALBARANES_CLIENTE.TELEFONO, - ALBARANES_CLIENTE.IMPORTE_NETO, - ALBARANES_CLIENTE.IMPORTE_PORTE, - ALBARANES_CLIENTE.DESCUENTO, - ALBARANES_CLIENTE.IMPORTE_DESCUENTO, - ALBARANES_CLIENTE.BASE_IMPONIBLE, - ALBARANES_CLIENTE.IVA, - ALBARANES_CLIENTE.IMPORTE_IVA, - ALBARANES_CLIENTE.IMPORTE_TOTAL, - ALBARANES_CLIENTE.OBSERVACIONES, - ALBARANES_CLIENTE.INCIDENCIAS, - ALBARANES_CLIENTE.INCIDENCIAS_ACTIVAS, - ALBARANES_CLIENTE.FECHA_ALTA, - ALBARANES_CLIENTE.FECHA_MODIFICACION, - ALBARANES_CLIENTE.USUARIO, - ALBARANES_CLIENTE.ID_FORMA_PAGO, - ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO, - ALBARANES_CLIENTE.FECHA_ENVIO, - ALBARANES_CLIENTE.FECHA_RECEPCION -FROM - ALBARANES_CLIENTE - LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_CLIENTE.ID_CLIENTE) - LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = ALBARANES_CLIENTE.ID_PEDIDO) - LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = ALBARANES_CLIENTE.ID_FACTURA) - LEFT OUTER JOIN V_ALB_CLI_SITUACION ON (V_ALB_CLI_SITUACION.ID = ALBARANES_CLIENTE.ID) - LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_CLIENTE.ID_ALMACEN); - - - -/*FACTURAS Y RECIBOS DE CLIENTE*/ -DROP VIEW V_FACTURAS_CLIENTE; -DROP VIEW V_FAC_CLI_SITUACION; -DROP VIEW V_REC_FAC_CLI_COBRADOS -DROP VIEW V_RECIBOS_CLIENTE; -DROP VIEW V_REC_FAC_CLI; -DROP VIEW V_REC_CLI_SITUACION; -DROP VIEW V_REC_CLI_COMPENSADOS; - - -CREATE VIEW V_REC_FAC_CLI( - ID_FACTURA, - NUM_RECIBOS) -AS -SELECT FACTURAS_CLIENTE.ID, COUNT(RECIBOS_CLIENTE.ID) -FROM FACTURAS_CLIENTE -LEFT JOIN RECIBOS_CLIENTE -ON (RECIBOS_CLIENTE.ID_FACTURA = FACTURAS_CLIENTE.ID) -GROUP BY FACTURAS_CLIENTE.ID; - -CREATE VIEW V_REC_CLI_SITUACION( - ID_RECIBO, - SITUACION) -AS -SELECT RECIBOS_CLIENTE.ID, -CASE WHEN (COUNT(PAGOS_CLIENTE.ID_RECIBO)=0) THEN 'PENDIENTE' - WHEN (MOD(COUNT(PAGOS_CLIENTE.ID_RECIBO), 2)=0) THEN 'DEVUELTO' - ELSE 'COBRADO' -END -FROM RECIBOS_CLIENTE -LEFT JOIN PAGOS_CLIENTE -ON (PAGOS_CLIENTE.ID_RECIBO = RECIBOS_CLIENTE.ID) -GROUP BY RECIBOS_CLIENTE.ID; - -CREATE VIEW V_REC_CLI_COMPENSADOS ( -ID_RECIBO, -IMPORTE_TOTAL_COMPENSADO -) as -select ID_RECIBO_COMPENSADO, SUM((IMPORTE + OTROS_GASTOS)) as IMPORTE_TOTAL -from RECIBOS_CLIENTE -where ID_RECIBO_COMPENSADO is not null -group by ID_RECIBO_COMPENSADO; - -CREATE VIEW V_RECIBOS_CLIENTE( - ID, - ID_RECIBO_COMPENSADO, - REFERENCIA_REC_COMPENSADO, - REFERENCIA, - SITUACION, - ID_FACTURA, - ID_REMESA, - REFERENCIA_REMESA, - FECHA_EMISION, - FECHA_VENCIMIENTO, - DESCRIPCION, - OBSERVACIONES, - IMPORTE, - OTROS_GASTOS, - IMPORTE_TOTAL, - FECHA_FACTURA, - FORMA_PAGO_FACTURA, - IMPORTE_FACTURA, - ID_EMPRESA, - ID_CLIENTE, - NOMBRE_CLIENTE, - NIF_CIF_CLIENTE, - ENTIDAD_CLIENTE, - SUCURSAL_CLIENTE, - DC_CLIENTE, - CUENTA_CLIENTE, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO) -AS -SELECT RECIBOS_CLIENTE.ID, - RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO, - RECIBO_COMPENSADO1.REFERENCIA, - RECIBOS_CLIENTE.REFERENCIA, - CASE - WHEN RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO IS NULL - THEN V_REC_CLI_SITUACION.SITUACION - ELSE RECIBO_COMPENSADO2.SITUACION - END, - RECIBOS_CLIENTE.ID_FACTURA, - RECIBOS_CLIENTE.ID_REMESA, REMESAS_CLIENTE.REFERENCIA as REFERENCIA_REMESA, - RECIBOS_CLIENTE.FECHA_EMISION, RECIBOS_CLIENTE.FECHA_VENCIMIENTO, RECIBOS_CLIENTE.DESCRIPCION, - RECIBOS_CLIENTE.OBSERVACIONES, RECIBOS_CLIENTE.IMPORTE, RECIBOS_CLIENTE.OTROS_GASTOS, - COALESCE(RECIBOS_CLIENTE.IMPORTE, 0) + COALESCE(RECIBOS_CLIENTE.OTROS_GASTOS, 0) + COALESCE(V_REC_CLI_COMPENSADOS.IMPORTE_TOTAL_COMPENSADO, 0), - - FACTURAS_CLIENTE.FECHA_FACTURA, FORMAS_PAGO.DESCRIPCION, FACTURAS_CLIENTE.IMPORTE_TOTAL, - FACTURAS_CLIENTE.ID_EMPRESA, - - CONTACTOS.ID as ID_CLIENTE, CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF, CONTACTOS_DATOS_BANCO.ENTIDAD, - CONTACTOS_DATOS_BANCO.SUCURSAL, CONTACTOS_DATOS_BANCO.DC, CONTACTOS_DATOS_BANCO.CUENTA, - - RECIBOS_CLIENTE.FECHA_ALTA, - RECIBOS_CLIENTE.FECHA_MODIFICACION, - RECIBOS_CLIENTE.USUARIO - -FROM RECIBOS_CLIENTE -LEFT JOIN V_REC_CLI_SITUACION -ON (V_REC_CLI_SITUACION.ID_RECIBO = RECIBOS_CLIENTE.ID) -LEFT JOIN FACTURAS_CLIENTE -ON (FACTURAS_CLIENTE.ID = RECIBOS_CLIENTE.ID_FACTURA) -LEFT JOIN FORMAS_PAGO -ON (FORMAS_PAGO.ID = FACTURAS_CLIENTE.ID_FORMA_PAGO) -LEFT JOIN CONTACTOS -ON (CONTACTOS.ID = FACTURAS_CLIENTE.ID_CLIENTE) -LEFT JOIN CONTACTOS_DATOS_BANCO -ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID) -LEFT JOIN REMESAS_CLIENTE -ON (REMESAS_CLIENTE.ID = RECIBOS_CLIENTE.ID_REMESA) -LEFT JOIN V_REC_CLI_COMPENSADOS -ON (V_REC_CLI_COMPENSADOS.ID_RECIBO = RECIBOS_CLIENTE.ID) -LEFT JOIN RECIBOS_CLIENTE RECIBO_COMPENSADO1 -ON (RECIBO_COMPENSADO1.ID = RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO) -LEFT JOIN V_REC_CLI_SITUACION RECIBO_COMPENSADO2 -ON (RECIBO_COMPENSADO2.ID_RECIBO = RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO); - - -CREATE VIEW V_REC_FAC_CLI_COBRADOS( - ID_FACTURA, - NUM_REC_COBRADOS) -AS -SELECT RECIBOS_CLIENTE.ID_FACTURA, COUNT(V_REC_CLI_SITUACION.ID_RECIBO) -FROM V_REC_CLI_SITUACION LEFT JOIN RECIBOS_CLIENTE ON - (RECIBOS_CLIENTE.ID = V_REC_CLI_SITUACION.ID_RECIBO) -WHERE (V_REC_CLI_SITUACION.SITUACION = 'COBRADO') -GROUP BY RECIBOS_CLIENTE.ID_FACTURA -; - -CREATE VIEW V_FAC_CLI_SITUACION( - ID_FACTURA, - SITUACION) -AS -SELECT ID_FACTURA, -CASE - WHEN ((SUM(NUM_RECIBOS) = 0) - OR (SUM(NUM_REC_COBRADOS) = 0)) THEN 'PENDIENTE' - WHEN (SUM(NUM_RECIBOS) = SUM(NUM_REC_COBRADOS)) THEN 'PAGADA' - ELSE 'PARCIALMENTE PAGADA' -END AS SITUACION -FROM -( - SELECT ID_FACTURA, NUM_RECIBOS, 0 AS NUM_REC_COBRADOS - FROM V_REC_FAC_CLI - UNION ALL - SELECT ID_FACTURA, 0 AS NUM_RECIBOS, NUM_REC_COBRADOS - FROM V_REC_FAC_CLI_COBRADOS -) -GROUP BY ID_FACTURA; - -CREATE VIEW V_FACTURAS_CLIENTE( - ID, - ID_EMPRESA, - REFERENCIA, - TIPO, - ID_COMISION_LIQUIDADA, - FECHA_FACTURA, - SITUACION, - BASE_IMPONIBLE, - DESCUENTO, - IMPORTE_DESCUENTO, - IVA, - IMPORTE_IVA, - RE, - IMPORTE_RE, - IMPORTE_TOTAL, - OBSERVACIONES, - ID_CLIENTE, - NIF_CIF, - NOMBRE, - CALLE, - POBLACION, - PROVINCIA, - CODIGO_POSTAL, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - ID_FORMA_PAGO, - RECARGO_EQUIVALENCIA, - ID_TIPO_IVA, - IMPORTE_NETO, - IMPORTE_PORTE, - ID_AGENTE, - REFERENCIA_COMISION) -AS -SELECT FACTURAS_CLIENTE.ID, - FACTURAS_CLIENTE.ID_EMPRESA, - FACTURAS_CLIENTE.REFERENCIA, - CASE WHEN (FACTURAS_CLIENTE.IMPORTE_TOTAL < 0) THEN 'A' ELSE 'F' END AS TIPO, - FACTURAS_CLIENTE.ID_COMISION_LIQUIDADA, - FACTURAS_CLIENTE.FECHA_FACTURA, - V_FAC_CLI_SITUACION.SITUACION, - FACTURAS_CLIENTE.BASE_IMPONIBLE, - FACTURAS_CLIENTE.DESCUENTO, - FACTURAS_CLIENTE.IMPORTE_DESCUENTO, - FACTURAS_CLIENTE.IVA, - FACTURAS_CLIENTE.IMPORTE_IVA, - FACTURAS_CLIENTE.RE, - FACTURAS_CLIENTE.IMPORTE_RE, - FACTURAS_CLIENTE.IMPORTE_TOTAL, - FACTURAS_CLIENTE.OBSERVACIONES, - FACTURAS_CLIENTE.ID_CLIENTE, - FACTURAS_CLIENTE.NIF_CIF, - FACTURAS_CLIENTE.NOMBRE, - FACTURAS_CLIENTE.CALLE, - FACTURAS_CLIENTE.POBLACION, - FACTURAS_CLIENTE.PROVINCIA, - FACTURAS_CLIENTE.CODIGO_POSTAL, - FACTURAS_CLIENTE.FECHA_ALTA, - FACTURAS_CLIENTE.FECHA_MODIFICACION, - FACTURAS_CLIENTE.USUARIO, - FACTURAS_CLIENTE.ID_FORMA_PAGO, - FACTURAS_CLIENTE.RECARGO_EQUIVALENCIA, - FACTURAS_CLIENTE.ID_TIPO_IVA, - FACTURAS_CLIENTE.IMPORTE_NETO, - FACTURAS_CLIENTE.IMPORTE_PORTE, - CLIENTES_DATOS.ID_AGENTE, - COMISIONES_LIQUIDADAS.REFERENCIA - FROM V_FAC_CLI_SITUACION - LEFT JOIN FACTURAS_CLIENTE - ON (FACTURAS_CLIENTE.ID = V_FAC_CLI_SITUACION.ID_FACTURA) - LEFT JOIN COMISIONES_LIQUIDADAS - ON (COMISIONES_LIQUIDADAS.ID = FACTURAS_CLIENTE.ID_COMISION_LIQUIDADA) - LEFT JOIN CLIENTES_DATOS - ON (CLIENTES_DATOS.ID_CLIENTE = FACTURAS_CLIENTE.ID_CLIENTE); - - -/*FACTURAS Y RECIBOS DE PROVEEDOR*/ -DROP VIEW V_FACTURAS_PROVEEDOR; -DROP VIEW V_FAC_PRO_SITUACION; -DROP VIEW V_REC_FAC_PRO_PAGADOS; -DROP VIEW V_RECIBOS_PROVEEDOR; -DROP VIEW V_REC_FAC_PRO; -DROP VIEW V_REC_PRO_SITUACION; -DROP VIEW V_REC_PRO_COMPENSADOS; - - -CREATE VIEW V_REC_PRO_COMPENSADOS ( -ID_RECIBO, -IMPORTE_TOTAL_COMPENSADO -) as -select ID_RECIBO_COMPENSADO, SUM((IMPORTE + OTROS_GASTOS)) as IMPORTE_TOTAL -from RECIBOS_PROVEEDOR -where ID_RECIBO_COMPENSADO is not null -group by ID_RECIBO_COMPENSADO; - -CREATE VIEW V_REC_PRO_SITUACION( - ID_RECIBO, - SITUACION) -AS -SELECT RECIBOS_PROVEEDOR.ID, -CASE WHEN (COUNT(PAGOS_PROVEEDOR.ID_RECIBO)=0) THEN 'PENDIENTE' - WHEN (MOD(COUNT(PAGOS_PROVEEDOR.ID_RECIBO), 2)=0) THEN 'DEVUELTO' - ELSE 'PAGADO' -END -FROM RECIBOS_PROVEEDOR -LEFT JOIN PAGOS_PROVEEDOR -ON (PAGOS_PROVEEDOR.ID_RECIBO = RECIBOS_PROVEEDOR.ID) -GROUP BY RECIBOS_PROVEEDOR.ID; - -CREATE VIEW V_REC_FAC_PRO( - ID_FACTURA, - NUM_RECIBOS) -AS -SELECT FACTURAS_PROVEEDOR.ID, COUNT(RECIBOS_PROVEEDOR.ID) -FROM FACTURAS_PROVEEDOR -LEFT JOIN RECIBOS_PROVEEDOR -ON (RECIBOS_PROVEEDOR.ID_FACTURA = FACTURAS_PROVEEDOR.ID) -GROUP BY FACTURAS_PROVEEDOR.ID; - -CREATE VIEW V_RECIBOS_PROVEEDOR( - ID, - ID_RECIBO_COMPENSADO, - REFERENCIA_REC_COMPENSADO, - REFERENCIA, - REFERENCIA_PROVEEDOR, - SITUACION, - ID_FACTURA, - ID_REMESA, - REFERENCIA_REMESA, - FECHA_EMISION, - FECHA_VENCIMIENTO, - DESCRIPCION, - OBSERVACIONES, - IMPORTE, - OTROS_GASTOS, - IMPORTE_TOTAL, - REFERENCIA_FACTURA_PROV, - FECHA_FACTURA, - FORMA_PAGO_FACTURA, - IMPORTE_FACTURA, - ID_EMPRESA, - ID_PROVEEDOR, - NOMBRE_PROVEEDOR, - NIF_CIF_PROVEEDOR, - ENTIDAD_PROVEEDOR, - SUCURSAL_PROVEEDOR, - DC_PROVEEDOR, - CUENTA_PROVEEDOR, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO) -AS -SELECT RECIBOS_PROVEEDOR.ID, - RECIBOS_PROVEEDOR.ID_RECIBO_COMPENSADO, - RECIBO_COMPENSADO1.REFERENCIA, - RECIBOS_PROVEEDOR.REFERENCIA, - RECIBOS_PROVEEDOR.REFERENCIA_PROVEEDOR, - CASE - WHEN RECIBOS_PROVEEDOR.ID_RECIBO_COMPENSADO IS NULL - THEN V_REC_PRO_SITUACION.SITUACION - ELSE RECIBO_COMPENSADO2.SITUACION - END, - RECIBOS_PROVEEDOR.ID_FACTURA, - RECIBOS_PROVEEDOR.ID_REMESA, REMESAS_PROVEEDOR.REFERENCIA as REFERENCIA_REMESA, - RECIBOS_PROVEEDOR.FECHA_EMISION, RECIBOS_PROVEEDOR.FECHA_VENCIMIENTO, RECIBOS_PROVEEDOR.DESCRIPCION, - RECIBOS_PROVEEDOR.OBSERVACIONES, RECIBOS_PROVEEDOR.IMPORTE, RECIBOS_PROVEEDOR.OTROS_GASTOS, - COALESCE(RECIBOS_PROVEEDOR.IMPORTE, 0) + COALESCE(RECIBOS_PROVEEDOR.OTROS_GASTOS, 0) + COALESCE(V_REC_PRO_COMPENSADOS.IMPORTE_TOTAL_COMPENSADO, 0), - - FACTURAS_PROVEEDOR.REFERENCIA_PROVEEDOR, FACTURAS_PROVEEDOR.FECHA_FACTURA, - FORMAS_PAGO.DESCRIPCION, FACTURAS_PROVEEDOR.IMPORTE_TOTAL, - FACTURAS_PROVEEDOR.ID_EMPRESA, - - CONTACTOS.ID as ID_PROVEEDOR, CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF, CONTACTOS_DATOS_BANCO.ENTIDAD, - CONTACTOS_DATOS_BANCO.SUCURSAL, CONTACTOS_DATOS_BANCO.DC, CONTACTOS_DATOS_BANCO.CUENTA, - - RECIBOS_PROVEEDOR.FECHA_ALTA, - RECIBOS_PROVEEDOR.FECHA_MODIFICACION, - RECIBOS_PROVEEDOR.USUARIO - -FROM RECIBOS_PROVEEDOR -LEFT JOIN V_REC_PRO_SITUACION -ON (V_REC_PRO_SITUACION.ID_RECIBO = RECIBOS_PROVEEDOR.ID) -LEFT JOIN FACTURAS_PROVEEDOR -ON (FACTURAS_PROVEEDOR.ID = RECIBOS_PROVEEDOR.ID_FACTURA) -LEFT JOIN FORMAS_PAGO -ON (FORMAS_PAGO.ID = FACTURAS_PROVEEDOR.ID_FORMA_PAGO) -LEFT JOIN CONTACTOS -ON (CONTACTOS.ID = FACTURAS_PROVEEDOR.ID_PROVEEDOR) -LEFT JOIN CONTACTOS_DATOS_BANCO -ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID) -LEFT JOIN REMESAS_PROVEEDOR -ON (REMESAS_PROVEEDOR.ID = RECIBOS_PROVEEDOR.ID_REMESA) -LEFT JOIN V_REC_PRO_COMPENSADOS -ON (V_REC_PRO_COMPENSADOS.ID_RECIBO = RECIBOS_PROVEEDOR.ID) -LEFT JOIN RECIBOS_PROVEEDOR RECIBO_COMPENSADO1 -ON (RECIBO_COMPENSADO1.ID = RECIBOS_PROVEEDOR.ID_RECIBO_COMPENSADO) -LEFT JOIN V_REC_PRO_SITUACION RECIBO_COMPENSADO2 -ON (RECIBO_COMPENSADO2.ID_RECIBO = RECIBOS_PROVEEDOR.ID_RECIBO_COMPENSADO); - - -CREATE VIEW V_REC_FAC_PRO_PAGADOS( - ID_FACTURA, - NUM_REC_PAGADOS) -AS -SELECT RECIBOS_PROVEEDOR.ID_FACTURA, COUNT(V_REC_PRO_SITUACION.ID_RECIBO) -FROM V_REC_PRO_SITUACION LEFT JOIN RECIBOS_PROVEEDOR ON - (RECIBOS_PROVEEDOR.ID = V_REC_PRO_SITUACION.ID_RECIBO) -WHERE (V_REC_PRO_SITUACION.SITUACION = 'PAGADO') -GROUP BY RECIBOS_PROVEEDOR.ID_FACTURA; - - -CREATE VIEW V_FAC_PRO_SITUACION( - ID_FACTURA, - SITUACION) -AS -SELECT ID_FACTURA, -CASE - WHEN ((SUM(NUM_RECIBOS) = 0) - OR (SUM(NUM_REC_PAGADOS) = 0)) THEN 'PENDIENTE' - WHEN (SUM(NUM_RECIBOS) = SUM(NUM_REC_PAGADOS)) THEN 'PAGADA' - ELSE 'PARCIALMENTE PAGADA' -END AS SITUACION -FROM -( - SELECT ID_FACTURA, NUM_RECIBOS, 0 AS NUM_REC_PAGADOS - FROM V_REC_FAC_PRO - UNION ALL - SELECT ID_FACTURA, 0 AS NUM_RECIBOS, NUM_REC_PAGADOS - FROM V_REC_FAC_PRO_PAGADOS -) -GROUP BY ID_FACTURA; - - -CREATE VIEW V_FACTURAS_PROVEEDOR( - ID, - ID_EMPRESA, - REFERENCIA, - TIPO, - REFERENCIA_PROVEEDOR, - FECHA_FACTURA, - SITUACION, - BASE_IMPONIBLE, - DESCUENTO, - IMPORTE_DESCUENTO, - IVA, - IMPORTE_IVA, - RE, - IMPORTE_RE, - IMPORTE_TOTAL, - OBSERVACIONES, - ID_PROVEEDOR, - NIF_CIF, - NOMBRE, - CALLE, - POBLACION, - PROVINCIA, - CODIGO_POSTAL, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - ID_FORMA_PAGO, - RECARGO_EQUIVALENCIA, - ID_TIPO_IVA, - IMPORTE_NETO, - IMPORTE_PORTE) -AS -SELECT FACTURAS_PROVEEDOR.ID, - FACTURAS_PROVEEDOR.ID_EMPRESA, - FACTURAS_PROVEEDOR.REFERENCIA, - CASE WHEN (FACTURAS_PROVEEDOR.IMPORTE_TOTAL < 0) THEN 'A' ELSE 'F' END AS TIPO, - FACTURAS_PROVEEDOR.REFERENCIA_PROVEEDOR, - FACTURAS_PROVEEDOR.FECHA_FACTURA, - V_FAC_PRO_SITUACION.SITUACION, - FACTURAS_PROVEEDOR.BASE_IMPONIBLE, - FACTURAS_PROVEEDOR.DESCUENTO, - FACTURAS_PROVEEDOR.IMPORTE_DESCUENTO, - FACTURAS_PROVEEDOR.IVA, - FACTURAS_PROVEEDOR.IMPORTE_IVA, - FACTURAS_PROVEEDOR.RE, - FACTURAS_PROVEEDOR.IMPORTE_RE, - FACTURAS_PROVEEDOR.IMPORTE_TOTAL, - FACTURAS_PROVEEDOR.OBSERVACIONES, - FACTURAS_PROVEEDOR.ID_PROVEEDOR, - FACTURAS_PROVEEDOR.NIF_CIF, - FACTURAS_PROVEEDOR.NOMBRE, - FACTURAS_PROVEEDOR.CALLE, - FACTURAS_PROVEEDOR.POBLACION, - FACTURAS_PROVEEDOR.PROVINCIA, - FACTURAS_PROVEEDOR.CODIGO_POSTAL, - FACTURAS_PROVEEDOR.FECHA_ALTA, - FACTURAS_PROVEEDOR.FECHA_MODIFICACION, - FACTURAS_PROVEEDOR.USUARIO, - FACTURAS_PROVEEDOR.ID_FORMA_PAGO, - FACTURAS_PROVEEDOR.RECARGO_EQUIVALENCIA, - FACTURAS_PROVEEDOR.ID_TIPO_IVA, - FACTURAS_PROVEEDOR.IMPORTE_NETO, - FACTURAS_PROVEEDOR.IMPORTE_PORTE - FROM V_FAC_PRO_SITUACION - LEFT JOIN FACTURAS_PROVEEDOR - ON (FACTURAS_PROVEEDOR.ID = V_FAC_PRO_SITUACION.ID_FACTURA) - LEFT JOIN PROVEEDORES_DATOS - ON (PROVEEDORES_DATOS.ID_PROVEEDOR = FACTURAS_PROVEEDOR.ID_PROVEEDOR);