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);