diff --git a/Database/Anterior/VISTAS.SQL b/Database/Anterior/VISTAS.SQL deleted file mode 100644 index 05bc8cc3..00000000 --- a/Database/Anterior/VISTAS.SQL +++ /dev/null @@ -1,1947 +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, - TRIM(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_RECIBOS_CLIENTE; -DROP VIEW V_REC_FAC_CLI_COBRADOS; -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 TRIM(V_REC_CLI_SITUACION.SITUACION) - ELSE TRIM(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 (TRIM(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, - TRIM(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 TRIM(V_REC_PRO_SITUACION.SITUACION) - ELSE TRIM(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 (TRIM(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, - TRIM(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); - - -DROP VIEW V_PEDIDOS_PROVEEDOR; -DROP VIEW V_PED_PROV_SITUACION; -DROP VIEW V_PED_PROV_ARTICULOS; -DROP VIEW V_PED_PROV_ARTICULOS_AUX; -DROP VIEW V_PED_PROV_ARTICULOS_RECIBIDOS; -DROP VIEW V_PED_PROV_DETALLES; -DROP VIEW V_ALB_PROV_DETALLES; - - -/*Agrupa los artículos de un mismo albarán (ya que en un albarán puede existir varias lineas con el mismo artículo). - Para cada artículo de albarán le ponemos el pedido con el que esta asociado y el almacén donde se recibio. - Se quitan todos los artículos que no tengamos en catálogo (ID_ARTICULO nulo, lineas de detalle libres)-> esta premisa la cambiamos para que - no se falsee la situación de los pedidos, asi pues todo articulo que no este en el catálogo lo pondremos con ID_ARTICULO 0. - Se quitan también aquellos que no seán inventariables -> esta premisa nos falsearía la situación de los pedidos */ - -CREATE VIEW V_ALB_PROV_DETALLES( - ID_ALBARAN, - ID_PEDIDO, - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, - ALBARANES_PROVEEDOR.ID_PEDIDO, - ALBARANES_PROVEEDOR.ID_ALMACEN, - COALESCE(ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, 0), - SUM (COALESCE(ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, 0)) AS CANTIDAD - -FROM ALBARANES_PROVEEDOR_DETALLES -LEFT JOIN ALBARANES_PROVEEDOR -ON (ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = ALBARANES_PROVEEDOR.ID) - -/*Mantenemos los articulos inventariables y aquellos que no existan en nuestro catálogo con el fin de no falsear la situación de los pedidos -LEFT JOIN ARTICULOS -ON (ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID) - -WHERE (ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO is not null) -AND (ARTICULOS.INVENTARIABLE = 1) -*/ - -GROUP BY ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, - ALBARANES_PROVEEDOR.ID_PEDIDO, - ALBARANES_PROVEEDOR.ID_ALMACEN, - ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO; - - -/*Agrupa los artículos de un mismo pedido (ya que en un pedido puede existir varias lineas con el mismo artículo). - Para cada artículo de pedido le ponemos el pedido con el que esta asociado y el almacén donde será recibido. - Se quitan todos los artículos que no tengamos en catálogo (ID_ARTICULO nulo, lineas de detalle libres)-> esta premisa la cambiamos para que - no se falsee la situación de los pedidos, asi pues todo articulo que no este en el catálogo lo pondremos con ID_ARTICULO 0. - Se quitan también aquellos que no seán inventariables -> esta premisa nos falsearia la situacion de los pedidos*/ - -CREATE VIEW V_PED_PROV_DETALLES( - ID_PEDIDO, - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT PEDIDOS_PROVEEDOR_DETALLES.ID_PEDIDO, - PEDIDOS_PROVEEDOR.ID_ALMACEN, - COALESCE(PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO, 0), - SUM(COALESCE(PEDIDOS_PROVEEDOR_DETALLES.CANTIDAD, 0)) - -FROM PEDIDOS_PROVEEDOR_DETALLES -LEFT JOIN PEDIDOS_PROVEEDOR -ON (PEDIDOS_PROVEEDOR_DETALLES.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID) - -/*Mantenemos los articulos inventariables y aquellos que no existan en nuestro catálogo con el fin de no falsear la situación de los pedidos -LEFT JOIN ARTICULOS -ON (PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID) - -WHERE (PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO is not null) -AND (ARTICULOS.INVENTARIABLE = 1) -*/ - -GROUP BY PEDIDOS_PROVEEDOR_DETALLES.ID_PEDIDO, - PEDIDOS_PROVEEDOR.ID_ALMACEN, - PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO; - - -/*Agrupa todos los artículos recibidos (por albaranes de proveedor) de cada uno de los pedidos asociados en los albaranes existentes*/ -/*No le ponemos el almacen donde se recibió ya que un mismo pedido podría tener varios albaranes con distintos almacenes de destino*/ -/*Aquellos articulos que no tengan ID_PEDIDO es porque el albarán al que pertenecen no tiene pedido asociado por ello no los tendremos en cuenta*/ - -CREATE VIEW V_PED_PROV_ARTICULOS_RECIBIDOS( - ID_PEDIDO, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_PEDIDO, ID_ARTICULO, SUM(CANTIDAD) AS CANTIDAD -FROM V_ALB_PROV_DETALLES -WHERE (ID_PEDIDO is not null) -GROUP BY ID_PEDIDO, ID_ARTICULO; - - -/*No hacemos LEFT JOIN entre V_PED_PROV_DETALLES y V_PED_PROV_ARTICULOS_RECIBIDOS, porque por cada tupla de la primera*/ -/*repetiría la consulta de la segunda disparando tiempos, por ello teniendo las dos vistas ejecutadas hacemos una union*/ -/*obteniendo todos los artículos del pedido, tanto recibidos como pendientes, luego haremos la agrupación sobre este resultado*/ - -CREATE VIEW V_PED_PROV_ARTICULOS_AUX( - ID_PEDIDO, - ID_ARTICULO, - CANTIDAD_PEDIDA, - CANTIDAD_RECIBIDA) -AS -SELECT - V_PED_PROV_DETALLES.ID_PEDIDO, - V_PED_PROV_DETALLES.ID_ARTICULO, - V_PED_PROV_DETALLES.CANTIDAD AS CANTIDAD_PEDIDA, - 0 as CANTIDAD_RECIBIDA -FROM V_PED_PROV_DETALLES -UNION ALL -SELECT - V_PED_PROV_ARTICULOS_RECIBIDOS.ID_PEDIDO, - V_PED_PROV_ARTICULOS_RECIBIDOS.ID_ARTICULO, - NULL as CANTIDAD_PEDIDA, - V_PED_PROV_ARTICULOS_RECIBIDOS.CANTIDAD AS CANTIDAD_RECIBIDA -FROM V_PED_PROV_ARTICULOS_RECIBIDOS; - - -/*A partir de la vista anterior obtenemos el estado de cada uno de los artículos del pedido de proveedor*/ -/*Despreciamos aquellas tuplas cuya cantidad pedida sea null, porque son articulos añadidos en el albarán que*/ -/*no están en su pedido correspondiente por lo tanto no los tendremos en cuenta para saber si los articulos del*/ -/*pedido se han recibido todos. De todas formas no tiene mucho sentido este caso*/ - -CREATE VIEW V_PED_PROV_ARTICULOS( - ID_PEDIDO, -/* ID_ALMACEN,*/ - ID_ARTICULO, - CANTIDAD_PEDIDA, - CANTIDAD_RECIBIDA, - CANTIDAD_PENDIENTE) -AS -SELECT ID_PEDIDO, - /*PEDIDOS_PROVEEDOR.ID_ALMACEN,*/ - ID_ARTICULO, - SUM(CANTIDAD_PEDIDA) as CANTIDAD_PEDIDA, - SUM(CANTIDAD_RECIBIDA) as CANTIDAD_RECIBIDA, - SUM(CANTIDAD_PEDIDA) - SUM(CANTIDAD_RECIBIDA) as CANTIDAD_PENDIENTE -FROM V_PED_PROV_ARTICULOS_AUX -/* -LEFT JOIN PEDIDOS_PROVEEDOR -ON (PEDIDOS_PROVEEDOR.ID = V_PED_PROV_ARTICULOS_AUX.ID_PEDIDO) -*/ -GROUP BY ID_PEDIDO, - /*PEDIDOS_PROVEEDOR.ID_ALMACEN,*/ - ID_ARTICULO -HAVING SUM(CANTIDAD_PEDIDA) IS NOT NULL; - -CREATE VIEW V_PED_PROV_SITUACION( - ID_PEDIDO, - SITUACION) -AS -SELECT ID_PEDIDO, -CASE WHEN (SUM(CANTIDAD_PENDIENTE) > 0) AND (SUM(CANTIDAD_RECIBIDA) = 0) THEN 'PENDIENTE' - WHEN (SUM(CANTIDAD_PENDIENTE) <= 0) THEN 'RECIBIDO' - WHEN (SUM(CANTIDAD_PENDIENTE) > 0) AND (SUM(CANTIDAD_RECIBIDA) > 0) THEN 'PARCIAL' - ELSE 'N/A' -END AS SITUACION -FROM V_PED_PROV_ARTICULOS -GROUP BY V_PED_PROV_ARTICULOS.ID_PEDIDO; - -CREATE VIEW V_PEDIDOS_PROVEEDOR( - ID, - ID_EMPRESA, - ID_PROVEEDOR, - NOMBRE, - REFERENCIA, - SITUACION, - FECHA_ENVIO, - FECHA_PEDIDO, - FECHA_CONFIRMACION, - FECHA_ENTREGA, - ID_ALMACEN, - NOMBRE_ALMACEN, - OBSERVACIONES, - IMPORTE_TOTAL, - INCIDENCIAS, - INCIDENCIAS_ACTIVAS, - CALLE, - POBLACION, - PROVINCIA, - CODIGO_POSTAL, - PERSONA_CONTACTO, - TELEFONO, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - ID_PEDIDO_CLIENTE, - REF_PED_CLIENTE, - IMPORTE_NETO, - IMPORTE_PORTE, - DESCUENTO, - IMPORTE_DESCUENTO, - BASE_IMPONIBLE, - IVA, - IMPORTE_IVA, - ID_FORMA_PAGO) -AS -SELECT - PEDIDOS_PROVEEDOR.ID, - PEDIDOS_PROVEEDOR.ID_EMPRESA, - PEDIDOS_PROVEEDOR.ID_PROVEEDOR, - V_PROVEEDORES.NOMBRE, - PEDIDOS_PROVEEDOR.REFERENCIA, - TRIM(V_PED_PROV_SITUACION.SITUACION), - PEDIDOS_PROVEEDOR.FECHA_ENVIO, - PEDIDOS_PROVEEDOR.FECHA_PEDIDO, - PEDIDOS_PROVEEDOR.FECHA_CONFIRMACION, - PEDIDOS_PROVEEDOR.FECHA_ENTREGA, - PEDIDOS_PROVEEDOR.ID_ALMACEN, - ALMACENES.NOMBRE AS NOMBRE_ALMACEN, - PEDIDOS_PROVEEDOR.OBSERVACIONES, - PEDIDOS_PROVEEDOR.IMPORTE_TOTAL, - PEDIDOS_PROVEEDOR.INCIDENCIAS, - PEDIDOS_PROVEEDOR.INCIDENCIAS_ACTIVAS, - PEDIDOS_PROVEEDOR.CALLE, - PEDIDOS_PROVEEDOR.POBLACION, - PEDIDOS_PROVEEDOR.PROVINCIA, - PEDIDOS_PROVEEDOR.CODIGO_POSTAL, - PEDIDOS_PROVEEDOR.PERSONA_CONTACTO, - PEDIDOS_PROVEEDOR.TELEFONO, - PEDIDOS_PROVEEDOR.FECHA_ALTA, - PEDIDOS_PROVEEDOR.FECHA_MODIFICACION, - PEDIDOS_PROVEEDOR.USUARIO, - PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE, - PEDIDOS_CLIENTE.REFERENCIA AS REF_PED_CLIENTE, - PEDIDOS_PROVEEDOR.IMPORTE_NETO, - PEDIDOS_PROVEEDOR.IMPORTE_PORTE, - PEDIDOS_PROVEEDOR.DESCUENTO, - PEDIDOS_PROVEEDOR.IMPORTE_DESCUENTO, - PEDIDOS_PROVEEDOR.BASE_IMPONIBLE, - PEDIDOS_PROVEEDOR.IVA, - PEDIDOS_PROVEEDOR.IMPORTE_IVA, - PEDIDOS_PROVEEDOR.ID_FORMA_PAGO -FROM - PEDIDOS_PROVEEDOR - LEFT OUTER JOIN V_PROVEEDORES ON (PEDIDOS_PROVEEDOR.ID_PROVEEDOR = V_PROVEEDORES.ID) - LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = PEDIDOS_PROVEEDOR.ID_ALMACEN) - LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE) - LEFT OUTER JOIN V_PED_PROV_SITUACION ON (V_PED_PROV_SITUACION.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID); - - -DROP VIEW V_ALBARANES_PROVEEDOR; - -CREATE VIEW V_ALBARANES_PROVEEDOR( - 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) -AS -SELECT - ALBARANES_PROVEEDOR.ID, - ALBARANES_PROVEEDOR.ID_EMPRESA, - ALBARANES_PROVEEDOR.ID_PROVEEDOR, - CONTACTOS.NOMBRE, - ALBARANES_PROVEEDOR.FECHA_ALBARAN, - ALBARANES_PROVEEDOR.REFERENCIA, - ALBARANES_PROVEEDOR.REFERENCIA_PROVEEDOR, - CASE WHEN (ALBARANES_PROVEEDOR.IMPORTE_TOTAL < 0) THEN 'D' ELSE 'A' END AS TIPO, - ALBARANES_PROVEEDOR.ID_ALMACEN, - ALMACENES.NOMBRE AS NOMBRE_ALMACEN, - ALBARANES_PROVEEDOR.ID_PEDIDO, - PEDIDOS_PROVEEDOR.REFERENCIA AS REF_PED_PROVEEDOR, - ALBARANES_PROVEEDOR.ID_FACTURA, - FACTURAS_PROVEEDOR.REFERENCIA AS REF_FACTURA, - ALBARANES_PROVEEDOR.REF_FACTURA_PROV, - ALBARANES_PROVEEDOR.CALLE, - ALBARANES_PROVEEDOR.CODIGO_POSTAL, - ALBARANES_PROVEEDOR.POBLACION, - ALBARANES_PROVEEDOR.PROVINCIA, - ALBARANES_PROVEEDOR.PERSONA_CONTACTO, - ALBARANES_PROVEEDOR.TELEFONO, - ALBARANES_PROVEEDOR.IMPORTE_NETO, - ALBARANES_PROVEEDOR.IMPORTE_PORTE, - ALBARANES_PROVEEDOR.DESCUENTO, - ALBARANES_PROVEEDOR.IMPORTE_DESCUENTO, - ALBARANES_PROVEEDOR.BASE_IMPONIBLE, - ALBARANES_PROVEEDOR.IVA, - ALBARANES_PROVEEDOR.IMPORTE_IVA, - ALBARANES_PROVEEDOR.IMPORTE_TOTAL, - ALBARANES_PROVEEDOR.OBSERVACIONES, - ALBARANES_PROVEEDOR.INCIDENCIAS, - ALBARANES_PROVEEDOR.INCIDENCIAS_ACTIVAS, - ALBARANES_PROVEEDOR.FECHA_ALTA, - ALBARANES_PROVEEDOR.FECHA_MODIFICACION, - ALBARANES_PROVEEDOR.USUARIO, - ALBARANES_PROVEEDOR.ID_FORMA_PAGO -FROM - ALBARANES_PROVEEDOR - LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR) - LEFT OUTER JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_PEDIDO) - LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_FACTURA) - LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_PROVEEDOR.ID_ALMACEN); - - -DROP VIEW V_REMESAS_CLIENTE; - -CREATE VIEW V_REMESAS_CLIENTE( - ID, - ID_EMPRESA, - REFERENCIA, - TIPO, - FECHA_REMESA, - DESCRIPCION, - ID_DATOS_BANCO, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - NOMBRE, - ENTIDAD, - SUCURSAL, - DC, - CUENTA, - SUFIJO_N19, - SUFIJO_N58, - IMPORTE_TOTAL) -AS -SELECT - REMESAS_CLIENTE.ID, - REMESAS_CLIENTE.ID_EMPRESA, - REMESAS_CLIENTE.REFERENCIA, - REMESAS_CLIENTE.TIPO, - REMESAS_CLIENTE.FECHA_REMESA, - REMESAS_CLIENTE.DESCRIPCION, - REMESAS_CLIENTE.ID_DATOS_BANCO, - REMESAS_CLIENTE.FECHA_ALTA, - REMESAS_CLIENTE.FECHA_MODIFICACION, - REMESAS_CLIENTE.USUARIO, - EMPRESAS_DATOS_BANCO.NOMBRE, - EMPRESAS_DATOS_BANCO.ENTIDAD, - EMPRESAS_DATOS_BANCO.SUCURSAL, - EMPRESAS_DATOS_BANCO.DC, - EMPRESAS_DATOS_BANCO.CUENTA, - EMPRESAS_DATOS_BANCO.SUFIJO_N19, - EMPRESAS_DATOS_BANCO.SUFIJO_N58, - SUM(COALESCE(RECIBOS_CLIENTE.IMPORTE,0) + COALESCE(RECIBOS_CLIENTE.OTROS_GASTOS,0) + COALESCE(V_REC_CLI_COMPENSADOS.IMPORTE_TOTAL_COMPENSADO,0)) as IMPORTE_TOTAL - -FROM - REMESAS_CLIENTE - LEFT OUTER JOIN EMPRESAS_DATOS_BANCO ON (EMPRESAS_DATOS_BANCO.ID = REMESAS_CLIENTE.ID_DATOS_BANCO) - LEFT OUTER JOIN RECIBOS_CLIENTE ON (RECIBOS_CLIENTE.ID_REMESA = REMESAS_CLIENTE.ID) - LEFT OUTER JOIN V_REC_CLI_COMPENSADOS ON (V_REC_CLI_COMPENSADOS.ID_RECIBO = RECIBOS_CLIENTE.ID) -GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17; - - -DROP VIEW V_REMESAS_PROVEEDOR; - -CREATE VIEW V_REMESAS_PROVEEDOR( - ID, - ID_EMPRESA, - REFERENCIA, - TIPO, - FECHA_REMESA, - DESCRIPCION, - ID_DATOS_BANCO, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - NOMBRE, - ENTIDAD, - SUCURSAL, - DC, - CUENTA, - SUFIJO_N19, - SUFIJO_N58, - IMPORTE_TOTAL) -AS -SELECT - REMESAS_PROVEEDOR.ID, - REMESAS_PROVEEDOR.ID_EMPRESA, - REMESAS_PROVEEDOR.REFERENCIA, - REMESAS_PROVEEDOR.TIPO, - REMESAS_PROVEEDOR.FECHA_REMESA, - REMESAS_PROVEEDOR.DESCRIPCION, - REMESAS_PROVEEDOR.ID_DATOS_BANCO, - REMESAS_PROVEEDOR.FECHA_ALTA, - REMESAS_PROVEEDOR.FECHA_MODIFICACION, - REMESAS_PROVEEDOR.USUARIO, - EMPRESAS_DATOS_BANCO.NOMBRE, - EMPRESAS_DATOS_BANCO.ENTIDAD, - EMPRESAS_DATOS_BANCO.SUCURSAL, - EMPRESAS_DATOS_BANCO.DC, - EMPRESAS_DATOS_BANCO.CUENTA, - EMPRESAS_DATOS_BANCO.SUFIJO_N19, - EMPRESAS_DATOS_BANCO.SUFIJO_N58, - SUM(COALESCE(RECIBOS_PROVEEDOR.IMPORTE,0) + COALESCE(RECIBOS_PROVEEDOR.OTROS_GASTOS,0) + COALESCE(V_REC_PRO_COMPENSADOS.IMPORTE_TOTAL_COMPENSADO,0)) as IMPORTE_TOTAL - -FROM - REMESAS_PROVEEDOR - LEFT OUTER JOIN EMPRESAS_DATOS_BANCO ON (EMPRESAS_DATOS_BANCO.ID = REMESAS_PROVEEDOR.ID_DATOS_BANCO) - LEFT OUTER JOIN RECIBOS_PROVEEDOR ON (RECIBOS_PROVEEDOR.ID_REMESA = REMESAS_PROVEEDOR.ID) - LEFT OUTER JOIN V_REC_PRO_COMPENSADOS ON (V_REC_PRO_COMPENSADOS.ID_RECIBO = RECIBOS_PROVEEDOR.ID) -GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17; - - - - - - - - -DROP VIEW V_INVENTARIO; -DROP VIEW V_INVENTARIO_AUX; -DROP VIEW V_INV_STOCK; -DROP VIEW V_INV_STOCK_AUX; -DROP VIEW V_INV_ENTRADAS; -DROP VIEW V_INV_ENTRADAS_AUX; -DROP VIEW V_INV_ENTRADAS_MOV; -DROP VIEW V_INV_ENTRADAS_ALB; -DROP VIEW V_INV_SALIDAS; -DROP VIEW V_INV_ENTRADAS_PENDIENTES; -DROP VIEW V_INV_SALIDAS_AUX; -DROP VIEW V_INV_SALIDAS_ALB; -DROP VIEW V_INV_SALIDAS_MOV; -DROP VIEW V_INV_RESERVAS; -DROP VIEW V_HISTORICO_MOVIMIENTOS; -DROP VIEW V_HIS_MOV_AUX; -DROP VIEW V_HIS_MOV_ALB_CLI; -DROP VIEW V_HIS_MOV_ALB_PROV; -DROP VIEW V_HIS_MOV_REGULARIZACIONES; -DROP VIEW V_ALB_CLI_DETALLES; - -/* -INVENTARIO -*/ - -/*Agrupa los artículos de un mismo albarán (ya que en un albarán puede existir varias lineas con el mismo artículo). - Para cada artículo de albarán le ponemos el pedido con el que esta asociado, la situacion y el almacén de donde salió. - Se quitan todos los artículos que no tengamos en catálogo (ID_ARTICULO nulo, lineas de detalle libres) -> esta premisa la cambiamos para que - no se falsee la situación de los pedidos, asi pues todo articulo que no este en el catálogo lo pondremos con ID_ARTICULO 0. - Se quitan también aquellos que no seán inventariables -> esta premisa falsearía la situación de los pedidos*/ - -CREATE VIEW V_ALB_CLI_DETALLES( - ID_ALBARAN, - ID_PEDIDO, - SITUACION, - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ALBARANES_CLIENTE_DETALLES.ID_ALBARAN, - ALBARANES_CLIENTE.ID_PEDIDO, - V_ALB_CLI_SITUACION.SITUACION, - ALBARANES_CLIENTE.ID_ALMACEN, - COALESCE(ALBARANES_CLIENTE_DETALLES.ID_ARTICULO, 0), - SUM(COALESCE(ALBARANES_CLIENTE_DETALLES.CANTIDAD, 0)) - -FROM ALBARANES_CLIENTE_DETALLES -LEFT JOIN ALBARANES_CLIENTE -ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID) -LEFT JOIN V_ALB_CLI_SITUACION -ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = V_ALB_CLI_SITUACION.ID) - -/*Mantenemos los articulos inventariables y aquellos que no existan en nuestro catálogo con el fin de no falsear la situación de los pedidos -LEFT JOIN ARTICULOS -ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID) - -WHERE (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO is not null) -AND (ARTICULOS.INVENTARIABLE = 1) -*/ - -group BY ALBARANES_CLIENTE_DETALLES.ID_ALBARAN, - ALBARANES_CLIENTE.ID_PEDIDO, - V_ALB_CLI_SITUACION.SITUACION, - ALBARANES_CLIENTE.ID_ALMACEN, - ALBARANES_CLIENTE_DETALLES.ID_ARTICULO; - - - -/*Todos los articulos reservados en almacén para algún albarán (Pendiente))*/ - -CREATE VIEW V_INV_RESERVAS( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_ALMACEN, ID_ARTICULO, SUM(CANTIDAD) -FROM V_ALB_CLI_DETALLES -WHERE (ID_ALMACEN IS NOT NULL) -AND (SITUACION = 'PENDIENTE') -GROUP BY ID_ALMACEN, ID_ARTICULO; - -/*Todas las salidas de articulos a partir de los movimientos libres realizados por el usuario*/ - -CREATE VIEW V_INV_SALIDAS_MOV( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_ALMACEN, ID_ARTICULO, SUM(CANTIDAD) -FROM MOVIMIENTOS -WHERE TIPO = 'S' -GROUP BY ID_ALMACEN, ID_ARTICULO; - - -/*Todas las salidas de articulos a partir de los albaranes de cliente*/ -/*No tendremos en cuenta los albaranes que no tengan un almacén origen, es decir que no se contabilizarán*/ -/*aquellos albaranes que se manden directamente al cliente sin pasar por almacén*/ -/*Serán salidas en el momento que el albarán este enviado o servido, si esta pendiente estará reservado*/ - -CREATE VIEW V_INV_SALIDAS_ALB( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_ALMACEN, ID_ARTICULO, SUM(CANTIDAD) -FROM V_ALB_CLI_DETALLES -WHERE (ID_ALMACEN IS NOT NULL) -AND (SITUACION in ('ENVIADO', 'SERVIDO')) -GROUP BY ID_ALMACEN, ID_ARTICULO; - - -/*Al igual que en las vistas de articulos de pedido de proveedor y cliente, es mucho más rápido y mejor para este*/ -/*caso una unión y luego una agrupación que un FULL OUTER JOIN*/ - -CREATE VIEW V_INV_SALIDAS_AUX( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_ALMACEN, - ID_ARTICULO, - CANTIDAD -FROM V_INV_SALIDAS_ALB -UNION ALL -SELECT ID_ALMACEN, - ID_ARTICULO, - CANTIDAD -FROM V_INV_SALIDAS_MOV; - -/*Todos los articulos pedidos a proveedor y que todavía no he recibido, y que tienen un almacén destino*/ - -CREATE VIEW V_INV_ENTRADAS_PENDIENTES( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT PEDIDOS_PROVEEDOR.ID_ALMACEN, V_PED_PROV_ARTICULOS.ID_ARTICULO, SUM(V_PED_PROV_ARTICULOS.CANTIDAD_PENDIENTE) -FROM V_PED_PROV_ARTICULOS -LEFT JOIN PEDIDOS_PROVEEDOR -ON (PEDIDOS_PROVEEDOR.ID = V_PED_PROV_ARTICULOS.ID_PEDIDO) -WHERE (PEDIDOS_PROVEEDOR.ID_ALMACEN IS NOT NULL) -GROUP BY PEDIDOS_PROVEEDOR.ID_ALMACEN, V_PED_PROV_ARTICULOS.ID_ARTICULO; - -/*Todas las salidas de almacen, bien por albarán o por movimiento libre, a partir de la vista auxiliar anterior*/ - -CREATE VIEW V_INV_SALIDAS( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT -ID_ALMACEN, -ID_ARTICULO, -SUM(CANTIDAD) as CANTIDAD -FROM V_INV_SALIDAS_AUX - -GROUP BY ID_ALMACEN, - ID_ARTICULO; - - - -/*Todas las entradas de articulos a partir de los albaranes de proveedor*/ -/*No tendremos en cuenta los albaranes que no tengan un almacén destino, es decir que no se contabilizarán*/ -/*aquellos albaranes que se manden directamente al cliente*/ - -CREATE VIEW V_INV_ENTRADAS_ALB( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_ALMACEN, ID_ARTICULO, SUM(CANTIDAD) -FROM V_ALB_PROV_DETALLES -WHERE (ID_ALMACEN IS NOT NULL) -GROUP BY ID_ALMACEN, ID_ARTICULO; - - - -/*Todas las entradas de articulos a partir de los movimientos libres realizados por el usuario*/ - -CREATE VIEW V_INV_ENTRADAS_MOV( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_ALMACEN, ID_ARTICULO, SUM(CANTIDAD) -FROM MOVIMIENTOS -WHERE TIPO = 'E' -GROUP BY ID_ALMACEN, ID_ARTICULO; - - - -/*Al igual que en las vistas de articulos de pedido de proveedor y cliente, es mucho más rápido y mejor para este*/ -/*caso una unión y luego una agrupación que un FULL OUTER JOIN*/ - -CREATE VIEW V_INV_ENTRADAS_AUX( - TIPO, - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT 'ALB', - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD -FROM V_INV_ENTRADAS_ALB -UNION ALL -SELECT 'MOV', - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD -FROM V_INV_ENTRADAS_MOV; - - -/*Todas las entradas en almacen, bien por albarán o por movimiento libre, a partir de la vista auxiliar anterior*/ - -CREATE VIEW V_INV_ENTRADAS( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT -ID_ALMACEN, -ID_ARTICULO, -SUM(CANTIDAD) as CANTIDAD -FROM V_INV_ENTRADAS_AUX - -GROUP BY ID_ALMACEN, - ID_ARTICULO; - -/*Al igual que en las vistas de articulos de pedido de proveedor y cliente, es mucho más rápido y mejor para este*/ -/*caso una unión y luego una agrupación que un FULL OUTER JOIN*/ - -CREATE VIEW V_INV_STOCK_AUX( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD_ENTRADA, - CANTIDAD_SALIDA) -AS -SELECT ID_ALMACEN, - ID_ARTICULO, - CANTIDAD as CANTIDAD_ENTRADA, - 0 as CANTIDAD_SALIDA -FROM V_INV_ENTRADAS -UNION ALL -SELECT ID_ALMACEN, - ID_ARTICULO, - 0 as CANTIDAD_ENTRADA, - CANTIDAD as CANTIDAD_SALIDA -FROM V_INV_SALIDAS; - -/* Stock actual por articulo y almacén, calculado a partir de la vista auxiliar anterior*/ - -CREATE VIEW V_INV_STOCK( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT -ID_ALMACEN, -ID_ARTICULO, -(SUM(CANTIDAD_ENTRADA) - SUM(CANTIDAD_SALIDA)) as CANTIDAD -FROM V_INV_STOCK_AUX -GROUP BY ID_ALMACEN, - ID_ARTICULO; - - -/*Tomamos la misma filosofia que en los casos anteriores ya que los tiempos se reducen, que es una barbaridad*/ - -CREATE VIEW V_INVENTARIO_AUX( - ID_ALMACEN, - ID_ARTICULO, - STOCK, - PENDIENTE_RECEPCION, - RESERVA) -AS -SELECT ID_ALMACEN, ID_ARTICULO, CANTIDAD as STOCK, 0 as PENDIENTES, 0 as RESERVADAS -FROM V_INV_STOCK -UNION ALL -SELECT ID_ALMACEN, ID_ARTICULO, 0 as STOCK, CANTIDAD as PENDIENTES, 0 AS RESERVADAS -FROM V_INV_ENTRADAS_PENDIENTES -UNION ALL -SELECT ID_ALMACEN, ID_ARTICULO, 0 as STOCK, 0 as PENDIENTES, CANTIDAD AS RESERVADAS -FROM V_INV_RESERVAS; - -/*Vista de inventario final OPTIMIZADISIMAAAA*/ -CREATE VIEW V_INVENTARIO( - ID_ALMACEN, - ID_EMPRESA, - NOMBRE, - ID_ARTICULO, - REFERENCIA, - FAMILIA, - DESCRIPCION, - REFERENCIA_PROV, - PRECIO_NETO, - STOCK, - UNIDADES_ALMACEN, - COSTE_UNIDADES, - RESERVA, - PENDIENTE_RECEPCION) -AS -SELECT ID_ALMACEN, - ALMACENES.ID_EMPRESA, - ALMACENES.NOMBRE, - ID_ARTICULO, - ARTICULOS.REFERENCIA, - ARTICULOS.FAMILIA, - ARTICULOS.DESCRIPCION, - ARTICULOS.REFERENCIA_PROV, - COALESCE(ARTICULOS.PRECIO_NETO,0) as PRECIO_NETO, - (SUM(STOCK) - SUM(RESERVA)) as STOCK, - SUM(STOCK) as UNIDADES_ALMACEN, - - /*Si las unidades son negativas no se tiene en cuenta el coste*/ - CASE WHEN (SUM(STOCK) < 0) THEN 0 - ELSE (COALESCE(ARTICULOS.PRECIO_NETO,0) * SUM(STOCK)) - END as COSTE_UNIDADES, - - SUM(RESERVA) as RESERVA, - SUM(PENDIENTE_RECEPCION) as PENDIENTE_RECEPCION - -FROM V_INVENTARIO_AUX -LEFT JOIN ARTICULOS -ON (ARTICULOS.ID = V_INVENTARIO_AUX.ID_ARTICULO) -LEFT JOIN ALMACENES -ON (ALMACENES.ID = V_INVENTARIO_AUX.ID_ALMACEN) - -WHERE (ID_ARTICULO <> 0) -AND (ARTICULOS.ELIMINADO = 0) -AND (ARTICULOS.INVENTARIABLE = 1) - -GROUP BY ID_ALMACEN, - ALMACENES.ID_EMPRESA, - ALMACENES.NOMBRE, - ID_ARTICULO, - ARTICULOS.REFERENCIA, - ARTICULOS.FAMILIA, - ARTICULOS.DESCRIPCION, - ARTICULOS.REFERENCIA_PROV, - ARTICULOS.PRECIO_NETO; - - - -/************************************************************************/ -/* HISTORICO MOVIMIENTOS ************************************************/ -/************************************************************************/ -/*Las siguientes vista nos presentará el historico de movimientos de todos los artículos*/ - -CREATE VIEW V_HIS_MOV_REGULARIZACIONES( - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA) -AS -SELECT FECHA_MOVIMIENTO, ID_ALMACEN, ID_ARTICULO, -CASE WHEN TIPO = 'E' THEN 'Entrada' -ELSE 'Salida' END, -CASE WHEN TIPO = 'S' THEN (-1)* CANTIDAD - ELSE CANTIDAD END, -'Regularización por - ' || CAUSA -FROM MOVIMIENTOS; - - -CREATE VIEW V_HIS_MOV_ALB_PROV( - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA) -AS -SELECT - ALBARANES_PROVEEDOR.FECHA_ALBARAN, - V_ALB_PROV_DETALLES.ID_ALMACEN, - V_ALB_PROV_DETALLES.ID_ARTICULO, - CASE WHEN V_ALB_PROV_DETALLES.CANTIDAD < 0 THEN 'Salida' - ELSE 'Entrada' END, - V_ALB_PROV_DETALLES.CANTIDAD, - CASE WHEN ALBARANES_PROVEEDOR.IMPORTE_TOTAL < 0 THEN 'Orden de devolución ' || ALBARANES_PROVEEDOR.REFERENCIA - ELSE 'Albarán de proveedor ' || ALBARANES_PROVEEDOR.REFERENCIA END - - -FROM V_ALB_PROV_DETALLES -LEFT JOIN ALBARANES_PROVEEDOR -ON (V_ALB_PROV_DETALLES.ID_ALBARAN = ALBARANES_PROVEEDOR.ID) -WHERE (V_ALB_PROV_DETALLES.ID_ALMACEN IS NOT NULL); - - -CREATE VIEW V_HIS_MOV_ALB_CLI( - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA) -AS -SELECT - ALBARANES_CLIENTE.FECHA_ALBARAN, - V_ALB_CLI_DETALLES.ID_ALMACEN, - V_ALB_CLI_DETALLES.ID_ARTICULO, - CASE WHEN V_ALB_CLI_DETALLES.CANTIDAD < 0 THEN 'Entrada' - ELSE 'Salida' END, - (-1)*V_ALB_CLI_DETALLES.CANTIDAD, - CASE WHEN ALBARANES_CLIENTE.IMPORTE_TOTAL < 0 THEN 'Orden de devolución de cliente ' || ALBARANES_CLIENTE.REFERENCIA - ELSE 'Albarán de cliente ' || ALBARANES_CLIENTE.REFERENCIA END - -FROM V_ALB_CLI_DETALLES -LEFT JOIN ALBARANES_CLIENTE -ON (V_ALB_CLI_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID) - -WHERE (V_ALB_CLI_DETALLES.ID_ALMACEN IS NOT NULL) -AND (V_ALB_CLI_DETALLES.SITUACION in ('ENVIADO', 'SERVIDO')); - - -CREATE VIEW V_HIS_MOV_AUX( - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA) -AS -SELECT - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA -FROM V_HIS_MOV_ALB_PROV -UNION ALL -SELECT - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA -FROM V_HIS_MOV_ALB_CLI -UNION ALL -SELECT - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA -FROM V_HIS_MOV_REGULARIZACIONES; - - -CREATE VIEW V_HISTORICO_MOVIMIENTOS( - FECHA, - ID_ALMACEN, - ID_EMPRESA, - NOMBRE_ALMACEN, - ID_ARTICULO, - FAMILIA, - REFERENCIA, - REFERENCIA_PROV, - DESCRIPCION, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA) -AS -SELECT - V_HIS_MOV_AUX.FECHA, - V_HIS_MOV_AUX.ID_ALMACEN, - ALMACENES.ID_EMPRESA, - ALMACENES.NOMBRE, - V_HIS_MOV_AUX.ID_ARTICULO, - ARTICULOS.FAMILIA, - ARTICULOS.REFERENCIA, - ARTICULOS.REFERENCIA_PROV, - ARTICULOS.DESCRIPCION, - V_HIS_MOV_AUX.TIPO_MOVIMIENTO, - V_HIS_MOV_AUX.CANTIDAD, - V_HIS_MOV_AUX.CAUSA - -FROM V_HIS_MOV_AUX -LEFT JOIN ALMACENES ON (ALMACENES.ID = V_HIS_MOV_AUX.ID_ALMACEN) -LEFT JOIN ARTICULOS ON (ARTICULOS.ID = V_HIS_MOV_AUX.ID_ARTICULO) - -WHERE (V_HIS_MOV_AUX.ID_ARTICULO <> 0) -AND (ARTICULOS.INVENTARIABLE = 1); - - -DROP VIEW V_INV_DETALLE_RESERVAS; - - -/*Vista para ver para quien estan reservados los articulos del inventario*/ - -CREATE VIEW V_INV_DETALLE_RESERVAS( - ID_ALB, - ID_EMPRESA, - REFERENCIA_ALB, - SITUACION_ALB, - FECHA_PREVISTA_ENVIO_ALB, - ID_ALMACEN_ALB, - ALMACEN_ALB, - ID_CLIENTE_ALB, - CLIENTE_ALB, - ID_ART, - FAMILIA_ART, - REFERENCIA_ART, - REFERENCIA_PROV_ART, - DESCRIPCION_ART, - CANTIDAD_ART) -AS - -SELECT - ALBARANES_CLIENTE_DETALLES.ID_ALBARAN, - ALBARANES_CLIENTE.ID_EMPRESA, - ALBARANES_CLIENTE.REFERENCIA, - V_ALB_CLI_SITUACION.SITUACION, - ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO, - ALBARANES_CLIENTE.ID_ALMACEN, - ALMACENES.NOMBRE AS ALMACEN, - ALBARANES_CLIENTE.ID_CLIENTE, - CONTACTOS.NOMBRE AS CLIENTE, - ARTICULOS.ID, - ARTICULOS.FAMILIA, - ARTICULOS.REFERENCIA, - ARTICULOS.REFERENCIA_PROV, - ARTICULOS.DESCRIPCION, - SUM(COALESCE(ALBARANES_CLIENTE_DETALLES.CANTIDAD, 0)) - -FROM ALBARANES_CLIENTE_DETALLES -LEFT JOIN ALBARANES_CLIENTE -ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID) -LEFT JOIN CONTACTOS -ON (ALBARANES_CLIENTE.ID_CLIENTE = CONTACTOS.ID) -LEFT JOIN ALMACENES -ON (ALBARANES_CLIENTE.ID_ALMACEN = ALMACENES.ID) -LEFT JOIN ARTICULOS -ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID) -LEFT JOIN V_ALB_CLI_SITUACION -ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = V_ALB_CLI_SITUACION.ID) - -/*Quitamos aquellos detalles que no tengan cabecera existente - aquellos que no se correspondan con un almacén es decir albaranes libres - que el albaran este pendiente (los articulos estan reservados en el almacen) - aquellos que no se correspondan con artículos existentes en el catalogo - y que no sean inventariables*/ -WHERE (ALBARANES_CLIENTE.ID IS NOT NULL) -AND (ALBARANES_CLIENTE.ID_ALMACEN IS NOT NULL) -AND (V_ALB_CLI_SITUACION.SITUACION = 'PENDIENTE') -AND (ARTICULOS.ID is not null) -AND (ARTICULOS.ELIMINADO = 0) -AND (ARTICULOS.INVENTARIABLE = 1) - -GROUP BY - ALBARANES_CLIENTE_DETALLES.ID_ALBARAN, - ALBARANES_CLIENTE.ID_EMPRESA, - ALBARANES_CLIENTE.REFERENCIA, - V_ALB_CLI_SITUACION.SITUACION, - ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO, - ALBARANES_CLIENTE.ID_ALMACEN, - ALMACENES.NOMBRE, - ALBARANES_CLIENTE.ID_CLIENTE, - CONTACTOS.NOMBRE, - ARTICULOS.ID, - ARTICULOS.FAMILIA, - ARTICULOS.REFERENCIA, - ARTICULOS.REFERENCIA_PROV, - ARTICULOS.DESCRIPCION; diff --git a/Database/Anterior/factuges.sql b/Database/Anterior/factuges.sql deleted file mode 100644 index e2617120..00000000 --- a/Database/Anterior/factuges.sql +++ /dev/null @@ -1,918 +0,0 @@ -CREATE DOMAIN TIPO_ID AS INTEGER; -CREATE DOMAIN TIPO_PERFIL AS VARCHAR(15); -CREATE DOMAIN TIPO_USUARIO AS VARCHAR(20); -CREATE DOMAIN TIPO_PASSWORD AS VARCHAR(10); -CREATE DOMAIN TIPO_NOTAS AS BLOB SUB_TYPE TEXT; -CREATE DOMAIN TIPO_BINARIO AS BLOB SUB_TYPE 0 SEGMENT SIZE 80; -CREATE DOMAIN TIPO_IMPORTE AS NUMERIC(11, 2); -CREATE DOMAIN TIPO_PORCENTAJE AS FLOAT; -CREATE DOMAIN TIPO_CONCEPTO AS VARCHAR(2000); -CREATE DOMAIN TIPO_BOOLEANO AS SMALLINT; - -CREATE TABLE CONFIGURACION ( - CODIGO VARCHAR(50) NOT NULL, - VALOR VARCHAR(255) NOT NULL, - ID_EMPRESA TIPO_ID -); - -CREATE TABLE REFERENCIAS ( - CODIGO VARCHAR(50) NOT NULL, - VALOR VARCHAR(255) NOT NULL, - ID_EMPRESA TIPO_ID -); - - -CREATE TABLE EMPRESAS ( - ID TIPO_ID NOT NULL, - NIF_CIF VARCHAR(15), - NOMBRE VARCHAR(255), - RAZON_SOCIAL VARCHAR(255), - CALLE VARCHAR(255), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - TELEFONO_1 VARCHAR(25), - TELEFONO_2 VARCHAR(25), - MOVIL_1 VARCHAR(25), - MOVIL_2 VARCHAR(25), - FAX VARCHAR(25), - EMAIL_1 VARCHAR(255), - EMAIL_2 VARCHAR(255), - PAGINA_WEB VARCHAR(255), - NOTAS TIPO_NOTAS, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - LOGOTIPO TIPO_BINARIO, - REGISTRO_MERCANTIL VARCHAR(255), - IVA TIPO_PORCENTAJE -); - -ALTER TABLE EMPRESAS ADD CONSTRAINT -PK_EMPRESAS -PRIMARY KEY (ID); - -CREATE GENERATOR GEN_EMPRESAS_ID; -SET GENERATOR GEN_EMPRESAS_ID TO 1; - - -CREATE TABLE PERFILES ( - ID TIPO_ID NOT NULL, - PERFIL TIPO_PERFIL NOT NULL -); - -ALTER TABLE PERFILES -ADD CONSTRAINT PK_PERFILES PRIMARY KEY (ID); - -CREATE GENERATOR GEN_PERFILES_ID; -SET GENERATOR GEN_PERFILES_ID TO 1; - - -CREATE TABLE USUARIOS ( - ID TIPO_ID NOT NULL, - USUARIO TIPO_USUARIO NOT NULL, - PASS TIPO_PASSWORD, - ACTIVO TIPO_BOOLEANO, - LAST_LOGIN TIMESTAMP -); - -ALTER TABLE USUARIOS -ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID); - -CREATE GENERATOR GEN_USUARIOS_ID; -SET GENERATOR GEN_USUARIOS_ID TO 1; - - -CREATE TABLE PERFILES_USUARIOS ( - ID_PERFIL TIPO_ID NOT NULL, - ID_USUARIO TIPO_ID NOT NULL -); - -ALTER TABLE PERFILES_USUARIOS -ADD CONSTRAINT PK_PERFILES_USUARIOS PRIMARY KEY (ID_PERFIL, ID_USUARIO); - - -CREATE TABLE CATEGORIAS ( - ID TIPO_ID NOT NULL, - CATEGORIA VARCHAR(255) NOT NULL -); - -ALTER TABLE CATEGORIAS -ADD CONSTRAINT PK_CATEGORIAS PRIMARY KEY (ID); - -CREATE GENERATOR GEN_CATEGORIAS_ID; -SET GENERATOR GEN_CATEGORIAS_ID TO 1; - - -CREATE TABLE CONTACTOS ( - ID TIPO_ID NOT NULL, - REFERENCIA VARCHAR(255), - NIF_CIF VARCHAR(15), - NOMBRE VARCHAR(255) NOT NULL, - CALLE VARCHAR(255), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - TELEFONO_1 VARCHAR(25), - TELEFONO_2 VARCHAR(25), - MOVIL_1 VARCHAR(25), - MOVIL_2 VARCHAR(25), - FAX VARCHAR(25), - EMAIL_1 VARCHAR(255), - EMAIL_2 VARCHAR(255), - PAGINA_WEB VARCHAR(255), - NOTAS TIPO_NOTAS, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - -ALTER TABLE CONTACTOS -ADD CONSTRAINT PK_CONTACTOS PRIMARY KEY (ID); - -CREATE GENERATOR GEN_CONTACTOS_ID; -SET GENERATOR GEN_CONTACTOS_ID TO 1; - -CREATE TRIGGER TRI_INSERT_CONTACTOS FOR CONTACTOS -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -CREATE TRIGGER TRI_UPDATE_CONTACTOS FOR CONTACTOS -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - -CREATE TABLE CONTACTOS_CATEGORIAS ( - ID_CONTACTO TIPO_ID NOT NULL, - ID_CATEGORIA TIPO_ID NOT NULL -); - -ALTER TABLE CONTACTOS_CATEGORIAS -ADD CONSTRAINT PK_CONTACTOS_CATEGORIAS PRIMARY KEY (ID_CONTACTO, ID_CATEGORIA); - -CREATE TABLE CONTACTOS_DATOS_BANCO ( - ID TIPO_ID NOT NULL, - ID_CONTACTO TIPO_ID NOT NULL, - TITULAR VARCHAR(255), - ENTIDAD VARCHAR(15), - SUCURSAL VARCHAR(15), - DC VARCHAR(15), - CUENTA VARCHAR(15) -); - -ALTER TABLE CONTACTOS_DATOS_BANCO -ADD CONSTRAINT PK_CONTACTOS_DATOS_BANCO PRIMARY KEY (ID); - -CREATE INDEX IDX_CONTACTOS_DATOS_BANCO -ON CONTACTOS_DATOS_BANCO (ID_CONTACTO); - -CREATE GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID; -SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1; - - -CREATE TABLE CONTACTOS_DIRECCIONES ( - ID TIPO_ID NOT NULL, - ID_CONTACTO TIPO_ID NOT NULL, - CALLE VARCHAR(255), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - PERSONA_CONTACTO VARCHAR(255) -); - -ALTER TABLE CONTACTOS_DIRECCIONES -ADD CONSTRAINT PK_CONTACTOS_DIR PRIMARY KEY (ID); - -CREATE GENERATOR GEN_CONTACTOS_DIR_ID; -SET GENERATOR GEN_CONTACTOS_DIR_ID TO 1; - - -CREATE TABLE CLIENTES_DATOS ( - ID_CLIENTE TIPO_ID NOT NULL, - ID_AGENTE TIPO_ID, - BLOQUEADO TIPO_BOOLEANO DEFAULT 0 NOT NULL, - GRUPO_CLIENTE VARCHAR(255), - PORTE TIPO_IMPORTE, - NOMBRE_COMERCIAL VARCHAR(255), - VENCIMIENTO_FACTURAS INTEGER, - RECARGO_EQUIVALENCIA TIPO_PORCENTAJE, - REGIMEN_IVA TIPO_PORCENTAJE -); - -ALTER TABLE CLIENTES_DATOS -ADD CONSTRAINT PK_CLIENTES_DATOS PRIMARY KEY (ID_CLIENTE); - -CREATE TABLE CLIENTES_GRUPOS ( - DESCRIPCION VARCHAR(255) -); - -CREATE TABLE PROVEEDORES_DATOS ( - ID_PROVEEDOR TIPO_ID NOT NULL, - DESCUENTO TIPO_PORCENTAJE, - REGIMEN_IVA TIPO_PORCENTAJE -); - -ALTER TABLE PROVEEDORES_DATOS -ADD CONSTRAINT PK_PROVEEDORES_DATOS PRIMARY KEY (ID_PROVEEDOR); - -CREATE TABLE EMPRESAS_CONTACTOS ( - ID_EMPRESA TIPO_ID NOT NULL, - ID_CONTACTO TIPO_ID NOT NULL -); - -ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT -PK_EMPRESAS_CONTACTOS -PRIMARY KEY (ID_EMPRESA, ID_CONTACTO); - - -CREATE TABLE EMPRESAS_USUARIOS ( - ID_EMPRESA TIPO_ID NOT NULL, - ID_USUARIO TIPO_ID NOT NULL -); - -ALTER TABLE EMPRESAS_USUARIOS ADD CONSTRAINT -PK_EMPRESAS_USUARIOS -PRIMARY KEY (ID_EMPRESA, ID_USUARIO); - - -CREATE TABLE FACTURAS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_CONTRATO TIPO_ID, - REFERENCIA VARCHAR(255), - FECHA_FACTURA DATE, - VENCIMIENTO INTEGER, - SITUACION VARCHAR(255), - FECHA_PAGADO DATE, - BASE_IMPONIBLE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - OBSERVACIONES TIPO_NOTAS, - FORMA_PAGO TIPO_NOTAS, - ID_CLIENTE TIPO_ID, - NIF_CIF VARCHAR(15), - NOMBRE VARCHAR(255), - CALLE VARCHAR(255), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); -ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT PK_FACTURAS_CLIENTE PRIMARY KEY (ID); - -ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT FK_FACTURAS_CLIENTE_CONTACTOS FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT FK_FACTURAS_CLIENTE_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE GENERATOR GEN_FACTURAS_CLIENTE_ID; -SET GENERATOR GEN_FACTURAS_CLIENTE_ID TO 1; - -CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - -CREATE TABLE FACTURAS_CLIENTE_DETALLES ( - ID TIPO_ID NOT NULL, - ID_FACTURA TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), - CONCEPTO TIPO_CONCEPTO, - CANTIDAD INTEGER, - IMPORTE_UNIDAD TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); -ALTER TABLE FACTURAS_CLIENTE_DETALLES ADD CONSTRAINT PK_FACTURAS_CLIENTE_DETALLES PRIMARY KEY (ID); - -CREATE GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID; -SET GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID TO 1; - -CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - - -CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - - - -CREATE TABLE ALMACENES ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID NOT NULL, - NOMBRE VARCHAR(255), - CALLE VARCHAR(255), - PROVINCIA VARCHAR(255), - POBLACION VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - TELEFONO VARCHAR(25), - MOVIL VARCHAR(25), - FAX VARCHAR(25), - PERSONA_CONTACTO VARCHAR(255), - OBSERVACIONES TIPO_NOTAS, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - -ALTER TABLE ALMACENES ADD CONSTRAINT PK_ALMACENES PRIMARY KEY (ID); - -ALTER TABLE ALMACENES ADD CONSTRAINT FK_ALMACENES_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE GENERATOR GEN_ALMACENES_ID; -SET GENERATOR GEN_ALMACENES_ID TO 1; - -CREATE TRIGGER TRI_INSERT_ALMACENES FOR ALMACENES -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - - -CREATE TRIGGER TRI_UPDATE_ALMACENES FOR ALMACENES -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - -CREATE TABLE FAMILIAS ( - DESCRIPCION VARCHAR(255) -); - -CREATE TABLE ARTICULOS ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - REFERENCIA VARCHAR(255), - DESCRIPCION VARCHAR(255), - FAMILIA VARCHAR(255), - IMAGEN TIPO_BINARIO, - COMISIONABLE TIPO_BOOLEANO, - ID_PROVEEDOR TIPO_ID, - REFERENCIA_PROV VARCHAR(255), - PRECIO_COSTE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - PRECIO_NETO TIPO_IMPORTE, - PRECIO_PORTE TIPO_IMPORTE, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - - -ALTER TABLE ARTICULOS ADD CONSTRAINT PK_ARTICULOS PRIMARY KEY (ID); -ALTER TABLE ARTICULOS ADD CONSTRAINT FK_ARTICULOS_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE GENERATOR GEN_ARTICULOS_ID; -SET GENERATOR GEN_ARTICULOS_ID TO 1; - - -CREATE TRIGGER TRI_INSERT_ARTICULOS FOR ARTICULOS -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -CREATE TRIGGER TRI_UPDATE_ARTICULOS FOR ARTICULOS -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - -CREATE TABLE PEDIDOS_PROVEEDOR ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_PROVEEDOR TIPO_ID, - REFERENCIA VARCHAR(255), - FECHA_PEDIDO DATE, - FECHA_CONFIRMACION DATE, - FECHA_ENTREGA DATE, - SITUACION VARCHAR(255), - ID_ALMACEN TIPO_ID, - DIRECCION_ENTREGA TIPO_NOTAS, - OBSERVACIONES TIPO_NOTAS, - IMPORTE_TOTAL TIPO_IMPORTE, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - -ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); -ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR2 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID); - -CREATE TRIGGER TRI_INSERT_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - - -CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - -CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES ( - ID TIPO_ID NOT NULL, - ID_PEDIDO TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), - REFERENCIA VARCHAR(255), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD INTEGER, - IMPORTE_UNIDAD TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETALLES PRIMARY KEY (ID); - - -CREATE TRIGGER TRI_INSERT_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - -CREATE TABLE PEDIDOS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_CLIENTE TIPO_ID, - REFERENCIA VARCHAR(255), - FECHA_PEDIDO DATE, - FECHA_CONFIRMACION DATE, - FECHA_ENTREGA DATE, - CALLE VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255), - TELEFONO VARCHAR(25), - OBSERVACIONES TIPO_NOTAS, - IMPORTE_TOTAL TIPO_IMPORTE, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - -ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT PK_PEDIDOS_CLIENTE PRIMARY KEY (ID); - - -CREATE GENERATOR GEN_PEDIDOS_PROV_ID; -SET GENERATOR GEN_PEDIDOS_PROV_ID TO 1; - -CREATE TRIGGER TRI_INSERT_PEDIDOS_CLIENTE FOR PEDIDOS_CLIENTE -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -CREATE TRIGGER TRI_UPDATE_PEDIDOS_CLIENTE FOR PEDIDOS_CLIENTE -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - -CREATE TABLE PEDIDOS_CLIENTE_DETALLES ( - ID TIPO_ID NOT NULL, - ID_PEDIDO TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), - REFERENCIA VARCHAR(255), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD INTEGER, - IMPORTE_UNIDAD TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -ALTER TABLE PEDIDOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PEDIDOS_CLIENTE_DETALLES PRIMARY KEY (ID); - - -CREATE GENERATOR GEN_PEDIDOS_CLI_ID; -SET GENERATOR GEN_PEDIDOS_CLI_ID TO 1; - -CREATE TRIGGER TRI_INSERT_PEDIDOS_CLI_DET FOR PEDIDOS_CLIENTE_DETALLES -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -CREATE TRIGGER TRI_UPDATE_PEDIDOS_CLI_DET FOR PEDIDOS_CLIENTE_DETALLES -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - - -CREATE TABLE INVENTARIO ( - ID TIPO_ID NOT NULL, - ID_ARTICULO TIPO_ID, - ID_ALMACEN TIPO_ID, - ID_PEDIDO_PROVEEDOR TIPO_ID, - ID_PEDIDO_CLIENTE TIPO_ID -); - -ALTER TABLE INVENTARIO ADD CONSTRAINT PK_INVENTARIO PRIMARY KEY (ID); -ALTER TABLE INVENTARIO ADD CONSTRAINT FK_INVENTARIO_ALMACENES FOREIGN KEY (ID_ALMACEN) REFERENCES ALMACENES (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE INVENTARIO ADD CONSTRAINT FK_INVENTARIO_ARTICULOS FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE INVENTARIO ADD CONSTRAINT FK_INVENTARIO_PEDIDOS_PRO FOREIGN KEY (ID_PEDIDO_PROVEEDOR) REFERENCES PEDIDOS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE CASCADE; - -CREATE GENERATOR GEN_INVENTARIO_ID; -SET GENERATOR GEN_INVENTARIO_ID TO 1; - - -CREATE TABLE ALBARANES_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_CLIENTE TIPO_ID, - FECHA_ALBARAN DATE, - ID_PEDIDO TIPO_ID, - ID_FACTURA TIPO_ID, - REFERENCIA VARCHAR(255), - CALLE VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255), - TELEFONO VARCHAR(25), - BASE_IMPONIBLE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - OBSERVACIONES TIPO_NOTAS, - FORMA_PAGO TIPO_NOTAS, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - -ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT PK_ALBARAN_CLIENTE PRIMARY KEY (ID); -ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE1 FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE2 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE3 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_CLIENTE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE4 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE GENERATOR GEN_ALBARANES_CLI_ID; -SET GENERATOR GEN_ALBARANES_CLI_ID TO 1; - -/* Trigger: TRI_INSERT_ALBARANES_CLIENTE */ -CREATE TRIGGER TRI_INSERT_ALBARANES_CLIENTE FOR ALBARANES_CLIENTE ACTIVE BEFORE INSERT POSITION 0 AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -/* Trigger: TRI_UPDATE_ALBARANES_CLIENTE */ -CREATE TRIGGER TRI_UPDATE_ALBARANES_CLIENTE FOR ALBARANES_CLIENTE ACTIVE BEFORE UPDATE POSITION 0 AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - -CREATE TABLE ALBARANES_CLIENTE_DETALLES ( - ID TIPO_ID NOT NULL, - ID_ALBARAN TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD INTEGER, - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -ALTER TABLE ALBARANES_CLIENTE_DETALLES ADD CONSTRAINT PK_ALBARANES_CLIENTE_DETALLES PRIMARY KEY (ID); - -CREATE GENERATOR GEN_ALBARANES_CLI_DETALLES_ID; -SET GENERATOR GEN_ALBARANES_CLI_DETALLES_ID TO 1; - -/* Trigger: TRI_INSERT_ALBARANES_CLI_DET */ -CREATE TRIGGER TRI_INSERT_ALBARANES_CLI_DET FOR ALBARANES_CLIENTE_DETALLES ACTIVE BEFORE INSERT POSITION 0 AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -/* Trigger: TRI_UPDATE_ALBARANES_CLI_DET */ -CREATE TRIGGER TRI_UPDATE_ALBARANES_CLI_DET FOR ALBARANES_CLIENTE_DETALLES ACTIVE BEFORE UPDATE POSITION 0 AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - -CREATE TABLE ALBARANES_PROVEEDOR ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_PROVEEDOR TIPO_ID, - FECHA_ALBARAN DATE, - ID_PEDIDO TIPO_ID, - ID_FACTURA TIPO_ID, - REFERENCIA VARCHAR(255), - CALLE VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255), - TELEFONO VARCHAR(25), - BASE_IMPONIBLE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - OBSERVACIONES TIPO_NOTAS, - FORMA_PAGO TIPO_NOTAS, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT PK_ALBARAN_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR1 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR2 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR3 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_CLIENTE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR4 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE GENERATOR GEN_ALBARANES_PRO_ID; -SET GENERATOR GEN_ALBARANES_PRO_ID TO 1; - -/* Trigger: TRI_INSERT_ALBARANES_PROVEEDOR */ -CREATE TRIGGER TRI_INSERT_ALBARANES_PROVEEDOR FOR ALBARANES_PROVEEDOR ACTIVE BEFORE INSERT POSITION 0 AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -/* Trigger: TRI_UPDATE_ALBARANES_PROVEEDOR */ -CREATE TRIGGER TRI_UPDATE_ALBARANES_PROVEEDOR FOR ALBARANES_PROVEEDOR -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - -CREATE TABLE ALBARANES_PROVEEDOR_DETALLES ( - ID TIPO_ID NOT NULL, - ID_ALBARAN TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD INTEGER, - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -ALTER TABLE ALBARANES_PROVEEDOR_DETALLES ADD CONSTRAINT PK_ALBARANES_PROVEEDOR_DETALLES PRIMARY KEY (ID); - -CREATE GENERATOR GEN_ALBARANES_PRO_DETALLES_ID; -SET GENERATOR GEN_ALBARANES_PRO_DETALLES_ID TO 1; - -/* Trigger: TRI_INSERT_ALBARANES_PRO_DET */ -CREATE TRIGGER TRI_INSERT_ALBARANES_PRO_DET FOR ALBARANES_PROVEEDOR_DETALLES ACTIVE BEFORE INSERT POSITION 0 AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -/* Trigger: TRI_UPDATE_ALBARANES_PRO_DET */ -CREATE TRIGGER TRI_UPDATE_ALBARANES_PRO_DET FOR ALBARANES_PROVEEDOR_DETALLES ACTIVE BEFORE UPDATE POSITION 0 AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - - - -CREATE TABLE REMESAS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - REFERENCIA VARCHAR(255), - FECHA_REMESA DATE, - IMPORTE_TOTAL TIPO_IMPORTE, - DESCRIPCION VARCHAR(255), - FECHA_ALTA DATE, - FECHA_MODIFICACION DATE, - USUARIO TIPO_USUARIO, - ID_DATOS_BANCO TIPO_ID -); -ALTER TABLE REMESAS_CLIENTE ADD CONSTRAINT PK_REMESAS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE REMESAS_CLIENTE ADD CONSTRAINT FK_REMESAS_CLIENTE FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); - -/* Trigger: TRI_INSERT_REMESAS_CLIENTE */ -CREATE TRIGGER TRI_INSERT_REMESAS_CLIENTE FOR REMESAS_CLIENTE -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -/* Trigger: TRI_UPDATE_REMESAS_CLI */ -CREATE TRIGGER TRI_UPDATE_REMESAS_CLI FOR REMESAS_CLIENTE -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - -CREATE GENERATOR GEN_REMESAS_CLIENTE_ID; -SET GENERATOR GEN_REMESAS_CLIENTE_ID TO 1; - -CREATE TABLE RECIBOS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_FACTURA TIPO_ID, - REFERENCIA VARCHAR(255), - FECHA_EMISION DATE, - FECHA_VENCIMIENTO DATE, - DESCRIPCION VARCHAR(255), - OBSERVACIONES VARCHAR(255), - IMPORTE TIPO_IMPORTE, - OTROS_GASTOS TIPO_IMPORTE, - FECHA_ALTA DATE, - FECHA_MODIFICACION DATE, - USUARIO TIPO_USUARIO, - ID_REMESA TIPO_ID -); -ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT PK_RECIBOS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE2 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL; - -/* Trigger: TRI_INSERT_RECIBOS_CLIENTE */ -CREATE TRIGGER TRI_INSERT_RECIBOS_CLIENTE FOR RECIBOS_CLIENTE -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -/* Trigger: TRI_UPDATE_RECIBOS_CLIENTE */ -CREATE TRIGGER TRI_UPDATE_RECIBOS_CLIENTE FOR RECIBOS_CLIENTE -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - -CREATE GENERATOR GEN_RECIBOS_CLIENTE_ID; -SET GENERATOR GEN_RECIBOS_CLIENTE_ID TO 1; - -CREATE TABLE PAGOS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_RECIBO TIPO_ID, - TIPO VARCHAR(255), - FECHA_PAGO DATE, - TITULAR VARCHAR(255), - ENTIDAD VARCHAR(15), - SUCURSAL VARCHAR(15), - DC VARCHAR(15), - CUENTA VARCHAR(15), - FECHA_ALTA DATE, - FECHA_MODIFICACION DATE, - USUARIO TIPO_USUARIO -); -ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT PK_PAGOS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT FK_PAGOS_CLIENTE FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_CLIENTE (ID); - -/* Trigger: TRI_INSERT_PAGOS_CLIENTE */ -CREATE TRIGGER TRI_INSERT_PAGOS_CLIENTE FOR PAGOS_CLIENTE -ACTIVE BEFORE INSERT POSITION 0 -AS -begin - NEW.FECHA_ALTA = current_timestamp; - NEW.FECHA_MODIFICACION = Null; -end; - -/* Trigger: TRI_UPDATE_PAGOS_CLIENTE */ -CREATE TRIGGER TRI_UPDATE_PAGOS_CLIENTE FOR PAGOS_CLIENTE -ACTIVE BEFORE UPDATE POSITION 0 -AS -begin - NEW.FECHA_MODIFICACION = current_timestamp; -end; - -CREATE GENERATOR GEN_PAGOS_CLIENTE_ID; -SET GENERATOR GEN_PAGOS_CLIENTE_ID TO 1; - -DECLARE EXTERNAL FUNCTION MOD - INTEGER, - INTEGER -RETURNS DOUBLE PRECISION BY VALUE -ENTRY_POINT 'IB_UDF_mod' MODULE_NAME 'ib_udf'; - - -CREATE TABLE MOVIMIENTOS ( - ID TIPO_ID NOT NULL, - ID_ALMACEN TIPO_ID, - ID_ARTICULO TIPO_ID, - FECHA_MOVIMIENTO DATE, - TIPO VARCHAR(1), - CANTIDAD INTEGER, - CAUSA TIPO_CONCEPTO -); -ALTER TABLE MOVIMIENTOS ADD CONSTRAINT PK_MOVIMIENTOS PRIMARY KEY (ID); -ALTER TABLE MOVIMIENTOS ADD CONSTRAINT FK_MOVIMIENTOS FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULOS (ID); -ALTER TABLE MOVIMIENTOS ADD CONSTRAINT FK_MOVIMIENTOS2 FOREIGN KEY (ID_ALMACEN) REFERENCES ALMACENES (ID); -CREATE INDEX MOVIMIENTOS_IDX1 ON MOVIMIENTOS (TIPO); - - - -/****************************************************************************/ -/* INSERTAR DATOS */ - -INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (1, 'CLIENTE'); -INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (2, 'PROVEEDOR'); -INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (3, 'AGENTE'); - -COMMIT; - - -INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA) VALUES('REF_FACTURAS_CLIENTE', '2007/001', 1); -COMMIT; \ No newline at end of file diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB index b68cf4e9..567f9ac6 100644 Binary files a/Database/FACTUGES.FDB and b/Database/FACTUGES.FDB differ diff --git a/Database/Anterior/SCRIPT para migración tecsitel.TXT b/Database/Migracion/SCRIPT para migración tecsitel.TXT similarity index 94% rename from Database/Anterior/SCRIPT para migración tecsitel.TXT rename to Database/Migracion/SCRIPT para migración tecsitel.TXT index c43427db..3e259389 100644 --- a/Database/Anterior/SCRIPT para migración tecsitel.TXT +++ b/Database/Migracion/SCRIPT para migración tecsitel.TXT @@ -113,10 +113,10 @@ from contactos; insert into proveedores_datos (ID_PROVEEDOR, ID_TIPO_IVA) -select CONTACTOS.ID, 2 +select CONTACTOS.ID, 1 from CONTACTOS left join contactos_categorias on contactos_categorias.id_contacto = contactos.id -where contactos_categorias.id_categoria = 2 +where contactos_categorias.id_categoria = 2; delete from proveedores_datos where proveedores_datos.id_proveedor in ( @@ -127,7 +127,6 @@ WHERE proveedores.CODIGOCLIENTE is not null); insert into proveedores_datos (ID_PROVEEDOR, ID_TIPO_IVA, CODIGO_ASIGNADO) - select CONTACTOS.ID, 2, proveedores.CODIGOCLIENTE from CONTACTOS left join proveedores on proveedores.codigo = contactos.referencia @@ -136,8 +135,7 @@ WHERE proveedores.CODIGOCLIENTE is not null; INSERT INTO CONTACTOS_DIRECCIONES (ID, ID_CONTACTO, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, PERSONA_CONTACTO, TELEFONO, MOVIL, FAX, EMAIL) - -//Insertamos la sucursales de los proveedores +/* Insertamos la sucursales de los proveedores */ select GEN_ID(GEN_CONTACTOS_DIR_ID, 1), contactos.id AS ID_CONTACTO, @@ -150,12 +148,11 @@ substr(sucursalesproveedor.TELEFONO1,1,25) AS TELEFONO, substr(sucursalesproveedor.TELEFONO2,1,25) AS MOVIL, substr(sucursalesproveedor.FAX,1,25) AS FAX, sucursalesproveedor.CORREO AS EMAIL - from sucursalesproveedor left join contactos on contactos.referencia = sucursalesproveedor.codigoproveedor left join contactos_categorias on contactos_categorias.id_contacto = contactos.id where contactos_categorias.id_categoria = 2 -and (COALESCE(sucursalesproveedor.CALLE,'') || ', ' || COALESCE(sucursalesproveedor.NUMERO,'') || ' ' || COALESCE(sucursalesproveedor.PISO,'')) <> ',' +and (COALESCE(sucursalesproveedor.CALLE,'') || ', ' || COALESCE(sucursalesproveedor.NUMERO,'') || ' ' || COALESCE(sucursalesproveedor.PISO,'')) <> ','; @@ -247,8 +244,8 @@ from clientes; //Establecemos el tipo de iva al 16 para todos los clientes insert into clientes_datos -(ID_CLIENTE, ID_TIPO_IVA) -select CONTACTOS.ID, 2 +(ID_CLIENTE, ID_TIPO_IVA, REGIMEN_IVA) +select CONTACTOS.ID, 1, 'General' from CONTACTOS left join contactos_categorias on contactos_categorias.id_contacto = contactos.id where contactos_categorias.id_categoria = 1; @@ -258,7 +255,6 @@ SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1; insert into contactos_datos_banco (ID, ID_contacto, titular) - select GEN_ID(GEN_CONTACTOS_DATOS_BANCO_ID, 1), CONTACTOS.ID, clientes.banco from CONTACTOS left join clientes on clientes.codigo = contactos.referencia @@ -288,7 +284,7 @@ from sucursalescliente left join contactos on contactos.referencia = sucursalescliente.codigocliente left join contactos_categorias on contactos_categorias.id_contacto = contactos.id where contactos_categorias.id_categoria = 1 -and (COALESCE(sucursalescliente.CALLE,'') || ', ' || COALESCE(sucursalescliente.NUMERO,'') || ' ' || COALESCE(sucursalescliente.PISO,'')) <> ',' +and (COALESCE(sucursalescliente.CALLE,'') || ', ' || COALESCE(sucursalescliente.NUMERO,'') || ' ' || COALESCE(sucursalescliente.PISO,'')) <> ','; drop table sucursalesproveedor; @@ -298,6 +294,6 @@ DROP TABLE CLIENTES; insert into empresas_contactos -(ID_empresa, ID_contacto) -select 1, id +(ID, ID_empresa, ID_contacto) +select GEN_ID(GEN_EMPRESAS_CONTACTOS_ID, 1), 1, id from contactos; \ No newline at end of file diff --git a/Database/RodaxSoftware.FactuGES.Database.proj b/Database/RodaxSoftware.FactuGES.Database.proj index 2bb1f7d8..8ebaaab5 100644 --- a/Database/RodaxSoftware.FactuGES.Database.proj +++ b/Database/RodaxSoftware.FactuGES.Database.proj @@ -6,13 +6,15 @@ - localhost - false - $(MSBuildProjectDirectory)\Scripts - $(MSBuildProjectDirectory)\..\Tools - $(MSBuildProjectDirectory)\..\Output - $(ToolsFolder)\ISQL\isql.exe - Debug + sysdba + masterkey + localhost + false + $(MSBuildProjectDirectory)\Scripts + $(MSBuildProjectDirectory)\..\Tools + $(MSBuildProjectDirectory)\..\Output + $(ToolsFolder)\ISQL\isql.exe + Debug diff --git a/Database/scripts/factuges_sysdata.sql b/Database/scripts/factuges_sysdata.sql index 2066b0f2..c2361ab5 100644 --- a/Database/scripts/factuges_sysdata.sql +++ b/Database/scripts/factuges_sysdata.sql @@ -22,24 +22,20 @@ SET GENERATOR GEN_INFORMES_ID TO 11; COMMIT WORK; -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (1, 1, 'REF_FACTURAS_CLIENTE', '00001', 'Ref. facturas de cliente'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (2, 1, 'REF_PEDIDOS_CLIENTE', '00001', 'Ref. pedidos de cliente'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (3, 1, 'REF_PEDIDOS_PROVEEDOR', '00003', 'Ref. pedidos de proveedor'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (4, 1, 'REF_ALBARANES_CLIENTE', '00004', 'Ref. albaranes de cliente'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (5, 1, 'REF_ALBARANES_PROVEEDOR', '00002', 'Ref. albaranes de proveedor'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (6, 1, 'REF_REMESAS_CLIENTE', '00001', 'Ref. remesas de cliente'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (7, 1, 'REF_COMISIONES', '00001', 'Ref. liquidaciones de comision'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (8, 1, 'REF_FACTURAS_PROVEEDOR', '00001', 'Ref. facturas de proveedor'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (9, 1, 'REF_ALBARANES_DEV_CLIENTE', '00001', 'Ref. ordenes de devolucion de cliente'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (10, 1, 'REF_ALBARANES_DEV_PROVEEDOR', '00001', 'Ref. ordenes de devolucion de proveedor'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (11, 1, 'REF_REMESAS_PROVEEDOR', '00001', 'Ref. remesas de proveedor'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (12, 1, 'REF_ABONOS_CLIENTE', '00001', 'Ref. abonos de cliente'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (13, 1, 'REF_ABONOS_PROVEEDOR', '00001', 'Ref. abonos de proveedor'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (14, 1, 'REF_PRESUPUESTOS_CLIENTE', '000004', 'Ref. presupuestos de cliente'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (15, NULL, 'REF_CLIENTES', '00001', 'Ref. clientes'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (16, NULL, 'REF_PROVEEDORES', '00001', 'Ref. proveedores'); -INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (17, NULL, 'REF_EMPLEADOS', '000001', 'Ref. empleados'); -SET GENERATOR GEN_REFERENCIAS_ID TO 18; +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (1, 1, 'REF_FACTURAS_CLIENTE', 'FAC08/000001', 'Ref. facturas de cliente'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (2, 1, 'REF_PEDIDOS_PROVEEDOR', 'PED08/000001', 'Ref. pedidos de proveedor'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (3, 1, 'REF_ALBARANES_CLIENTE', 'ALB08/000001', 'Ref. albaranes de cliente'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (4, 1, 'REF_ALBARANES_PROVEEDOR', 'ALP08/000001', 'Ref. albaranes de proveedor'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (5, 1, 'REF_REMESAS_CLIENTE', 'REM08/000001', 'Ref. remesas de cliente'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (6, 1, 'REF_FACTURAS_PROVEEDOR', 'FAP08/000001', 'Ref. facturas de proveedor'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (7, 1, 'REF_ALBARANES_DEV_CLIENTE', 'DEV08/000001', 'Ref. ordenes de devolucion de cliente'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (8, 1, 'REF_ALBARANES_DEV_PROVEEDOR', 'DEP08/000001', 'Ref. ordenes de devolucion de proveedor'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (9, 1, 'REF_REMESAS_PROVEEDOR', 'REP08/000001', 'Ref. remesas de proveedor'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (10, 1, 'REF_PRESUPUESTOS_CLIENTE', 'PRE08/000001', 'Ref. presupuestos de cliente'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (11, NULL, 'REF_CLIENTES', '0000000001', 'Ref. clientes'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (12, NULL, 'REF_PROVEEDORES', '0000000001', 'Ref. proveedores'); +INSERT INTO REFERENCIAS (ID, ID_EMPRESA, CODIGO, VALOR, DESCRIPCION) VALUES (13, NULL, 'REF_EMPLEADOS', '00001', 'Ref. empleados'); +SET GENERATOR GEN_REFERENCIAS_ID TO 14; COMMIT WORK; INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (1, 'IVA16', 'IVA16', 16, 4);