From 08930066fb253d729f15f069d7e971a87545cf5d Mon Sep 17 00:00:00 2001 From: roberto Date: Fri, 20 Aug 2010 08:08:02 +0000 Subject: [PATCH] git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@46 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2 --- Database/scripts/factuges.sql.bak | 4050 ----------------------------- 1 file changed, 4050 deletions(-) delete mode 100644 Database/scripts/factuges.sql.bak diff --git a/Database/scripts/factuges.sql.bak b/Database/scripts/factuges.sql.bak deleted file mode 100644 index b949fb0..0000000 --- a/Database/scripts/factuges.sql.bak +++ /dev/null @@ -1,4050 +0,0 @@ -/******************************************************************************/ -/**** Generated by IBExpert 2007.05.03 23/09/2008 10:55:38 ****/ -/******************************************************************************/ - -SET SQL DIALECT 3; - -SET NAMES ISO8859_1; - -CREATE DATABASE 'FACTUGES.FDB' PAGE_SIZE 4096 -DEFAULT CHARACTER SET ISO8859_1; - -/******************************************************************************/ -/**** User Defined Functions ****/ -/******************************************************************************/ - -DECLARE EXTERNAL FUNCTION F_RTFTOTEXT - CString(32767) - RETURNS CString(32767) - ENTRY_POINT 'RtfToText' MODULE_NAME 'udf_RtfToText.dll'; - -DECLARE EXTERNAL FUNCTION "MOD" - INTEGER, - INTEGER - RETURNS DOUBLE PRECISION BY VALUE - ENTRY_POINT 'IB_UDF_mod' MODULE_NAME 'ib_udf'; - - -DECLARE EXTERNAL FUNCTION STRLEN - CSTRING(254) - RETURNS INTEGER BY VALUE - ENTRY_POINT 'IB_UDF_strlen' MODULE_NAME 'ib_udf'; - - -DECLARE EXTERNAL FUNCTION SUBSTR - CSTRING(254), - SMALLINT, - SMALLINT - RETURNS CSTRING(254) FREE_IT - ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf'; - - - - -/******************************************************************************/ -/**** Domains ****/ -/******************************************************************************/ - -CREATE DOMAIN TIPO_BINARIO AS -BLOB SUB_TYPE 0 SEGMENT SIZE 80; - -CREATE DOMAIN TIPO_BOOLEANO AS -SMALLINT; - -CREATE DOMAIN TIPO_CANTIDAD AS -NUMERIC(11,2); - -CREATE DOMAIN TIPO_CONCEPTO AS -VARCHAR(2000); - -CREATE DOMAIN TIPO_ID AS -INTEGER; - -CREATE DOMAIN TIPO_IMPORTE AS -NUMERIC(11,2); - -CREATE DOMAIN TIPO_NOTAS AS -BLOB SUB_TYPE 1 SEGMENT SIZE 80; - -CREATE DOMAIN TIPO_PERFIL AS -VARCHAR(15); - -CREATE DOMAIN TIPO_PORCENTAJE AS -FLOAT; - -CREATE DOMAIN TIPO_USUARIO AS -VARCHAR(30); - -/******************************************************************************/ -/**** Generators ****/ -/******************************************************************************/ - -CREATE GENERATOR GEN_AGENTES_COMISIONES_ID; -SET GENERATOR GEN_AGENTES_COMISIONES_ID TO 1; - -CREATE GENERATOR GEN_ALBARANES_CLI_DETALLES_ID; -SET GENERATOR GEN_ALBARANES_CLI_DETALLES_ID TO 1; - -CREATE GENERATOR GEN_ALBARANES_CLI_ID; -SET GENERATOR GEN_ALBARANES_CLI_ID TO 1; - -CREATE GENERATOR GEN_ALBARANES_PRO_DETALLES_ID; -SET GENERATOR GEN_ALBARANES_PRO_DETALLES_ID TO 1; - -CREATE GENERATOR GEN_ALBARANES_PRO_ID; -SET GENERATOR GEN_ALBARANES_PRO_ID TO 1; - -CREATE GENERATOR GEN_ALMACENES_ID; -SET GENERATOR GEN_ALMACENES_ID TO 1; - -CREATE GENERATOR GEN_ARTICULOS_ID; -SET GENERATOR GEN_ARTICULOS_ID TO 1; - -CREATE GENERATOR GEN_ARTICULOS_PROVEEDORES_ID; -SET GENERATOR GEN_ARTICULOS_PROVEEDORES_ID TO 1; - -CREATE GENERATOR GEN_CATEGORIAS_ID; -SET GENERATOR GEN_CATEGORIAS_ID TO 1; - -CREATE GENERATOR GEN_CLIENTES_DTOS_PROV_ID; -SET GENERATOR GEN_CLIENTES_DTOS_PROV_ID TO 1; - -CREATE GENERATOR GEN_CLIENTES_GRUPOS_ID; -SET GENERATOR GEN_CLIENTES_GRUPOS_ID TO 1; - -CREATE GENERATOR GEN_COMISIONES_LIQUID_ID; -SET GENERATOR GEN_COMISIONES_LIQUID_ID TO 1; - -CREATE GENERATOR GEN_CONFIGURACION_ID; -SET GENERATOR GEN_CONFIGURACION_ID TO 1; - -CREATE GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID; -SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1; - -CREATE GENERATOR GEN_CONTACTOS_DIR_ID; -SET GENERATOR GEN_CONTACTOS_DIR_ID TO 1; - -CREATE GENERATOR GEN_CONTACTOS_ID; -SET GENERATOR GEN_CONTACTOS_ID TO 1; - -CREATE GENERATOR GEN_CONTACTOS_PERSONAL_ID; -SET GENERATOR GEN_CONTACTOS_PERSONAL_ID TO 1; - -CREATE GENERATOR GEN_EMPLEADOS_GRUPOS_ID; -SET GENERATOR GEN_EMPLEADOS_GRUPOS_ID TO 1; - -CREATE GENERATOR GEN_EMPRESAS_CONTACTOS_ID; -SET GENERATOR GEN_EMPRESAS_CONTACTOS_ID TO 1; - -CREATE GENERATOR GEN_EMPRESAS_DATOS_BANCO_ID; -SET GENERATOR GEN_EMPRESAS_DATOS_BANCO_ID TO 1; - -CREATE GENERATOR GEN_EMPRESAS_ID; -SET GENERATOR GEN_EMPRESAS_ID TO 1; - -CREATE GENERATOR GEN_EMPRESAS_USUARIOS_ID; -SET GENERATOR GEN_EMPRESAS_USUARIOS_ID TO 1; - -CREATE GENERATOR GEN_FABRICANTES_ID; -SET GENERATOR GEN_FABRICANTES_ID TO 1; - -CREATE GENERATOR GEN_FACTURAS_CLIENTE_ID; -SET GENERATOR GEN_FACTURAS_CLIENTE_ID TO 1; - -CREATE GENERATOR GEN_FACTURAS_PROVEEDOR_ID; -SET GENERATOR GEN_FACTURAS_PROVEEDOR_ID TO 1; - -CREATE GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID; -SET GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID TO 1; - -CREATE GENERATOR GEN_FACTURA_PROV_DETALLES_ID; -SET GENERATOR GEN_FACTURA_PROV_DETALLES_ID TO 1; - -CREATE GENERATOR GEN_FAMILIAS_ID; -SET GENERATOR GEN_FAMILIAS_ID TO 1; - -CREATE GENERATOR GEN_FORMAS_PAGO_ID; -SET GENERATOR GEN_FORMAS_PAGO_ID TO 1; - -CREATE GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID; -SET GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID TO 1; - -CREATE GENERATOR GEN_INFORMES_ID; -SET GENERATOR GEN_INFORMES_ID TO 1; - -CREATE GENERATOR GEN_MOVIMIENTOS_ID; -SET GENERATOR GEN_MOVIMIENTOS_ID TO 1; - -CREATE GENERATOR GEN_OBRAS_EJECUCIONES_ID; -SET GENERATOR GEN_OBRAS_EJECUCIONES_ID TO 1; - -CREATE GENERATOR GEN_OBRAS_EJEC_PRESUPUESTOS_ID; -SET GENERATOR GEN_OBRAS_EJEC_PRESUPUESTOS_ID TO 1; - -CREATE GENERATOR GEN_OBRAS_EJEC_PEDIDOS_PROV_ID; -SET GENERATOR GEN_OBRAS_EJEC_PEDIDOS_PROV_ID TO 1; - -CREATE GENERATOR GEN_PAGOS_CLIENTE_ID; -SET GENERATOR GEN_PAGOS_CLIENTE_ID TO 1; - -CREATE GENERATOR GEN_PAGOS_PROVEEDOR_ID; -SET GENERATOR GEN_PAGOS_PROVEEDOR_ID TO 1; - -CREATE GENERATOR GEN_PEDIDOS_CLI_DETALLES_ID; -SET GENERATOR GEN_PEDIDOS_CLI_DETALLES_ID TO 1; - -CREATE GENERATOR GEN_PEDIDOS_CLI_ID; -SET GENERATOR GEN_PEDIDOS_CLI_ID TO 1; - -CREATE GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID; -SET GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID TO 1; - -CREATE GENERATOR GEN_PEDIDOS_PROV_ID; -SET GENERATOR GEN_PEDIDOS_PROV_ID TO 1; - -CREATE GENERATOR GEN_PEDIDOS_PROV_PEDIDOS_ID; -SET GENERATOR GEN_PEDIDOS_PROV_PEDIDOS_ID TO 1; - -CREATE GENERATOR GEN_PERMISOSEX_ID; -SET GENERATOR GEN_PERMISOSEX_ID TO 1; - -CREATE GENERATOR GEN_PERMISOS_ID; -SET GENERATOR GEN_PERMISOS_ID TO 1; - -CREATE GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID; -SET GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID TO 1; - -CREATE GENERATOR GEN_PRESUPUESTOS_CLI_ID; -SET GENERATOR GEN_PRESUPUESTOS_CLI_ID TO 1; - -CREATE GENERATOR GEN_PROVEEDORES_GRUPOS_ID; -SET GENERATOR GEN_PROVEEDORES_GRUPOS_ID TO 1; - -CREATE GENERATOR GEN_RECIBOS_CLIENTE_ID; -SET GENERATOR GEN_RECIBOS_CLIENTE_ID TO 1; - -CREATE GENERATOR GEN_RECIBOS_PROVEEDOR_ID; -SET GENERATOR GEN_RECIBOS_PROVEEDOR_ID TO 1; - -CREATE GENERATOR GEN_REFERENCIAS_ID; -SET GENERATOR GEN_REFERENCIAS_ID TO 1; - -CREATE GENERATOR GEN_REMESAS_CLIENTE_ID; -SET GENERATOR GEN_REMESAS_CLIENTE_ID TO 1; - -CREATE GENERATOR GEN_REMESAS_PROVEEDOR_ID; -SET GENERATOR GEN_REMESAS_PROVEEDOR_ID TO 1; - -CREATE GENERATOR GEN_TIENDA_WEB_ID; -SET GENERATOR GEN_TIENDA_WEB_ID TO 1; - -CREATE GENERATOR GEN_TIPOS_IVA_ID; -SET GENERATOR GEN_TIPOS_IVA_ID TO 1; - -CREATE GENERATOR GEN_UNIDADES_MEDIDA_ID; -SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 1; - -CREATE GENERATOR GEN_USUARIOS_ID; -SET GENERATOR GEN_USUARIOS_ID TO 1; - - - -/******************************************************************************/ -/**** Tables ****/ -/******************************************************************************/ - - - -CREATE TABLE AGENTES_COMISIONES ( - ID TIPO_ID NOT NULL, - ID_AGENTE TIPO_ID DEFAULT 0 NOT NULL, - ID_PROVEEDOR SMALLINT DEFAULT 0 NOT NULL, - COMISION TIPO_PORCENTAJE DEFAULT 0 -); - -CREATE TABLE ALBARANES_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_CLIENTE TIPO_ID, - FECHA_ALBARAN DATE, - ID_ALMACEN TIPO_ID, - ID_PEDIDO TIPO_ID, - ID_FACTURA TIPO_ID, - TIPO VARCHAR(1), - REFERENCIA VARCHAR(255), - ID_DIRECCION TIPO_ID, - CALLE VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255), - TELEFONO VARCHAR(25), - IMPORTE_NETO TIPO_IMPORTE, - IMPORTE_PORTE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - BASE_IMPONIBLE TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - OBSERVACIONES TIPO_NOTAS, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - ID_FORMA_PAGO TIPO_ID, - FECHA_ENVIO DATE, - FECHA_RECEPCION DATE, - FECHA_PREVISTA_ENVIO DATE, - REFERENCIA_CLIENTE VARCHAR(255), - ID_ALBARAN_DEV TIPO_ID -); - -CREATE TABLE ALBARANES_CLIENTE_DETALLES ( - ID TIPO_ID NOT NULL, - ID_ALBARAN TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD TIPO_CANTIDAD, - UNIDAD_MEDIDA VARCHAR(255), - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_PORTE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - ID_PEDIDO TIPO_ID -); - -CREATE TABLE ALBARANES_PROVEEDOR ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_PROVEEDOR TIPO_ID, - ID_DIRECCION TIPO_ID, - PERSONA_CONTACTO_PROV VARCHAR(255), - FECHA_ALBARAN DATE, - ID_PEDIDO TIPO_ID, - ID_FACTURA TIPO_ID, - TIPO VARCHAR(1), - 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, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - ID_ALMACEN TIPO_ID, - ID_FORMA_PAGO TIPO_ID, - IMPORTE_NETO TIPO_IMPORTE, - IMPORTE_PORTE TIPO_IMPORTE, - REFERENCIA_PROVEEDOR VARCHAR(255), - REF_FACTURA_PROV VARCHAR(255), - ID_ALBARAN TIPO_ID, - ID_ALBARAN_DEV TIPO_ID -); - -CREATE TABLE ALBARANES_PROVEEDOR_DETALLES ( - ID TIPO_ID NOT NULL, - ID_ALBARAN TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD TIPO_CANTIDAD, - UNIDAD_MEDIDA VARCHAR(255), - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_PORTE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - ID_PEDIDO TIPO_ID -); - -CREATE TABLE ALMACENES ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID NOT NULL, - TIPO_ALMACEN VARCHAR(10), - 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 -); - -CREATE TABLE ARTICULOS ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - REFERENCIA VARCHAR(255), - DESCRIPCION VARCHAR(255), - FAMILIA VARCHAR(255), - UNIDAD_MEDIDA 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, - TIENDA_WEB TIPO_BOOLEANO DEFAULT 0, - FABRICANTE VARCHAR(255), - REFERENCIA_FABR VARCHAR(255), - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - INVENTARIABLE TIPO_BOOLEANO, - ELIMINADO TIPO_BOOLEANO, - PARAM_MARGEN FLOAT, - TIEMPO INTEGER, - PARAM_TIEMPO FLOAT, - MANO_OBRA TIPO_IMPORTE -); - -CREATE TABLE ARTICULOS_PROVEEDORES ( - ID TIPO_ID NOT NULL, - ID_ARTICULO TIPO_ID, - ID_PROVEEDOR TIPO_ID, - REFERENCIA_PROV VARCHAR(255), - PRECIO_COSTE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - PRECIO_NETO TIPO_IMPORTE, - PRECIO_PORTE TIPO_IMPORTE, - PRECIO_PVP_VENTA TIPO_IMPORTE, - PRECIO_PVP_TOTAL TIPO_IMPORTE -); - -CREATE TABLE CATEGORIAS ( - ID TIPO_ID NOT NULL, - CATEGORIA VARCHAR(255) NOT NULL -); - -CREATE TABLE CLIENTES_DATOS ( - ID_CLIENTE TIPO_ID NOT NULL, - ID_AGENTE TIPO_ID, - GRUPO_CLIENTE VARCHAR(255), - NOMBRE_COMERCIAL VARCHAR(255), - VENCIMIENTO_FACTURAS INTEGER, - BLOQUEADO TIPO_BOOLEANO DEFAULT 0 NOT NULL, - REGIMEN_IVA VARCHAR(255), - MOTIVO_BLOQUEO VARCHAR(255), - RECARGO_EQUIVALENCIA TIPO_BOOLEANO, - ID_TIPO_IVA TIPO_ID, - ID_FORMA_PAGO TIPO_ID, - TIENDA_WEB TIPO_BOOLEANO, - DESCUENTO TIPO_PORCENTAJE, - RAPEL SMALLINT, - EMAIL_ADMINISTRACION VARCHAR(255), - CODIGO_ASIGNADO VARCHAR(255), - VENCIMIENTO_FACTURAS_1 SMALLINT, - VENCIMIENTO_FACTURAS_2 SMALLINT, - VENCIMIENTO_FACTURAS_3 SMALLINT, - FELICITACION TIPO_BOOLEANO -); - -CREATE TABLE CLIENTES_DTOS_PROVEEDORES ( - ID TIPO_ID NOT NULL, - ID_CLIENTE TIPO_ID DEFAULT 0 NOT NULL, - ID_PROVEEDOR SMALLINT DEFAULT 0 NOT NULL, - DESCUENTO TIPO_PORCENTAJE DEFAULT 0 -); - -CREATE TABLE CLIENTES_GRUPOS ( - ID TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) -); - -CREATE TABLE COMISIONES_LIQUIDADAS ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - REFERENCIA VARCHAR(255), - ID_AGENTE TIPO_ID, - DESCRIPCION VARCHAR(255), - FECHA DATE, - IMPORTE_TOTAL TIPO_IMPORTE, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO -); - -CREATE TABLE CONFIGURACION ( - ID TIPO_ID NOT NULL, - CODIGO VARCHAR(50) NOT NULL, - VALOR VARCHAR(255) NOT NULL, - ID_EMPRESA TIPO_ID -); - -CREATE TABLE CONTACTOS ( - ID TIPO_ID NOT NULL, - 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, - REFERENCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255) -); - -CREATE TABLE CONTACTOS_CATEGORIAS ( - ID_CONTACTO TIPO_ID NOT NULL, - ID_CATEGORIA TIPO_ID NOT NULL -); - -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), - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE CONTACTOS_DATOS_PERSONAL ( - ID TIPO_ID NOT NULL, - ID_CONTACTO TIPO_ID NOT NULL, - NOMBRE VARCHAR(255), - PUESTO VARCHAR(255), - TELEFONO VARCHAR(25), - MOVIL VARCHAR(25), - FAX VARCHAR(25), - EMAIL VARCHAR(255), - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -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), - NOMBRE VARCHAR(255), - TELEFONO VARCHAR(25), - MOVIL VARCHAR(25), - FAX VARCHAR(25), - EMAIL VARCHAR(255), - NOTAS TIPO_NOTAS, - PORTE TIPO_IMPORTE, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE EMPLEADOS_DATOS ( - ID_EMPLEADO TIPO_ID NOT NULL, - FECHA_NACIMIENTO DATE, - CATEGORIA VARCHAR(255), - FECHA_ALTA_EMPRESA DATE, - FORMACION_BASE TIPO_NOTAS, - FORMACION_COMPLE TIPO_NOTAS, - FORMACION_RECIBIDA TIPO_NOTAS, - EXPERIENCIA TIPO_NOTAS, - CONTRATO VARCHAR(255), - DURACION VARCHAR(255), - FECHA_BAJA DATE, - CAUSA_BAJA VARCHAR(255) -); - -CREATE TABLE AGENTES_DATOS ( - ID_AGENTE TIPO_ID NOT NULL, - FECHA_ALTA_EMPRESA DATE, - FECHA_BAJA DATE, - CAUSA_BAJA VARCHAR(255) -); - -CREATE TABLE EMPLEADOS_GRUPOS ( - ID TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) -); - -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), - PARAM_TIEMPO TIPO_IMPORTE, - PARAM_MARGEN TIPO_PORCENTAJE, - ID_TIPO_IVA SMALLINT, - ID_FORMA_PAGO SMALLINT, - ID_ALMACEN SMALLINT -); - -CREATE TABLE EMPRESAS_CONTACTOS ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID NOT NULL, - ID_CONTACTO TIPO_ID NOT NULL -); - -CREATE TABLE EMPRESAS_DATOS_BANCO ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID NOT NULL, - NOMBRE VARCHAR(255), - ENTIDAD VARCHAR(15), - SUCURSAL VARCHAR(15), - DC VARCHAR(15), - CUENTA VARCHAR(15), - SUFIJO_N19 VARCHAR(3), - SUFIJO_N58 VARCHAR(3), - IBAN VARCHAR(255) COLLATE ES_ES, - SWIFT VARCHAR(255) COLLATE ES_ES -); - -CREATE TABLE EMPRESAS_USUARIOS ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID NOT NULL, - ID_USUARIO TIPO_ID NOT NULL -); - -CREATE TABLE FABRICANTES ( - ID TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) -); - -CREATE TABLE FACTURAS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - REFERENCIA VARCHAR(255), - FECHA_FACTURA DATE, - FECHA_VENCIMIENTO DATE, - FECHA_RETENCION DATE, - BASE_IMPONIBLE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - DESCRIPCION_DESCUENTO VARCHAR(255) COLLATE ES_ES, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - RE TIPO_PORCENTAJE, - IMPORTE_RE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - OBSERVACIONES TIPO_NOTAS, - ID_CLIENTE TIPO_ID, - NIF_CIF VARCHAR(15), - NOMBRE VARCHAR(255), - ID_DIRECCION TIPO_ID, - CALLE VARCHAR(255), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - ID_FORMA_PAGO TIPO_ID, - IMPORTE_NETO TIPO_IMPORTE, - IMPORTE_PORTE TIPO_IMPORTE, - ID_TIPO_IVA TIPO_ID, - RECARGO_EQUIVALENCIA TIPO_BOOLEANO, - ID_COMISION_LIQUIDADA TIPO_ID, - DATOS_BANCARIOS VARCHAR(255), - CLIENTE_FINAL VARCHAR(255), - RETENCION TIPO_PORCENTAJE, - IMPORTE_RETENCION TIPO_IMPORTE -); - -CREATE TABLE FACTURAS_CLIENTE_DETALLES ( - ID TIPO_ID NOT NULL, - ID_FACTURA TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD TIPO_CANTIDAD, - UNIDAD_MEDIDA VARCHAR(255), - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_PORTE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE FACTURAS_PROVEEDOR ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - REFERENCIA VARCHAR(255), - REFERENCIA_PROVEEDOR VARCHAR(255), - FECHA_FACTURA DATE, - BASE_IMPONIBLE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - RE TIPO_PORCENTAJE, - IMPORTE_RE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - OBSERVACIONES TIPO_NOTAS, - ID_PROVEEDOR 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, - ID_FORMA_PAGO TIPO_ID, - IMPORTE_NETO TIPO_IMPORTE, - IMPORTE_PORTE TIPO_IMPORTE, - ID_TIPO_IVA TIPO_ID, - RECARGO_EQUIVALENCIA TIPO_BOOLEANO, - DATOS_BANCARIOS VARCHAR(255), - FECHA_VENCIMIENTO DATE -); - -CREATE TABLE FACTURAS_PROVEEDOR_DETALLES ( - ID TIPO_ID NOT NULL, - ID_FACTURA TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD TIPO_CANTIDAD, - UNIDAD_MEDIDA VARCHAR(255), - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_PORTE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE FACTURAS_PROVEEDOR_PEDIDOS ( - ID TIPO_ID NOT NULL, - ID_FACTURA TIPO_ID NOT NULL, - ID_PEDIDO TIPO_ID, - IMPORTE_TOTAL TIPO_IMPORTE, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE FAMILIAS ( - ID TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) -); - -CREATE TABLE FORMAS_PAGO ( - ID TIPO_ID NOT NULL, - REFERENCIA VARCHAR(255), - DESCRIPCION VARCHAR(255), - TITULAR VARCHAR(255), - ENTIDAD VARCHAR(15), - SUCURSAL VARCHAR(15), - DC VARCHAR(15), - CUENTA VARCHAR(15) -); - -CREATE TABLE FORMAS_PAGO_PLAZOS ( - ID TIPO_ID NOT NULL, - ID_FORMA_PAGO TIPO_ID NOT NULL, - NUM_DIAS SMALLINT, - PORCENTAJE TIPO_PORCENTAJE -); - -CREATE TABLE INFORMES ( - ID SMALLINT NOT NULL, - ID_EMPRESA TIPO_ID, - CATEGORIA VARCHAR(30), - CONTROLLER VARCHAR(255), - ICONO SMALLINT, - NOMBRE VARCHAR(50), - DESCRIPCION VARCHAR(255), - ORDEN SMALLINT, - MODIFICABLE CHAR(1), - VISTA BLOB SUB_TYPE 2 SEGMENT SIZE 4096, - TIPO_AGRUPACION TIPO_ID -); - -CREATE TABLE MOVIMIENTOS ( - ID TIPO_ID NOT NULL, - ID_ALMACEN TIPO_ID, - ID_ARTICULO TIPO_ID, - FECHA_MOVIMIENTO DATE, - TIPO VARCHAR(1), - CANTIDAD TIPO_CANTIDAD, - CAUSA TIPO_CONCEPTO, - ID_ALMACEN_RESERVA TIPO_ID -); - -CREATE TABLE OBRAS_DATOS ( - ID_ALMACEN TIPO_ID NOT NULL, - ID_CLIENTE TIPO_ID -); - -CREATE TABLE OBRAS_EJECUCIONES ( - ID TIPO_ID NOT NULL, - ID_OBRA TIPO_ID, - FECHA_INICIO DATE, - FECHA_FIN DATE, - ID_SUBCONTRATA TIPO_ID, - OBSERVACIONES TIPO_NOTAS, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE OBRAS_EJECUCIONES_PRESUPUESTOS ( - ID TIPO_ID NOT NULL, - ID_EJECUCION TIPO_ID, - ID_PRESUPUESTO TIPO_ID -); - -CREATE TABLE OBRAS_EJECUCIONES_PEDIDOS_PROV ( - ID TIPO_ID NOT NULL, - ID_EJECUCION TIPO_ID, - ID_PEDIDO TIPO_ID, - ID_PRESUPUESTO TIPO_ID -); - - -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 -); - -CREATE TABLE PAGOS_PROVEEDOR ( - 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 -); - -CREATE TABLE PEDIDOS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_CLIENTE TIPO_ID, - REFERENCIA VARCHAR(255), - FECHA_PEDIDO DATE, - CALLE VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255), - TELEFONO VARCHAR(25), - OBSERVACIONES TIPO_NOTAS, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - IMPORTE_NETO TIPO_IMPORTE, - IMPORTE_PORTE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - BASE_IMPONIBLE TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - ID_FORMA_PAGO TIPO_ID, - REF_TIENDA_WEB INTEGER, - FECHA_PREVISTA_ENVIO DATE, - REFERENCIA_CLIENTE VARCHAR(255) -); - -CREATE TABLE PEDIDOS_CLIENTE_DETALLES ( - ID TIPO_ID NOT NULL, - ID_PEDIDO TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD TIPO_CANTIDAD, - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_PORTE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE PEDIDOS_PROVEEDOR ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_PROVEEDOR TIPO_ID, - ID_DIRECCION TIPO_ID, - PERSONA_CONTACTO_PROV VARCHAR(255), - REFERENCIA VARCHAR(255), - FECHA_PEDIDO DATE, - FECHA_CONFIRMACION DATE, - FECHA_ENTREGA DATE, - ID_ALMACEN TIPO_ID, - ID_OBRA TIPO_ID, - OBSERVACIONES TIPO_NOTAS, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - CALLE VARCHAR(255), - CODIGO_POSTAL VARCHAR(10), - POBLACION VARCHAR(255), - PROVINCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255), - TELEFONO VARCHAR(25), - ID_PEDIDO_CLIENTE TIPO_ID, - IMPORTE_NETO TIPO_IMPORTE, - IMPORTE_PORTE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - BASE_IMPONIBLE TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - ID_FORMA_PAGO TIPO_ID, - FECHA_ENVIO DATE, - ID_FACTURA TIPO_ID, - REF_FACTURA_PROV VARCHAR(255) COLLATE ES_ES -); - -CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES ( - ID TIPO_ID NOT NULL, - ID_PEDIDO TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD TIPO_CANTIDAD, - UNIDAD_MEDIDA VARCHAR(255), - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_PORTE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE PERMISOS ( - ID TIPO_ID NOT NULL, - ID_USUARIO TIPO_ID, - MODULO VARCHAR(50), - NOMBRECOMP VARCHAR(50), - CHECKSUM VARCHAR(250) -); - -CREATE TABLE PERMISOSEX ( - ID TIPO_ID NOT NULL, - ID_USUARIO TIPO_ID, - MODULO VARCHAR(50), - NOMBRECOMP VARCHAR(50), - NOMBREFORM VARCHAR(50), - CHECKSUM VARCHAR(250) -); - -CREATE TABLE POBLACIONES ( - ID TIPO_ID NOT NULL, - ID_PROVINCIA TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) NOT NULL -); - -CREATE TABLE PRESUPUESTOS_CLIENTE ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - ID_CLIENTE TIPO_ID, - REFERENCIA VARCHAR(255), - REFERENCIA_AUX VARCHAR(255), - FECHA_PRESUPUESTO DATE, - FECHA_DECISION DATE, - SITUACION VARCHAR(255), - PORTADA TIPO_NOTAS, - MEMORIA TIPO_NOTAS, - OBSERVACIONES TIPO_NOTAS, - INCIDENCIAS TIPO_NOTAS, - INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP, - USUARIO TIPO_USUARIO, - IMPORTE_NETO TIPO_IMPORTE, - IMPORTE_PORTE TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_DESCUENTO TIPO_IMPORTE, - BASE_IMPONIBLE TIPO_IMPORTE, - IVA TIPO_PORCENTAJE, - IMPORTE_IVA TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - ID_FORMA_PAGO TIPO_ID, - REFERENCIA_CLIENTE VARCHAR(255), - CLIENTE_FINAL VARCHAR(255), - ID_FACTURA TIPO_ID, - PERSONA_CONTACTO VARCHAR(255), - ID_DIRECCION TIPO_ID, - DESCRIPCION_BONIFICACION VARCHAR(255) COLLATE ES_ES, - IMPORTE_BONIFICACION TIPO_IMPORTE -); - -CREATE TABLE PRESUPUESTOS_CLIENTE_DETALLES ( - ID TIPO_ID NOT NULL, - ID_PRESUPUESTO TIPO_ID NOT NULL, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_ARTICULO TIPO_ID, - CONCEPTO TIPO_CONCEPTO, - CANTIDAD TIPO_CANTIDAD, - UNIDAD_MEDIDA VARCHAR(255), - IMPORTE_UNIDAD TIPO_IMPORTE, - DESCUENTO TIPO_PORCENTAJE, - IMPORTE_PORTE TIPO_IMPORTE, - IMPORTE_TOTAL TIPO_IMPORTE, - VISIBLE TIPO_BOOLEANO, - FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP -); - -CREATE TABLE PROVEEDORES_DATOS ( - ID_PROVEEDOR TIPO_ID NOT NULL, - DESCUENTO TIPO_PORCENTAJE, - REGIMEN_IVA VARCHAR(255), - ID_TIPO_IVA TIPO_ID, - ID_FORMA_PAGO TIPO_ID, - TIENDA_WEB TIPO_BOOLEANO, - EMAIL_ADMINISTRACION VARCHAR(255), - GRUPO_PROVEEDOR VARCHAR(255), - DESCRIPCION_PROVEEDOR VARCHAR(255), - CODIGO_ASIGNADO VARCHAR(255), - CERTIFICACION VARCHAR(255), - HOMOLOGADO SMALLINT, - SUBCONTRATA TIPO_BOOLEANO, - VENCIMIENTO_FACTURAS_1 SMALLINT, - VENCIMIENTO_FACTURAS_2 SMALLINT, - VENCIMIENTO_FACTURAS_3 SMALLINT -); - -CREATE TABLE PROVEEDORES_GRUPOS ( - ID TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) -); - -CREATE TABLE PROVINCIAS ( - ID TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) NOT NULL -); - -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, - ID_RECIBO_COMPENSADO INTEGER -); - -CREATE TABLE RECIBOS_PROVEEDOR ( - ID TIPO_ID NOT NULL, - ID_FACTURA TIPO_ID, - REFERENCIA VARCHAR(255), - REFERENCIA_PROVEEDOR 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, - ID_RECIBO_COMPENSADO INTEGER -); - -CREATE TABLE REFERENCIAS ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID, - CODIGO VARCHAR(50) NOT NULL, - VALOR VARCHAR(255) NOT NULL, - DESCRIPCION VARCHAR(255) -); - -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, - TIPO VARCHAR(40) -); - -CREATE TABLE REMESAS_PROVEEDOR ( - 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, - TIPO VARCHAR(40) -); - -CREATE TABLE TIENDA_WEB ( - ID TIPO_ID NOT NULL, - ID_EMPRESA TIPO_ID NOT NULL, - TIENDA_ACTIVA TIPO_BOOLEANO DEFAULT 0 NOT NULL, - ULTIMA_ACTUALIZACION TIMESTAMP, - BDSERVER VARCHAR(255), - BDPORT VARCHAR(20), - BDNAME VARCHAR(255), - BDUSER VARCHAR(255), - BDPASS VARCHAR(255) -); - -CREATE TABLE TIPOS_IVA ( - ID TIPO_ID NOT NULL, - REFERENCIA VARCHAR(255), - DESCRIPCION VARCHAR(255), - IVA TIPO_PORCENTAJE, - RE TIPO_PORCENTAJE -); - -CREATE TABLE UNIDADES_MEDIDA ( - ID TIPO_ID NOT NULL, - DESCRIPCION VARCHAR(255) -); - -CREATE TABLE USUARIOS ( - ID TIPO_ID NOT NULL, - USERNAME VARCHAR(30), - LOGIN TIPO_USUARIO, - PASS VARCHAR(250), - PASSEXPIRED DATE, - BLOQUEADO TIPO_BOOLEANO, - EMAIL VARCHAR(150), - USERDAYSSUN INTEGER, - PRIVILEGED INTEGER, - TIPO CHAR(1), - ID_PERFIL TIPO_ID, - CHECKSUM VARCHAR(250) -); - -CREATE TABLE USUARIOS_EVENTOS ( - APLICACION VARCHAR(250), - ID_USUARIO TIPO_ID, - FECHA CHAR(10), - HORA CHAR(8), - FORM VARCHAR(250), - TITULO_FORM VARCHAR(100), - EVENTO VARCHAR(50), - NOTAS TIPO_NOTAS, - TNAME VARCHAR(20) -); - -CREATE TABLE USUARIOS_LOGON ( - LOGONID CHAR(38) NOT NULL, - ID_USUARIO TIPO_ID, - APLICACION VARCHAR(50), - EQUIPO VARCHAR(50), - DATA VARCHAR(14) -); - - - -/******************************************************************************/ -/**** Views ****/ -/******************************************************************************/ - - -/* View: V_ALB_CLI_SITUACION */ -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 -; - - - -/* View: V_ALB_CLI_DETALLES */ -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_DETALLES.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 -INNER JOIN ALBARANES_CLIENTE -ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID) -INNER 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_DETALLES.ID_PEDIDO, - V_ALB_CLI_SITUACION.SITUACION, - ALBARANES_CLIENTE.ID_ALMACEN, - ALBARANES_CLIENTE_DETALLES.ID_ARTICULO -; - - - -/* View: V_ALB_PROV_DETALLES */ -CREATE VIEW V_ALB_PROV_DETALLES( - ID_ALBARAN, - ID_PEDIDO, - ID_ALMACEN, - ID_ARTICULO, - DESCRIPCION, - CANTIDAD) -AS -SELECT ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, - ALBARANES_PROVEEDOR.ID_PEDIDO, - ALBARANES_PROVEEDOR.ID_ALMACEN, - COALESCE(ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, 0), - CASE - WHEN ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO IS NULL THEN ALBARANES_PROVEEDOR_DETALLES.CONCEPTO - ELSE NULL - END, - SUM (COALESCE(ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, 0)) AS CANTIDAD -FROM ALBARANES_PROVEEDOR_DETALLES INNER 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, - 5 -; - - -/* View: V_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, - ID_DIRECCION, - 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, - ALBARANES_CLIENTE.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.ID_DIRECCION, - 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) -; - - - -/* View: V_ALBARANES_PROVEEDOR */ -CREATE VIEW V_ALBARANES_PROVEEDOR( - ID, - ID_EMPRESA, - ID_PROVEEDOR, - NOMBRE, - ID_DIRECCION, - PERSONA_CONTACTO_PROV, - FECHA_ALBARAN, - REFERENCIA, - REFERENCIA_PROVEEDOR, - TIPO, - ID_ALMACEN, - TIPO_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, - ID_ALBARAN, - REFERENCIA_ALBARAN) -AS -SELECT - ALBARANES_PROVEEDOR.ID, - ALBARANES_PROVEEDOR.ID_EMPRESA, - ALBARANES_PROVEEDOR.ID_PROVEEDOR, - CONTACTOS.NOMBRE, - ALBARANES_PROVEEDOR.ID_DIRECCION, - ALBARANES_PROVEEDOR.PERSONA_CONTACTO_PROV, - ALBARANES_PROVEEDOR.FECHA_ALBARAN, - ALBARANES_PROVEEDOR.REFERENCIA, - ALBARANES_PROVEEDOR.REFERENCIA_PROVEEDOR, - ALBARANES_PROVEEDOR.TIPO, - ALBARANES_PROVEEDOR.ID_ALMACEN, - ALMACENES.TIPO_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, - ALBARANES_PROVEEDOR.ID_ALBARAN, - ALB2.REFERENCIA AS REFERENCIA_ALBARAN -FROM - ALBARANES_PROVEEDOR - INNER 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) - LEFT OUTER JOIN ALBARANES_PROVEEDOR ALB2 ON (ALB2.ID = ALBARANES_PROVEEDOR.ID_ALBARAN) -; - - - -/* View: V_ALMACENES */ -CREATE VIEW V_ALMACENES( - ID, - ID_EMPRESA, - NOMBRE, - CALLE, - PROVINCIA, - POBLACION, - CODIGO_POSTAL, - TELEFONO, - MOVIL, - FAX, - PERSONA_CONTACTO, - OBSERVACIONES, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO) -AS -SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, - ALMACENES.CALLE, ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, - ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, - ALMACENES.OBSERVACIONES, ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, ALMACENES.USUARIO -FROM ALMACENES -WHERE ALMACENES.TIPO_ALMACEN = 'ALMACEN' -; - - - -/* View: V_ARTICULOS_PARA_COMPRA */ -CREATE VIEW V_ARTICULOS_PARA_COMPRA( - ID, - ID_EMPRESA, - REFERENCIA, - DESCRIPCION, - UNIDAD_MEDIDA, - FAMILIA, - IMAGEN, - COMISIONABLE, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - REFERENCIA_PROV, - PRECIO_COSTE, - PRECIO_PORTE, - DESCUENTO, - PRECIO_NETO, - INVENTARIABLE, - ID_PROVEEDOR, - NOMBRE_PROVEEDOR, - ELIMINADO, - FABRICANTE, - REFERENCIA_FABR, - PARAM_MARGEN, - PRECIO_PVP_VENTA, - TIEMPO, - PARAM_TIEMPO, - MANO_OBRA, - PRECIO_PVP_TOTAL, - ID_ARTICULO) -AS -SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, - ARTICULOS.UNIDAD_MEDIDA, ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, - ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA, - ARTICULOS.FECHA_MODIFICACION, ARTICULOS.USUARIO, - ARTICULOS_PROVEEDORES.REFERENCIA_PROV, - ARTICULOS_PROVEEDORES.PRECIO_COSTE, - ARTICULOS_PROVEEDORES.PRECIO_PORTE, - ARTICULOS_PROVEEDORES.DESCUENTO, - ARTICULOS_PROVEEDORES.PRECIO_NETO, - ARTICULOS.INVENTARIABLE, - ARTICULOS_PROVEEDORES.ID_PROVEEDOR, - CONTACTOS.NOMBRE AS NOMBRE_PROVEEDOR, - ARTICULOS.ELIMINADO, - ARTICULOS.FABRICANTE, - ARTICULOS.REFERENCIA_FABR, - ARTICULOS.PARAM_MARGEN, - ARTICULOS_PROVEEDORES.PRECIO_PVP_VENTA, - ARTICULOS.TIEMPO, - ARTICULOS.PARAM_TIEMPO, - ARTICULOS.MANO_OBRA, - ARTICULOS_PROVEEDORES.PRECIO_PVP_TOTAL, - ARTICULOS.ID -FROM ARTICULOS -LEFT OUTER JOIN ARTICULOS_PROVEEDORES ON (ARTICULOS_PROVEEDORES.ID_ARTICULO = ARTICULOS.ID) -LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ARTICULOS_PROVEEDORES.ID_PROVEEDOR) -WHERE (ARTICULOS.ELIMINADO = 0) -; - - - -/* View: V_ARTICULOS_PVP_MAX */ -CREATE VIEW V_ARTICULOS_PVP_MAX( - ID_ARTICULO, - PRECIO_PVP_VENTA, - PRECIO_PVP_TOTAL) -AS -select -ID_ARTICULO, MAX(COALESCE(PRECIO_PVP_VENTA,0)) as PRECIO_PVP_VENTA, MAX(COALESCE(PRECIO_PVP_TOTAL,0)) as PRECIO_PVP_TOTAL -from ARTICULOS_PROVEEDORES -group by 1 -; - - - -/* View: V_ARTICULOS_PARA_VENTA */ -CREATE VIEW V_ARTICULOS_PARA_VENTA( - ID, - ID_EMPRESA, - REFERENCIA, - DESCRIPCION, - UNIDAD_MEDIDA, - FAMILIA, - IMAGEN, - COMISIONABLE, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - REFERENCIA_PROV, - PRECIO_COSTE, - PRECIO_PORTE, - DESCUENTO, - PRECIO_NETO, - INVENTARIABLE, - ELIMINADO, - FABRICANTE, - REFERENCIA_FABR, - PARAM_MARGEN, - PRECIO_PVP_VENTA, - TIEMPO, - PARAM_TIEMPO, - MANO_OBRA, - PRECIO_PVP_TOTAL) -AS -SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, - ARTICULOS.UNIDAD_MEDIDA, ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, - ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA, - ARTICULOS.FECHA_MODIFICACION, ARTICULOS.USUARIO, - -/*Estos Campos se necesitan para que no se tenga que tocar la lógica de selección de articulos de toda la aplicación*/ - '' as REFERENCIA_PROV, - 0 as PRECIO_COSTE, - 0 as PRECIO_PORTE, - 0 as DESCUENTO, - 0 as PRECIO_NETO, - - ARTICULOS.INVENTARIABLE, - ARTICULOS.ELIMINADO, - ARTICULOS.FABRICANTE, - ARTICULOS.REFERENCIA_FABR, - ARTICULOS.PARAM_MARGEN, - V_ARTICULOS_PVP_MAX.PRECIO_PVP_VENTA, - ARTICULOS.TIEMPO, - ARTICULOS.PARAM_TIEMPO, - ARTICULOS.MANO_OBRA, - V_ARTICULOS_PVP_MAX.PRECIO_PVP_TOTAL - -FROM ARTICULOS -LEFT OUTER JOIN V_ARTICULOS_PVP_MAX ON (V_ARTICULOS_PVP_MAX.ID_ARTICULO = ARTICULOS.ID) -WHERE (ARTICULOS.ELIMINADO = 0) -; - - - -/* 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) -; - - - -/* View: V_CLIENTES */ -/* View: V_CLIENTES */ -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, - ID_AGENTE, - GRUPO_CLIENTE, - NOMBRE_COMERCIAL, - VENCIMIENTO_FACTURAS_1, - VENCIMIENTO_FACTURAS_2, - VENCIMIENTO_FACTURAS_3, - BLOQUEADO, - AGENTE, - RAPEL, - EMAIL_ADMINISTRACION, - REGIMEN_IVA, - MOTIVO_BLOQUEO, - RECARGO_EQUIVALENCIA, - ID_TIPO_IVA, - ID_FORMA_PAGO, - TIENDA_WEB, - CODIGO_ASIGNADO, - DESCUENTO, - FELICITACION) -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.ID_AGENTE, - CLIENTES_DATOS.GRUPO_CLIENTE, - CLIENTES_DATOS.NOMBRE_COMERCIAL, - CLIENTES_DATOS.VENCIMIENTO_FACTURAS_1, - CLIENTES_DATOS.VENCIMIENTO_FACTURAS_2, - CLIENTES_DATOS.VENCIMIENTO_FACTURAS_3, - CLIENTES_DATOS.BLOQUEADO, - CONTACTOS.NOMBRE AS AGENTE, - CLIENTES_DATOS.RAPEL, - CLIENTES_DATOS.EMAIL_ADMINISTRACION, - 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, - CLIENTES_DATOS.DESCUENTO, - CLIENTES_DATOS.FELICITACION -FROM - V_CONTACTOS - LEFT OUTER JOIN CLIENTES_DATOS ON (V_CONTACTOS.ID = CLIENTES_DATOS.ID_CLIENTE) - LEFT OUTER JOIN CONTACTOS ON (CLIENTES_DATOS.ID_AGENTE = CONTACTOS.ID) -WHERE - V_CONTACTOS.ID_CATEGORIA = 1 -; - -CREATE VIEW V_AGENTES( - ID, - ID_CATEGORIA, - NIF_CIF, - NOMBRE, - CALLE, - POBLACION, - PROVINCIA, - CODIGO_POSTAL, - TELEFONO_1, - TELEFONO_2, - MOVIL_1, - MOVIL_2, - FAX, - EMAIL_1, - EMAIL_2, - PAGINA_WEB, - NOTAS, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - ID_EMPRESA, - REFERENCIA, - FECHA_ALTA_EMPRESA, - FECHA_BAJA, - CAUSA_BAJA) -AS -SELECT V_CONTACTOS.ID, - V_CONTACTOS.ID_CATEGORIA, - V_CONTACTOS.NIF_CIF, - V_CONTACTOS.NOMBRE, - 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, - AGENTES_DATOS.FECHA_ALTA_EMPRESA, - AGENTES_DATOS.FECHA_BAJA, - AGENTES_DATOS.CAUSA_BAJA - FROM V_CONTACTOS -INNER JOIN AGENTES_DATOS ON (AGENTES_DATOS.ID_AGENTE = V_CONTACTOS.ID) - WHERE V_CONTACTOS.ID_CATEGORIA = 3 -; - -/* View: V_EMPLEADOS */ -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, - CONTRATO, - DURACION, - FECHA_BAJA, - CAUSA_BAJA) -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, - EMPLEADOS_DATOS.CONTRATO, - EMPLEADOS_DATOS.DURACION, - EMPLEADOS_DATOS.FECHA_BAJA, - EMPLEADOS_DATOS.CAUSA_BAJA - -FROM V_CONTACTOS -INNER JOIN EMPLEADOS_DATOS ON (EMPLEADOS_DATOS.ID_EMPLEADO = V_CONTACTOS.ID) -WHERE V_CONTACTOS.ID_CATEGORIA = 3 -; - -/* View: V_REC_FAC_CLI */ -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 -; - - - -/* View: V_REC_CLI_SITUACION */ -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 -; - - - -/* View: V_REC_FAC_CLI_COBRADOS */ -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 -; - - - -/* View: V_FAC_CLI_SITUACION */ -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 -; - - - -/* View: V_REC_FAC_PRO */ -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 -; - - - -/* View: V_REC_PRO_SITUACION */ -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 -; - - - -/* View: V_REC_FAC_PRO_PAGADOS */ -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 -; - - - -/* View: V_FAC_PRO_SITUACION */ -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 -; - - - -/* View: V_FACTURAS_CLIENTE */ -CREATE VIEW V_FACTURAS_CLIENTE( - ID, - ID_EMPRESA, - REFERENCIA, - TIPO, - ID_COMISION_LIQUIDADA, - FECHA_FACTURA, - FECHA_VENCIMIENTO, - FECHA_RETENCION, - SITUACION, - BASE_IMPONIBLE, - DESCUENTO, - IMPORTE_DESCUENTO, - IVA, - IMPORTE_IVA, - RE, - IMPORTE_RE, - IMPORTE_TOTAL, - OBSERVACIONES, - ID_CLIENTE, - NIF_CIF, - NOMBRE, - ID_DIRECCION, - CALLE, - POBLACION, - PROVINCIA, - CODIGO_POSTAL, - DATOS_BANCARIOS, - CLIENTE_FINAL, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - ID_FORMA_PAGO, - RECARGO_EQUIVALENCIA, - ID_TIPO_IVA, - IMPORTE_NETO, - IMPORTE_PORTE, - ID_AGENTE, - REFERENCIA_COMISION, - RETENCION, - IMPORTE_RETENCION) - 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, - FACTURAS_CLIENTE.FECHA_VENCIMIENTO, - FACTURAS_CLIENTE.FECHA_RETENCION, - 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.ID_DIRECCION, - FACTURAS_CLIENTE.CALLE, - FACTURAS_CLIENTE.POBLACION, - FACTURAS_CLIENTE.PROVINCIA, - FACTURAS_CLIENTE.CODIGO_POSTAL, - FACTURAS_CLIENTE.DATOS_BANCARIOS, - FACTURAS_CLIENTE.CLIENTE_FINAL, - 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, - FACTURAS_CLIENTE.RETENCION, - FACTURAS_CLIENTE.IMPORTE_RETENCION - 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); -; - - -/* View: V_FACTURAS_PROVEEDOR */ -CREATE VIEW V_FACTURAS_PROVEEDOR( - ID, - ID_EMPRESA, - REFERENCIA, - TIPO, - REFERENCIA_PROVEEDOR, - FECHA_FACTURA, - FECHA_VENCIMIENTO, - 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, - DATOS_BANCARIOS) -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, - FACTURAS_PROVEEDOR.FECHA_VENCIMIENTO, - 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, - FACTURAS_PROVEEDOR.DATOS_BANCARIOS - 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) -; - - - -/* View: V_HIS_MOV_ALB_CLI */ -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 'E' - ELSE 'S' 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')) -; - - - -/* View: V_HIS_MOV_ALB_PROV */ -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 'S' - ELSE 'E' 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) -; - - - -/* View: V_HIS_MOV_REGULARIZACIONES */ -CREATE VIEW V_HIS_MOV_REGULARIZACIONES( - FECHA, - ID_ALMACEN, - ID_ARTICULO, - TIPO_MOVIMIENTO, - CANTIDAD, - CAUSA) -AS -SELECT FECHA_MOVIMIENTO, ID_ALMACEN, ID_ARTICULO, TIPO, -CASE WHEN TIPO = 'S' THEN (-1)* CANTIDAD - ELSE CANTIDAD END, -'Regularizaci¢n por - ' || CAUSA -FROM MOVIMIENTOS -; - - - -/* View: V_HIS_MOV_AUX */ -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 -; - - - -/* View: V_HISTORICO_MOVIMIENTOS */ -CREATE VIEW V_HISTORICO_MOVIMIENTOS( - FECHA, - ID_ALMACEN, - ID_EMPRESA, - NOMBRE_ALMACEN, - ID_ARTICULO, - FAMILIA, - REFERENCIA, - UNIDAD_MEDIDA, - FABRICANTE, - REFERENCIA_FABR, - 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.UNIDAD_MEDIDA, - ARTICULOS.FABRICANTE, - ARTICULOS.REFERENCIA_FABR, - 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) -; - - -/* View: V_INV_DETALLE_RESERVAS */ -CREATE VIEW V_INV_DETALLE_RESERVAS( - ID, - ID_EMPRESA, - ID_ALMACEN, - NOMBRE_ALMACEN, - FECHA_RESERVA, - CAUSA_RESERVA, - ID_ARTICULO, - REFERENCIA, - DESCRIPCION, - FAMILIA, - UNIDAD_MEDIDA, - FABRICANTE, - REFERENCIA_FABR, - CANTIDAD, - ID_ALMACEN_RESERVA, - NOMBRE_ALMACEN_RESERVA, - ID_EMPRESA_ALMACEN_RESERVA) -AS -select movimientos.id, almacenes1.ID_EMPRESA, movimientos.ID_ALMACEN, almacenes1.nombre as nombre_almacen, -movimientos.fecha_movimiento as fecha_reserva, movimientos.causa, movimientos.id_articulo, -articulos.referencia, articulos.descripcion, articulos.familia, -articulos.unidad_medida, articulos.fabricante, articulos.referencia_fabr, -movimientos.cantidad, movimientos.id_almacen_reserva, -almacenes2.nombre as nombre_almacen_reserva, almacenes2.id_empresa -from movimientos -left join almacenes almacenes1 on (almacenes1.ID = movimientos.ID_ALMACEN) -left join almacenes almacenes2 on (almacenes2.ID = movimientos.ID_ALMACEN_RESERVA) -left join articulos on (articulos.id = movimientos.id_articulo) -where tipo = 'R' -; -; - - - -/* View: V_INV_ENTRADAS_ALB */ -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 -; - - - -/* View: V_INV_ENTRADAS_MOV */ -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 -; - - - -/* View: V_INV_ENTRADAS_AUX */ -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 -; - - - -/* View: V_INV_ENTRADAS */ -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 -; - - - -/* View: V_PED_PROV_ARTICULOS_RECIBIDOS */ -CREATE VIEW V_PED_PROV_ARTICULOS_RECIBIDOS( - ID_PEDIDO, - ID_ARTICULO, - DESCRIPCION, - CANTIDAD) -AS -SELECT ID_PEDIDO, ID_ARTICULO, DESCRIPCION, - SUM(CANTIDAD) AS CANTIDAD -FROM V_ALB_PROV_DETALLES -WHERE (ID_PEDIDO is not null) -GROUP BY ID_PEDIDO, ID_ARTICULO, DESCRIPCION; - - -/* View: V_PED_PROV_DETALLES */ -CREATE VIEW V_PED_PROV_DETALLES( - ID_PEDIDO, - ID_ALMACEN, - ID_ARTICULO, - DESCRIPCION, - CANTIDAD) -AS -SELECT PEDIDOS_PROVEEDOR_DETALLES.ID_PEDIDO, - PEDIDOS_PROVEEDOR.ID_ALMACEN, - COALESCE(PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO, 0), - CASE - WHEN PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO IS NULL THEN PEDIDOS_PROVEEDOR_DETALLES.CONCEPTO - ELSE NULL - END, - 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, - 4; - - - -/* View: V_PED_PROV_ARTICULOS_AUX */ -CREATE VIEW V_PED_PROV_ARTICULOS_AUX( - ID_PEDIDO, - ID_ARTICULO, - DESCRIPCION, - CANTIDAD_PEDIDA, - CANTIDAD_RECIBIDA) -AS -SELECT - V_PED_PROV_DETALLES.ID_PEDIDO, - V_PED_PROV_DETALLES.ID_ARTICULO, - V_PED_PROV_DETALLES.DESCRIPCION, - 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, - V_PED_PROV_ARTICULOS_RECIBIDOS.DESCRIPCION, - NULL as CANTIDAD_PEDIDA, - V_PED_PROV_ARTICULOS_RECIBIDOS.CANTIDAD AS CANTIDAD_RECIBIDA -FROM V_PED_PROV_ARTICULOS_RECIBIDOS -; - - -/* View: V_PED_PROV_ARTICULOS */ -CREATE VIEW V_PED_PROV_ARTICULOS( - ID_PEDIDO, - ID_ARTICULO, - DESCRIPCION, - CANTIDAD_PEDIDA, - CANTIDAD_RECIBIDA, - CANTIDAD_PENDIENTE) -AS -SELECT ID_PEDIDO, - /*PEDIDOS_PROVEEDOR.ID_ALMACEN,*/ - ID_ARTICULO, - DESCRIPCION, - 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, - DESCRIPCION -HAVING SUM(CANTIDAD_PEDIDA) IS NOT NULL -; - - - -/* View: V_INV_ENTRADAS_PENDIENTES */ -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 -; - - - -/* View: V_INV_RESERVAS_AUX */ -CREATE VIEW V_INV_RESERVAS_AUX( - 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 -UNION ALL -SELECT ID_ALMACEN, - ID_ARTICULO, - CANTIDAD -FROM MOVIMIENTOS -WHERE TIPO = 'R' -; - - - -/* View: V_INV_RESERVAS */ -CREATE VIEW V_INV_RESERVAS( - ID_ALMACEN, - ID_ARTICULO, - CANTIDAD) -AS -SELECT ID_ALMACEN, ID_ARTICULO, SUM(CANTIDAD) -FROM V_INV_RESERVAS_AUX -GROUP BY ID_ALMACEN, ID_ARTICULO -; - - - -/* View: V_INV_SALIDAS_ALB */ -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 -; - - - -/* View: V_INV_SALIDAS_MOV */ -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 -; - - - -/* View: V_INV_SALIDAS_AUX */ -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 -; - - - -/* View: V_INV_SALIDAS */ -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 -; - - - -/* View: V_INV_STOCK_AUX */ -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 -; - - - -/* View: V_INV_STOCK */ -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 -; - - - -/* View: V_INVENTARIO_AUX */ -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 -; - - - -/* View: V_INVENTARIO */ -CREATE VIEW V_INVENTARIO( - ID_ALMACEN, - ID_EMPRESA, - TIPO_ALMACEN, - NOMBRE, - ID_ARTICULO, - REFERENCIA, - FAMILIA, - DESCRIPCION, - REFERENCIA_FAB, - UNIDAD_MEDIDA, - STOCK, - UNIDADES_ALMACEN, - RESERVA, - PENDIENTE_RECEPCION) -AS -SELECT ID_ALMACEN, - ALMACENES.ID_EMPRESA, - ALMACENES.TIPO_ALMACEN, - ALMACENES.NOMBRE, - ID_ARTICULO, - ARTICULOS.REFERENCIA, - ARTICULOS.FAMILIA, - ARTICULOS.DESCRIPCION, - ARTICULOS.REFERENCIA_FABR, - ARTICULOS.UNIDAD_MEDIDA, -/* 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.TIPO_ALMACEN, - ALMACENES.NOMBRE, - ID_ARTICULO, - ARTICULOS.REFERENCIA, - ARTICULOS.FAMILIA, - ARTICULOS.DESCRIPCION, - ARTICULOS.REFERENCIA_FABR, - ARTICULOS.UNIDAD_MEDIDA -/* ARTICULOS.PRECIO_NETO*/ - -/*QUITAMOS AQUELLAS TUPLAS DE LAS QUE NO TENEMOS UNIDADES EN EL ALAMCEN, NO HAY RESERVAS NI PEDIDOS PENDIENTES DE RECIBIR*/ -HAVING ((SUM(STOCK) <> 0 ) OR (SUM(RESERVA) <> 0) OR (SUM(PENDIENTE_RECEPCION) <> 0)) -; - - -/* View: V_OBRAS */ -CREATE VIEW V_OBRAS( - ID, - ID_EMPRESA, - NOMBRE, - CALLE, - PROVINCIA, - POBLACION, - CODIGO_POSTAL, - TELEFONO, - MOVIL, - FAX, - PERSONA_CONTACTO, - OBSERVACIONES, - ID_CLIENTE, - NOMBRE_CLIENTE, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO, - ID_EJECUCION) -AS -SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, - ALMACENES.CALLE, ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, - ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, - ALMACENES.OBSERVACIONES, OBRAS_DATOS.ID_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, - ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, ALMACENES.USUARIO, - CASE - WHEN (OBRAS_EJECUCIONES.FECHA_INICIO IS NULL) THEN NULL - WHEN (OBRAS_EJECUCIONES.FECHA_INICIO IS NOT NULL) THEN OBRAS_EJECUCIONES.ID - END AS ID_EJECUCION -FROM ALMACENES -INNER JOIN OBRAS_DATOS ON (OBRAS_DATOS.ID_ALMACEN = ALMACENES.ID) -LEFT OUTER JOIN CONTACTOS AS CLIENTES ON (CLIENTES.ID = OBRAS_DATOS.ID_CLIENTE) -LEFT OUTER JOIN OBRAS_EJECUCIONES ON ((OBRAS_EJECUCIONES.ID_OBRA = ALMACENES.ID) AND (OBRAS_EJECUCIONES.FECHA_FIN IS NULL)) -WHERE ALMACENES.TIPO_ALMACEN = 'OBRA'; - - -/* View: V_OBRAS_EJECUCIONES */ -CREATE VIEW V_OBRAS_EJECUCIONES( - ID, - ID_OBRA, - FECHA_INICIO, - FECHA_FIN, - ID_SUBCONTRATA, - NOMBRE, - IMPORTE_GASTOS, - IMPORTE_INGRESOS, - IMPORTE_TOTAL, - OBSERVACIONES, - FECHA_ALTA, - FECHA_MODIFICACION) -AS -SELECT - OBRAS_EJECUCIONES.ID, - OBRAS_EJECUCIONES.ID_OBRA, - OBRAS_EJECUCIONES.FECHA_INICIO, - OBRAS_EJECUCIONES.FECHA_FIN, - OBRAS_EJECUCIONES.ID_SUBCONTRATA, - CONTACTOS.NOMBRE, - COALESCE(SUM(PEDIDOS_PROVEEDOR.BASE_IMPONIBLE), 0) IMPORTE_GASTOS, - COALESCE(SUM(PRESUPUESTOS_CLIENTE.BASE_IMPONIBLE), 0) IMPORTE_INGRESOS, - COALESCE(SUM(PRESUPUESTOS_CLIENTE.BASE_IMPONIBLE), 0) - COALESCE(SUM(PEDIDOS_PROVEEDOR.BASE_IMPONIBLE), 0) IMPORTE_TOTAL, - OBRAS_EJECUCIONES.OBSERVACIONES, - OBRAS_EJECUCIONES.FECHA_ALTA, - OBRAS_EJECUCIONES.FECHA_MODIFICACION -FROM OBRAS_EJECUCIONES - LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = OBRAS_EJECUCIONES.ID_SUBCONTRATA) - LEFT OUTER JOIN OBRAS_EJECUCIONES_PRESUPUESTOS ON (OBRAS_EJECUCIONES_PRESUPUESTOS.ID_EJECUCION = OBRAS_EJECUCIONES.ID) - LEFT OUTER JOIN PRESUPUESTOS_CLIENTE ON (PRESUPUESTOS_CLIENTE.ID = OBRAS_EJECUCIONES_PRESUPUESTOS.ID_PRESUPUESTO) - LEFT OUTER JOIN OBRAS_EJECUCIONES_PEDIDOS_PROV ON (OBRAS_EJECUCIONES_PEDIDOS_PROV.ID_EJECUCION = OBRAS_EJECUCIONES.ID) - LEFT OUTER JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID = OBRAS_EJECUCIONES_PEDIDOS_PROV.ID_PEDIDO) -GROUP BY - OBRAS_EJECUCIONES.ID, - OBRAS_EJECUCIONES.ID_OBRA, - OBRAS_EJECUCIONES.FECHA_INICIO, - OBRAS_EJECUCIONES.FECHA_FIN, - OBRAS_EJECUCIONES.ID_SUBCONTRATA, - CONTACTOS.NOMBRE, - OBRAS_EJECUCIONES.OBSERVACIONES, - OBRAS_EJECUCIONES.FECHA_ALTA, - OBRAS_EJECUCIONES.FECHA_MODIFICACION; - - -/* View: V_PED_PROV_SITUACION */ -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 -; - - - -/* View: V_PEDIDOS_PROVEEDOR */ -CREATE VIEW V_PEDIDOS_PROVEEDOR( - ID, - ID_EMPRESA, - ID_PROVEEDOR, - NOMBRE, - ID_DIRECCION, - PERSONA_CONTACTO_PROV, - REFERENCIA, - SITUACION, - FECHA_ENVIO, - FECHA_PEDIDO, - FECHA_CONFIRMACION, - FECHA_ENTREGA, - ID_ALMACEN, - TIPO_ALMACEN, - NOMBRE_ALMACEN, - ID_OBRA, - NOMBRE_OBRA, - 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, - ID_FACTURA, - REF_FACTURA_PROV) -AS -SELECT - PEDIDOS_PROVEEDOR.ID, - PEDIDOS_PROVEEDOR.ID_EMPRESA, - PEDIDOS_PROVEEDOR.ID_PROVEEDOR, - CONTACTOS.NOMBRE, - PEDIDOS_PROVEEDOR.ID_DIRECCION, - PEDIDOS_PROVEEDOR.PERSONA_CONTACTO_PROV, - 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.TIPO_ALMACEN, - ALMACENES.NOMBRE AS NOMBRE_ALMACEN, - PEDIDOS_PROVEEDOR.ID_OBRA, - OBRAS.NOMBRE AS NOMBRE_OBRA, - 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, - PEDIDOS_PROVEEDOR.ID_FACTURA, - FACTURAS_PROVEEDOR.REFERENCIA - -FROM - PEDIDOS_PROVEEDOR - INNER JOIN CONTACTOS ON (PEDIDOS_PROVEEDOR.ID_PROVEEDOR = CONTACTOS.ID) - LEFT OUTER JOIN V_PED_PROV_SITUACION ON (V_PED_PROV_SITUACION.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID) - LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = PEDIDOS_PROVEEDOR.ID_ALMACEN) - LEFT OUTER JOIN ALMACENES OBRAS ON (OBRAS.ID = PEDIDOS_PROVEEDOR.ID_OBRA) - LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE) - LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = PEDIDOS_PROVEEDOR.ID_FACTURA) -; - - - -/* View: V_PRESUPUESTOS_CLIENTE */ -CREATE VIEW V_PRESUPUESTOS_CLIENTE( - ID, - ID_EMPRESA, - FECHA_PRESUPUESTO, - FECHA_DECISION, - REFERENCIA, - REFERENCIA_AUX, - SITUACION, - ID_CLIENTE, - ID_DIRECCION, - 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, - ID_FACTURA, - FACTURA, - PERSONA_CONTACTO, - DESCRIPCION_BONIFICACION, - IMPORTE_BONIFICACION) -AS -SELECT - PRESUPUESTOS_CLIENTE.ID, - PRESUPUESTOS_CLIENTE.ID_EMPRESA, - PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO, - PRESUPUESTOS_CLIENTE.FECHA_DECISION, - PRESUPUESTOS_CLIENTE.REFERENCIA, - PRESUPUESTOS_CLIENTE.REFERENCIA_AUX, - PRESUPUESTOS_CLIENTE.SITUACION, - PRESUPUESTOS_CLIENTE.ID_CLIENTE, - PRESUPUESTOS_CLIENTE.ID_DIRECCION, - CONTACTOS.NIF_CIF, - CONTACTOS.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, - PRESUPUESTOS_CLIENTE.ID_FACTURA, - FACTURAS_CLIENTE.REFERENCIA, - PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO, - PRESUPUESTOS_CLIENTE.DESCRIPCION_BONIFICACION, - PRESUPUESTOS_CLIENTE.IMPORTE_BONIFICACION -FROM - PRESUPUESTOS_CLIENTE - INNER JOIN CONTACTOS ON (CONTACTOS.ID = PRESUPUESTOS_CLIENTE.ID_CLIENTE) - LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_FACTURA) -; - - - -/* View: V_PROVEEDORES */ -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, - SUBCONTRATA, - EMAIL_ADMINISTRACION, - VENCIMIENTO_FACTURAS_1, - VENCIMIENTO_FACTURAS_2, - VENCIMIENTO_FACTURAS_3) -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, - PROVEEDORES_DATOS.SUBCONTRATA, - PROVEEDORES_DATOS.EMAIL_ADMINISTRACION, - PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_1, - PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_2, - PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_3 - -FROM - V_CONTACTOS - INNER JOIN PROVEEDORES_DATOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID) -WHERE - V_CONTACTOS.ID_CATEGORIA = 2 -; - - - -/* View: V_REC_CLI_COMPENSADOS */ -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 -; - - - -/* 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 -; - - -/* View: V_RECIBOS_CLIENTE */ -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, - DATOS_BANCARIOS, - ID_CLIENTE, - NOMBRE_CLIENTE, - NIF_CIF_CLIENTE, - CALLE_CLIENTE, - POBLACION_CLIENTE, - CODIGO_POSTAL_CLIENTE, - PROVINCIA_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, FACTURAS_CLIENTE.DATOS_BANCARIOS, - - CONTACTOS.ID as ID_CLIENTE, CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF, CONTACTOS.CALLE, CONTACTOS.POBLACION, CONTACTOS.CODIGO_POSTAL, CONTACTOS.PROVINCIA, - - 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 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) -; - -/* View: V_RECIBOS_PROVEEDOR */ -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, - DATOS_BANCARIOS, - ID_PROVEEDOR, - NOMBRE_PROVEEDOR, - NIF_CIF_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, FACTURAS_PROVEEDOR.DATOS_BANCARIOS, - - CONTACTOS.ID as ID_PROVEEDOR, CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF, - - 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 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_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 -; - -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 -; - -/******************************************************************************/ -/**** Primary Keys ****/ -/******************************************************************************/ - -ALTER TABLE AGENTES_COMISIONES ADD CONSTRAINT PK_AGENTES_COMISIONES PRIMARY KEY (ID); -ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT PK_ALBARAN_CLIENTE PRIMARY KEY (ID); -ALTER TABLE ALBARANES_CLIENTE_DETALLES ADD CONSTRAINT PK_ALBARANES_CLIENTE_DETALLES PRIMARY KEY (ID); -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT PK_ALBARAN_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE ALBARANES_PROVEEDOR_DETALLES ADD CONSTRAINT PK_ALBARANES_PROVEEDOR_DETALLES PRIMARY KEY (ID); -ALTER TABLE ALMACENES ADD CONSTRAINT PK_ALMACENES PRIMARY KEY (ID); -ALTER TABLE ARTICULOS ADD CONSTRAINT PK_ARTICULOS PRIMARY KEY (ID); -ALTER TABLE ARTICULOS_PROVEEDORES ADD CONSTRAINT PK_ARTICULOS_PROVEEDORES PRIMARY KEY (ID); -ALTER TABLE CATEGORIAS ADD CONSTRAINT PK_CATEGORIAS PRIMARY KEY (ID); -ALTER TABLE CLIENTES_DATOS ADD CONSTRAINT PK_CLIENTES_DATOS PRIMARY KEY (ID_CLIENTE); -ALTER TABLE CLIENTES_DTOS_PROVEEDORES ADD CONSTRAINT PK_CLIENTES_DTOS_PROV PRIMARY KEY (ID); -ALTER TABLE CLIENTES_GRUPOS ADD CONSTRAINT PK_CLIENTES_GRUPOS PRIMARY KEY (ID); -ALTER TABLE COMISIONES_LIQUIDADAS ADD CONSTRAINT PK_COMISIONES_LIQUIDADAS PRIMARY KEY (ID); -ALTER TABLE CONFIGURACION ADD CONSTRAINT PK_CONFIGURACION PRIMARY KEY (ID); -ALTER TABLE CONTACTOS ADD CONSTRAINT PK_CONTACTOS PRIMARY KEY (ID); -ALTER TABLE CONTACTOS_CATEGORIAS ADD CONSTRAINT PK_CONTACTOS_CATEGORIAS PRIMARY KEY (ID_CONTACTO, ID_CATEGORIA); -ALTER TABLE CONTACTOS_DATOS_BANCO ADD CONSTRAINT PK_CONTACTOS_DATOS_BANCO PRIMARY KEY (ID); -ALTER TABLE CONTACTOS_DATOS_PERSONAL ADD CONSTRAINT PK_CONTACTOS_DATOS_PER PRIMARY KEY (ID); -ALTER TABLE CONTACTOS_DIRECCIONES ADD CONSTRAINT PK_CONTACTOS_DIR PRIMARY KEY (ID); -ALTER TABLE EMPLEADOS_DATOS ADD CONSTRAINT PK_EMPLEADOS_DATOS PRIMARY KEY (ID_EMPLEADO); -ALTER TABLE AGENTES_DATOS ADD CONSTRAINT PK_AGENTES_DATOS PRIMARY KEY (ID_AGENTE); -ALTER TABLE EMPLEADOS_GRUPOS ADD CONSTRAINT PK_EMPLEADOS_GRUPOS PRIMARY KEY (ID); -ALTER TABLE EMPRESAS ADD CONSTRAINT PK_EMPRESAS PRIMARY KEY (ID); -ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT PK_EMPRESAS_CONTACTOS PRIMARY KEY (ID); -ALTER TABLE EMPRESAS_DATOS_BANCO ADD CONSTRAINT PK_EMPRESAS_DATOS_BANCO PRIMARY KEY (ID); -ALTER TABLE EMPRESAS_USUARIOS ADD CONSTRAINT PK_EMPRESAS_USUARIOS PRIMARY KEY (ID); -ALTER TABLE FABRICANTES ADD PRIMARY KEY (ID); -ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT PK_FACTURAS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE FACTURAS_CLIENTE_DETALLES ADD CONSTRAINT PK_FACTURAS_CLIENTE_DETALLES PRIMARY KEY (ID); -ALTER TABLE FACTURAS_PROVEEDOR ADD CONSTRAINT PK_FACTURAS_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE FACTURAS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_FACTURAS_PROVEEDOR_DETALLES PRIMARY KEY (ID); -ALTER TABLE FACTURAS_PROVEEDOR_PEDIDOS ADD CONSTRAINT PK_FACTURAS_PROVEEDOR_PEDIDOS PRIMARY KEY (ID); -ALTER TABLE FAMILIAS ADD CONSTRAINT PK_FAMILIAS PRIMARY KEY (ID); -ALTER TABLE FORMAS_PAGO ADD PRIMARY KEY (ID); -ALTER TABLE FORMAS_PAGO_PLAZOS ADD PRIMARY KEY (ID); -ALTER TABLE INFORMES ADD CONSTRAINT PK_INFORMES PRIMARY KEY (ID); -ALTER TABLE MOVIMIENTOS ADD CONSTRAINT PK_MOVIMIENTOS PRIMARY KEY (ID); -ALTER TABLE OBRAS_EJECUCIONES ADD CONSTRAINT PK_OBRAS_EJE PRIMARY KEY (ID); -ALTER TABLE OBRAS_EJECUCIONES_PRESUPUESTOS ADD CONSTRAINT PK_OBRAS_EJE_PRE PRIMARY KEY (ID); -ALTER TABLE OBRAS_EJECUCIONES_PEDIDOS_PROV ADD CONSTRAINT PK_OBRAS_EJE_PED_PROV PRIMARY KEY (ID); -ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT PK_PAGOS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE PAGOS_PROVEEDOR ADD CONSTRAINT PK_PAGOS_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT PK_PEDIDOS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE PEDIDOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PEDIDOS_CLIENTE_DETALLES PRIMARY KEY (ID); -ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETALLES PRIMARY KEY (ID); -ALTER TABLE PERMISOS ADD CONSTRAINT PK_PERMISOS PRIMARY KEY (ID); -ALTER TABLE PERMISOSEX ADD CONSTRAINT PK_PERMISOSEX PRIMARY KEY (ID); -ALTER TABLE POBLACIONES ADD CONSTRAINT PK_POBLACIONES PRIMARY KEY (ID); -ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE PRESUPUESTOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE_DETALLE PRIMARY KEY (ID); -ALTER TABLE PROVEEDORES_DATOS ADD CONSTRAINT PK_PROVEEDORES_DATOS PRIMARY KEY (ID_PROVEEDOR); -ALTER TABLE PROVEEDORES_GRUPOS ADD CONSTRAINT PK_PROVEEDORES_GRUPOS PRIMARY KEY (ID); -ALTER TABLE PROVINCIAS ADD CONSTRAINT PK_PROVINCIAS PRIMARY KEY (ID); -ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT PK_RECIBOS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT PK_RECIBOS_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE REFERENCIAS ADD CONSTRAINT PK_REFERENCIAS PRIMARY KEY (ID); -ALTER TABLE REMESAS_CLIENTE ADD CONSTRAINT PK_REMESAS_CLIENTE PRIMARY KEY (ID); -ALTER TABLE REMESAS_PROVEEDOR ADD CONSTRAINT PK_REMESAS_PROVEEDOR PRIMARY KEY (ID); -ALTER TABLE TIENDA_WEB ADD CONSTRAINT PK_TIENDA_WEB PRIMARY KEY (ID); -ALTER TABLE TIPOS_IVA ADD PRIMARY KEY (ID); -ALTER TABLE UNIDADES_MEDIDA ADD PRIMARY KEY (ID); -ALTER TABLE USUARIOS ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID); -ALTER TABLE USUARIOS_LOGON ADD CONSTRAINT PK_USUARIOS_LOGON PRIMARY KEY (LOGONID); - - -/******************************************************************************/ -/**** Foreign Keys ****/ -/******************************************************************************/ - -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 SET NULL ON UPDATE SET NULL; -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARANES_PROVEEDOR3 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_PROVEEDOR (ID) ON DELETE NO ACTION ON UPDATE CASCADE; -ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARANES_PROVEEDOR4 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE CASCADE; -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 ALMACENES ADD CONSTRAINT FK_ALMACENES_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE ARTICULOS ADD CONSTRAINT FK_ARTICULOS_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE COMISIONES_LIQUIDADAS ADD CONSTRAINT FK_COMISIONES_LIQUIDADAS FOREIGN KEY (ID_AGENTE) REFERENCES CONTACTOS (ID); -ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT FK_EMPRESAS_CONTACTOS FOREIGN KEY (ID_CONTACTO) REFERENCES CONTACTOS (ID) ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE EMPRESAS_DATOS_BANCO ADD CONSTRAINT FK_EMPRESAS_DATOS_BANCO FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE CASCADE ON UPDATE CASCADE; -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; -ALTER TABLE FACTURAS_PROVEEDOR ADD CONSTRAINT FK_FACTURAS_PROVEEDOR_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE MOVIMIENTOS ADD CONSTRAINT FK_MOVIMIENTOS2 FOREIGN KEY (ID_ALMACEN) REFERENCES ALMACENES (ID); -ALTER TABLE OBRAS_EJECUCIONES_PRESUPUESTOS ADD CONSTRAINT FK_OBRAS_EJE_PRE_1 FOREIGN KEY (ID_EJECUCION) REFERENCES OBRAS_EJECUCIONES (ID); -ALTER TABLE OBRAS_EJECUCIONES_PRESUPUESTOS ADD CONSTRAINT FK_OBRAS_EJE_PRE_2 FOREIGN KEY (ID_PRESUPUESTO) REFERENCES PRESUPUESTOS_CLIENTE (ID); -ALTER TABLE OBRAS_EJECUCIONES_PEDIDOS_PROV ADD CONSTRAINT FK_OBRAS_EJE_PED_PROV_1 FOREIGN KEY (ID_EJECUCION) REFERENCES OBRAS_EJECUCIONES (ID); -ALTER TABLE OBRAS_EJECUCIONES_PEDIDOS_PROV ADD CONSTRAINT FK_OBRAS_EJE_PED_PROV_2 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_PROVEEDOR (ID); -ALTER TABLE OBRAS_EJECUCIONES_PEDIDOS_PROV ADD CONSTRAINT FK_OBRAS_EJE_PED_PROV_3 FOREIGN KEY (ID_PRESUPUESTO) REFERENCES PRESUPUESTOS_CLIENTE (ID); -ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT FK_PAGOS_CLIENTE FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_CLIENTE (ID); -ALTER TABLE PAGOS_PROVEEDOR ADD CONSTRAINT FK_PAGOS_PROVEEDOR FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_PROVEEDOR (ID); -ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID); -ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE_ID_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (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); -ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR_1 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE CASCADE; -ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_1 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); -ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_2 FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID); -ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_3 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL; -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; -ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR1 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE SET NULL; -ALTER TABLE REMESAS_CLIENTE ADD CONSTRAINT FK_REMESAS_CLIENTE FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); -ALTER TABLE REMESAS_PROVEEDOR ADD CONSTRAINT FK_REMESAS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); -ALTER TABLE TIENDA_WEB ADD CONSTRAINT FK_EMPRESAS_TIENDA_WEB FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE CASCADE ON UPDATE CASCADE; - - -/******************************************************************************/ -/**** Indices ****/ -/******************************************************************************/ - -CREATE INDEX IDX_AGENTES_COMISIONES1 ON AGENTES_COMISIONES (ID_AGENTE); -CREATE INDEX IDX_AGENTES_COMISIONES2 ON AGENTES_COMISIONES (ID_PROVEEDOR); -CREATE INDEX IDX_ALBARANES_CLIENTE1 ON ALBARANES_CLIENTE (ID_FORMA_PAGO); -CREATE INDEX IDX_ALBARANES_CLIENTE2 ON ALBARANES_CLIENTE (TIPO); -CREATE INDEX ALBARANES_CLIENTE_IDX1 ON ALBARANES_CLIENTE (ID_ALMACEN); -CREATE INDEX ALBARANES_CLIENTE_IDX2 ON ALBARANES_CLIENTE (ID_DIRECCION); -CREATE INDEX ALBARANES_CLIENTE_IDX3 ON ALBARANES_CLIENTE (FECHA_ALBARAN); -CREATE INDEX IDX_ALBARANES_CLIENTE_DETALLES ON ALBARANES_CLIENTE_DETALLES (ID_ARTICULO); -CREATE INDEX IDX_ALBARANES_CLIENTE_DETALLES1 ON ALBARANES_CLIENTE_DETALLES (ID_ALBARAN); -CREATE INDEX ALBARANES_CLIENTE_DETALLES_IDX1 ON ALBARANES_CLIENTE_DETALLES (ID_PEDIDO); -CREATE INDEX IDX_ALBARANES_PROVEEDOR1 ON ALBARANES_PROVEEDOR (ID_ALMACEN); -CREATE INDEX IDX_ALBARANES_PROVEEDOR2 ON ALBARANES_PROVEEDOR (ID_FORMA_PAGO); -CREATE INDEX IDX_ALBARANES_PROVEEDOR3 ON ALBARANES_PROVEEDOR (TIPO); -CREATE INDEX ALBARANES_PROVEEDOR_IDX1 ON ALBARANES_PROVEEDOR (ID_ALBARAN); -CREATE INDEX ALBARANES_PROVEEDOR_IDX2 ON ALBARANES_PROVEEDOR (FECHA_ALBARAN); -CREATE INDEX IDX_ALBARANES_PROV_DETALLES ON ALBARANES_PROVEEDOR_DETALLES (ID_ALBARAN); -CREATE INDEX IDX_ALBARANES_PROV_DETALLES1 ON ALBARANES_PROVEEDOR_DETALLES (ID_ARTICULO); -CREATE INDEX ALBARANES_PROVEEDOR_DETALL_IDX1 ON ALBARANES_PROVEEDOR_DETALLES (ID_PEDIDO); -CREATE INDEX ALMACENES_IDX1 ON ALMACENES (TIPO_ALMACEN); -CREATE INDEX ARTICULOS_PROVEEDORES_IDX1 ON ARTICULOS_PROVEEDORES (ID_ARTICULO); -CREATE INDEX ARTICULOS_PROVEEDORES_IDX2 ON ARTICULOS_PROVEEDORES (ID_PROVEEDOR); -CREATE INDEX IDX_CLIENTES_DATOS ON CLIENTES_DATOS (ID_TIPO_IVA); -CREATE INDEX IDX_CLIENTES_DATOS1 ON CLIENTES_DATOS (ID_FORMA_PAGO); -CREATE INDEX IDX_CLIENTES_DATOS_ID_AGENTE ON CLIENTES_DATOS (ID_AGENTE); -CREATE INDEX IDX_CLIENTES_DTOS_PROV_ID_CLI ON CLIENTES_DTOS_PROVEEDORES (ID_CLIENTE); -CREATE INDEX IDX_CLIENTES_DTOS_PROV_ID_PROV ON CLIENTES_DTOS_PROVEEDORES (ID_PROVEEDOR); -CREATE INDEX IDX_COMISIONES_LIQUIDADAS ON COMISIONES_LIQUIDADAS (ID_EMPRESA); -CREATE INDEX IDX_CONFIGURACION ON CONFIGURACION (ID_EMPRESA); -CREATE INDEX IDX_CONTACTOS_CATEGORIAS ON CONTACTOS_CATEGORIAS (ID_CONTACTO); -CREATE INDEX IDX_CONTACTOS_CATEGORIAS1 ON CONTACTOS_CATEGORIAS (ID_CATEGORIA); -CREATE INDEX IDX_CONTACTOS_DATOS_BANCO ON CONTACTOS_DATOS_BANCO (ID_CONTACTO); -CREATE INDEX IDX_CONTACTOS_PER_ID_CONTACTO ON CONTACTOS_DATOS_PERSONAL (ID_CONTACTO); -CREATE INDEX IDX_CONTACTOS_DIR_ID_CONTACTO ON CONTACTOS_DIRECCIONES (ID_CONTACTO); -CREATE INDEX IDX_EMPRESAS_CONTACTOS ON EMPRESAS_CONTACTOS (ID_EMPRESA, ID_CONTACTO); -CREATE INDEX IDX_EMPRESAS_USUARIOS ON EMPRESAS_USUARIOS (ID_EMPRESA, ID_USUARIO); -CREATE INDEX IDX_FACTURAS_CLIENTE ON FACTURAS_CLIENTE (ID_FORMA_PAGO); -CREATE INDEX IDX_FACTURAS_CLIENTE1 ON FACTURAS_CLIENTE (ID_TIPO_IVA); -CREATE INDEX IDX_FACTURAS_CLIENTE2 ON FACTURAS_CLIENTE (ID_COMISION_LIQUIDADA); -CREATE INDEX IDX_FACTURAS_CLIENTE3 ON FACTURAS_CLIENTE (ID_CLIENTE); -CREATE INDEX FACTURAS_CLIENTE_IDX1 ON FACTURAS_CLIENTE (FECHA_FACTURA); -CREATE INDEX FACTURAS_CLIENTE_IDX2 ON FACTURAS_CLIENTE (FECHA_VENCIMIENTO); -CREATE INDEX IDX_FACTURAS_CLIENTE_DETALLES1 ON FACTURAS_CLIENTE_DETALLES (ID_FACTURA); -CREATE INDEX IDX_FACTURAS_CLIENTE_DETALLES2 ON FACTURAS_CLIENTE_DETALLES (ID_ARTICULO); -CREATE INDEX IDX_FACTURAS_PROVEEDOR ON FACTURAS_PROVEEDOR (ID_PROVEEDOR); -CREATE INDEX IDX_FACTURAS_PROVEEDOR1 ON FACTURAS_PROVEEDOR (ID_FORMA_PAGO); -CREATE INDEX IDX_FACTURAS_PROVEEDOR2 ON FACTURAS_PROVEEDOR (ID_TIPO_IVA); -CREATE INDEX FACTURAS_PROVEEDOR_IDX1 ON FACTURAS_PROVEEDOR (FECHA_FACTURA); -CREATE INDEX FACTURAS_PROVEEDOR_IDX2 ON FACTURAS_PROVEEDOR (FECHA_VENCIMIENTO); -CREATE INDEX IDX_FACTURAS_PROVEEDOR_DETALLES ON FACTURAS_PROVEEDOR_DETALLES (ID_ARTICULO); -CREATE INDEX FACTURAS_PROVEEDOR_DETALLE_IDX1 ON FACTURAS_PROVEEDOR_DETALLES (ID_FACTURA); -CREATE INDEX IDX_FACTURAS_PROVEEDOR_PEDIDOS ON FACTURAS_PROVEEDOR_PEDIDOS (ID_PEDIDO); -CREATE INDEX FACTURAS_PROVEEDOR_PEDIDOS_IDX1 ON FACTURAS_PROVEEDOR_PEDIDOS (ID_FACTURA); -CREATE INDEX IDX_FORMAS_PAGO_PLAZOS ON FORMAS_PAGO_PLAZOS (ID_FORMA_PAGO); -CREATE INDEX IDX_INFORMES ON INFORMES (ID_EMPRESA); -CREATE INDEX IDX_MOVIMIENTOS ON MOVIMIENTOS (TIPO); -CREATE INDEX MOVIMIENTOS_IDX1 ON MOVIMIENTOS (ID_ARTICULO); -CREATE INDEX MOVIMIENTOS_IDX2 ON MOVIMIENTOS (FECHA_MOVIMIENTO); -CREATE INDEX MOVIMIENTOS_IDX3 ON MOVIMIENTOS (ID_ALMACEN_RESERVA); -CREATE INDEX OBRAS_DATOS_IDX1 ON OBRAS_DATOS (ID_ALMACEN); -CREATE INDEX OBRAS_DATOS_IDX2 ON OBRAS_DATOS (ID_CLIENTE); -CREATE INDEX PAGOS_CLIENTE_IDX1 ON PAGOS_CLIENTE (FECHA_PAGO); -CREATE INDEX PAGOS_PROVEEDOR_IDX1 ON PAGOS_PROVEEDOR (FECHA_PAGO); -CREATE INDEX IDX_PEDIDOS_CLIENTE ON PEDIDOS_CLIENTE (ID_FORMA_PAGO); -CREATE INDEX PEDIDOS_CLIENTE_IDX1 ON PEDIDOS_CLIENTE (FECHA_PEDIDO); -CREATE INDEX IDX_PEDIDOS_CLIENTE_DETALLES ON PEDIDOS_CLIENTE_DETALLES (ID_PEDIDO); -CREATE INDEX IDX_PEDIDOS_CLIENTE_DETALLES1 ON PEDIDOS_CLIENTE_DETALLES (ID_ARTICULO); -CREATE INDEX IDX_PEDIDOS_PROVEEDOR ON PEDIDOS_PROVEEDOR (ID_PEDIDO_CLIENTE); -CREATE INDEX IDX_PEDIDOS_PROVEEDOR1 ON PEDIDOS_PROVEEDOR (ID_ALMACEN); -CREATE INDEX IDX_PEDIDOS_PROVEEDOR2 ON PEDIDOS_PROVEEDOR (ID_FORMA_PAGO); -CREATE INDEX IDX_PEDIDOS_PROVEEDOR3 ON PEDIDOS_PROVEEDOR (ID_OBRA); -CREATE INDEX IDX_PEDIDOS_PROVEEDOR4 ON PEDIDOS_PROVEEDOR (ID_PROVEEDOR); -CREATE INDEX PEDIDOS_PROVEEDOR_IDX1 ON PEDIDOS_PROVEEDOR (FECHA_PEDIDO); -CREATE INDEX IDX_PEDIDOS_PROVEEDOR_DETALLES ON PEDIDOS_PROVEEDOR_DETALLES (ID_ARTICULO); -CREATE INDEX PEDIDOS_PROVEEDOR_DETALLES_IDX1 ON PEDIDOS_PROVEEDOR_DETALLES (ID_PEDIDO); -CREATE INDEX POBLACIONES_IDX1 ON POBLACIONES (ID_PROVINCIA); -CREATE INDEX PRESUPUESTOS_CLIENTE_IDX1 ON PRESUPUESTOS_CLIENTE (FECHA_PRESUPUESTO); -CREATE INDEX PRESUPUESTOS_CLIENTE_DETAL_IDX1 ON PRESUPUESTOS_CLIENTE_DETALLES (ID_PRESUPUESTO); -CREATE INDEX PRESUPUESTOS_CLIENTE_DETAL_IDX2 ON PRESUPUESTOS_CLIENTE_DETALLES (ID_ARTICULO); -CREATE INDEX IDX_PROVEEDORES_DATOS ON PROVEEDORES_DATOS (ID_TIPO_IVA); -CREATE INDEX IDX_PROVEEDORES_DATOS1 ON PROVEEDORES_DATOS (ID_FORMA_PAGO); -CREATE INDEX IDX_RECIBOS_CLIENTE ON RECIBOS_CLIENTE (ID_RECIBO_COMPENSADO); -CREATE INDEX RECIBOS_CLIENTE_IDX1 ON RECIBOS_CLIENTE (FECHA_EMISION); -CREATE INDEX RECIBOS_CLIENTE_IDX2 ON RECIBOS_CLIENTE (FECHA_VENCIMIENTO); -CREATE INDEX IDX_RECIBOS_PROVEEDOR ON RECIBOS_PROVEEDOR (ID_RECIBO_COMPENSADO); -CREATE INDEX RECIBOS_PROVEEDOR_IDX1 ON RECIBOS_PROVEEDOR (FECHA_EMISION); -CREATE INDEX RECIBOS_PROVEEDOR_IDX2 ON RECIBOS_PROVEEDOR (FECHA_VENCIMIENTO); -CREATE INDEX IDX_REFERENCIAS ON REFERENCIAS (ID_EMPRESA); -CREATE INDEX IDX_REMESAS_CLIENTE ON REMESAS_CLIENTE (ID_DATOS_BANCO); -CREATE INDEX REMESAS_CLIENTE_IDX1 ON REMESAS_CLIENTE (FECHA_REMESA); -CREATE INDEX IDX_REMESAS_PROVEEDOR ON REMESAS_PROVEEDOR (ID_DATOS_BANCO); -CREATE INDEX REMESAS_PROVEEDOR_IDX1 ON REMESAS_PROVEEDOR (FECHA_REMESA); - - -/******************************************************************************/ -/**** Stored Procedures ****/ -/******************************************************************************/ - -SET TERM ^ ; - -CREATE PROCEDURE PRO_ART_RECALCULAR_PVP ( - ID_EMPRESA INTEGER, - PARAM_MARGEN NUMERIC(2,2), - PARAM_TIEMPO NUMERIC(11,2)) -AS -declare variable id_articulo integer; -declare variable mano_obra numeric(11,2); -begin - UPDATE ARTICULOS - SET PARAM_TIEMPO = :PARAM_TIEMPO, - PARAM_MARGEN = :PARAM_MARGEN, - MANO_OBRA = (TIEMPO * :PARAM_TIEMPO) - WHERE ID_EMPRESA = :ID_EMPRESA; - - for select ID, MANO_OBRA - from articulos - where ID_EMPRESA = :ID_EMPRESA - into :ID_ARTICULO, :MANO_OBRA - do - begin - update articulos_proveedores - set PRECIO_PVP_VENTA = (PRECIO_NETO + PRECIO_PORTE) * (((:PARAM_MARGEN) / 100) + 1), - PRECIO_PVP_TOTAL = ((PRECIO_NETO + PRECIO_PORTE) * (((:PARAM_MARGEN) / 100) + 1)) + :MANO_OBRA - where id_articulo = :ID_ARTICULO; - end - - suspend; -end -^ - - -CREATE PROCEDURE PRO_PRES_CAPITULOS ( - AID INTEGER) -RETURNS ( - ID INTEGER, - ID_PRESUPUESTO INTEGER, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - CONCEPTO VARCHAR(2000), - IMPORTE_TOTAL NUMERIC(11,2), - VISIBLE SMALLINT) -AS -declare variable num_filas integer; -declare variable contador integer; -declare variable existe numeric(11,2); -declare variable total_acumulado numeric(11,2); -begin - existe = 0; - total_acumulado = 0.0; - contador = 0; - num_filas = 0; - - /* ¿Existe el presupuesto? */ - for select count(*) - from presupuestos_cliente_detalles - where id_presupuesto = :AID - into :num_filas - do - begin - if (num_filas = 0) then - suspend; - end - - /* Ver si hay conceptos al principio sin capitulos */ - for select id, id_presupuesto, posicion, tipo_detalle - from presupuestos_cliente_detalles - where id_presupuesto = :AID - order by id_presupuesto, posicion - rows 1 - into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE - do - begin - if (TIPO_DETALLE = 'Concepto') then - EXISTE = 1; - end - - if (existe = 1) then - begin - contador = 0; - /* Existen conceptos sin capitulo */ - for select tipo_detalle, importe_total, coalesce(visible, 1) - from presupuestos_cliente_detalles - where id_presupuesto = :AID - order by id_presupuesto, posicion - into :TIPO_DETALLE, :IMPORTE_TOTAL, :VISIBLE - do - begin - contador = contador + 1; - - if ((visible <> 0) and (tipo_detalle = 'Concepto')) then - total_acumulado = total_acumulado + importe_total; - - if ((tipo_detalle <> 'Concepto') or (contador = num_filas)) then - begin - importe_total = total_acumulado; - tipo_detalle = 'Titulo'; - concepto = 'General'; - visible = 1; - ID = -1; - posicion = -1; - suspend; - break; - end - end - end - - - for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto, - importe_total, coalesce(visible, 1) - from presupuestos_cliente_detalles - where ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo opcional'))and id_presupuesto = :AID - order by id_presupuesto, posicion - into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO, - :IMPORTE_TOTAL, :VISIBLE - do - suspend; -end -^ - - -CREATE PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS ( - AID INTEGER) -RETURNS ( - ID INTEGER, - ID_PRESUPUESTO INTEGER, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - ID_CAPITULO INTEGER, - ID_ARTICULO INTEGER, - REFERENCIA VARCHAR(255), - CONCEPTO VARCHAR(2000), - CANTIDAD NUMERIC(11,2), - UNIDAD_MEDIDA VARCHAR(255), - IMPORTE_UNIDAD NUMERIC(11,2), - DESCUENTO NUMERIC(2,2), - IMPORTE_PORTE NUMERIC(11,2), - IMPORTE_TOTAL NUMERIC(11,2), - VISIBLE SMALLINT) -AS -declare variable capitulo_actual integer; -begin -capitulo_actual = -1; -ID_CAPITULO = -1; -for select pre.id, pre.id_presupuesto, pre.posicion, pre.tipo_detalle, - pre.id_articulo, articulos.referencia, - F_RTFTOTEXT(F_RTFTOTEXT(pre.CONCEPTO)) as CONCEPTO, - pre.cantidad, pre.unidad_medida, - case - when (pre.descuento <> 0) then (pre.importe_total / pre.cantidad) - else pre.importe_unidad - end as importe_unidad, - pre.descuento, pre.importe_porte, - pre.importe_total, coalesce(pre.visible, 1) - from presupuestos_cliente_detalles pre - left join articulos on (pre.id_articulo = articulos.id) - where pre.id_presupuesto = :AID - order by pre.id_presupuesto, pre.posicion - into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :ID_ARTICULO, - :REFERENCIA, :CONCEPTO, :CANTIDAD, :UNIDAD_MEDIDA, :IMPORTE_UNIDAD, :DESCUENTO, - :IMPORTE_PORTE, :IMPORTE_TOTAL, :VISIBLE -do - begin - if (:tipo_detalle <> 'Concepto') then - begin - capitulo_actual = :ID; - ID_CAPITULO = capitulo_actual; - end - else - suspend; - end -end -^ - - -CREATE PROCEDURE PRO_PRES_RESUMEN ( - AID INTEGER) -RETURNS ( - ID INTEGER, - ID_PRESUPUESTO INTEGER, - POSICION INTEGER, - TIPO_DETALLE VARCHAR(25), - CONCEPTO VARCHAR(2000), - IMPORTE_TOTAL NUMERIC(11,2), - VISIBLE SMALLINT) -AS -declare variable num_capitulos integer; -declare variable num_filas integer; -declare variable contador integer; -declare variable existe numeric(11,2); -declare variable total_acumulado numeric(11,2); -declare variable concepto_capitulo varchar(2000); -declare variable tipo varchar(25); -begin - existe = 0; - total_acumulado = 0.0; - contador = 0; - num_filas = 0; - num_capitulos = 0; - concepto_capitulo = ''; - tipo = ''; - - /* ¿Existe el presupuesto? */ - for select count(*) - from presupuestos_cliente_detalles - where id_presupuesto = :AID - into :num_filas - do - begin - if (num_filas = 0) then - suspend; - end - - /* Ver si hay conceptos al principio sin capitulos */ - for select id, id_presupuesto, posicion, tipo_detalle - from presupuestos_cliente_detalles - where id_presupuesto = :AID - order by id_presupuesto, posicion - rows 1 - into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE - do - begin - if (TIPO_DETALLE = 'Concepto') then - EXISTE = 1; - end - - num_capitulos = 1; - if (existe = 1) then - begin - contador = 0; - /* Existen conceptos sin capitulo */ - for select tipo_detalle, coalesce(importe_total,0), coalesce(visible, 1) - from presupuestos_cliente_detalles - where id_presupuesto = :AID - order by id_presupuesto, posicion - into :TIPO_DETALLE, :IMPORTE_TOTAL, :VISIBLE - do - begin - contador = contador + 1; - - if ((visible <> 0) and (tipo_detalle = 'Concepto')) then - total_acumulado = total_acumulado + importe_total; - - if ((tipo_detalle <> 'Concepto') or (contador = num_filas)) then - begin - importe_total = total_acumulado; - tipo_detalle = 'Titulo'; - if (num_capitulos > 1) then - concepto = 'CAPÍTULO ' || num_capitulos ||'. General'; - else - concepto = 'General'; - visible = 1; - ID = -1; - posicion = -1; - suspend; - break; - end - end - end - - /* Tratar el resto de las filas */ - for select id, id_presupuesto, posicion, tipo_detalle, - F_RTFTOTEXT(concepto) as concepto, coalesce(importe_total,0), coalesce(visible, 1) - from presupuestos_cliente_detalles - where id_presupuesto = :AID and - tipo_detalle in ('Titulo', 'Titulo opcional', 'Subtotal') - order by posicion - into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO, - :IMPORTE_TOTAL, :VISIBLE - do - begin - contador = contador + 1; - if ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo opcional')) then - begin - concepto_capitulo = concepto; - tipo = tipo_detalle; - end - if (tipo_detalle = 'Subtotal') then - begin - concepto = 'CAPÍTULO ' || num_capitulos || '. ' || concepto_capitulo; - tipo_detalle = tipo; - num_capitulos = num_capitulos + 1; - suspend; - end - end -end -^ - -SET TERM ; ^ - -/******************************************************************************/ -/**** Descriptions ****/ -/******************************************************************************/ -