diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 7e9e819..19a6b3c 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -166,6 +166,12 @@ 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_PROFORMA_ID; +SET GENERATOR GEN_FACTURAS_PROFORMA_ID TO 1; + +CREATE GENERATOR GEN_FACTURAS_PROFORMA_DET_ID; +SET GENERATOR GEN_FACTURAS_PROFORMA_DET_ID TO 1; + CREATE GENERATOR GEN_FACTURAS_PROVEEDOR_ID; SET GENERATOR GEN_FACTURAS_PROVEEDOR_ID TO 1; @@ -303,6 +309,20 @@ CREATE TABLE AGENTES_COMISIONES ( COMISION TIPO_PORCENTAJE DEFAULT 0 ); +CREATE TABLE PAISES ( + ID TIPO_ID NOT NULL, + ISO_NUM TIPO_ID NOT NULL, + ISO_DES1 VARCHAR(2) NOT NULL, + ISO_DES2 VARCHAR(3) NOT NULL, + DESCRIPCION VARCHAR(255) NOT NULL +); + +CREATE TABLE IDIOMAS ( + ID TIPO_ID NOT NULL, + ISO VARCHAR(2) NOT NULL, + DESCRIPCION VARCHAR(255) NOT NULL +); + CREATE TABLE ALBARANES_CLIENTE ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, @@ -339,7 +359,8 @@ CREATE TABLE ALBARANES_CLIENTE ( FECHA_RECEPCION DATE, FECHA_PREVISTA_ENVIO DATE, REFERENCIA_CLIENTE VARCHAR(255), - ID_ALBARAN_DEV TIPO_ID + ID_ALBARAN_DEV TIPO_ID, + PAIS VARCHAR(255) COLLATE ES_ES ); CREATE TABLE ALBARANES_CLIENTE_DETALLES ( @@ -584,7 +605,11 @@ CREATE TABLE CONTACTOS ( FECHA_MODIFICACION TIMESTAMP, USUARIO TIPO_USUARIO, REFERENCIA VARCHAR(255), - PERSONA_CONTACTO VARCHAR(255) + PERSONA_CONTACTO VARCHAR(255), + AGENTE VARCHAR(255) COLLATE ES_ES, + PAIS VARCHAR(255) COLLATE ES_ES, + IDIOMA_ISO VARCHAR(2) COLLATE ES_ES + ); CREATE TABLE CONTACTOS_CATEGORIAS ( @@ -633,7 +658,8 @@ CREATE TABLE CONTACTOS_DIRECCIONES ( NOTAS TIPO_NOTAS, PORTE TIPO_IMPORTE, FECHA_ALTA TIMESTAMP, - FECHA_MODIFICACION TIMESTAMP + FECHA_MODIFICACION TIMESTAMP, + PAIS VARCHAR(255) COLLATE ES_ES ); CREATE TABLE EMPLEADOS_DATOS ( @@ -756,7 +782,8 @@ CREATE TABLE FACTURAS_CLIENTE ( DATOS_BANCARIOS VARCHAR(255), CLIENTE_FINAL VARCHAR(255), RETENCION TIPO_PORCENTAJE, - IMPORTE_RETENCION TIPO_IMPORTE + IMPORTE_RETENCION TIPO_IMPORTE, + PAIS VARCHAR(255) COLLATE ES_ES ); CREATE TABLE FACTURAS_CLIENTE_DETALLES ( @@ -777,6 +804,64 @@ CREATE TABLE FACTURAS_CLIENTE_DETALLES ( FECHA_MODIFICACION TIMESTAMP ); +CREATE TABLE FACTURAS_PROFORMA ( + ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, + ID_EMPRESA TIPO_ID /* TIPO_ID = INTEGER */, + REFERENCIA VARCHAR(255), + FECHA_FACTURA DATE, + FECHA_VENCIMIENTO DATE, + BASE_IMPONIBLE TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + DESCUENTO TIPO_PORCENTAJE /* TIPO_PORCENTAJE = FLOAT */, + IMPORTE_DESCUENTO TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + DESCRIPCION_DESCUENTO VARCHAR(255) COLLATE ES_ES, + IVA TIPO_PORCENTAJE /* TIPO_PORCENTAJE = FLOAT */, + IMPORTE_IVA TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + RE TIPO_PORCENTAJE /* TIPO_PORCENTAJE = FLOAT */, + IMPORTE_RE TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + IMPORTE_TOTAL TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + OBSERVACIONES TIPO_NOTAS /* TIPO_NOTAS = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, + ID_CLIENTE TIPO_ID /* TIPO_ID = INTEGER */, + NIF_CIF VARCHAR(15), + NOMBRE VARCHAR(255), + ID_DIRECCION TIPO_ID /* TIPO_ID = INTEGER */, + CALLE VARCHAR(255), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO /* TIPO_USUARIO = VARCHAR(30) */, + ID_FORMA_PAGO TIPO_ID /* TIPO_ID = INTEGER */, + IMPORTE_NETO TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + IMPORTE_PORTE TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + ID_TIPO_IVA TIPO_ID /* TIPO_ID = INTEGER */, + RECARGO_EQUIVALENCIA TIPO_BOOLEANO /* TIPO_BOOLEANO = SMALLINT */, + DATOS_BANCARIOS VARCHAR(255), + SITUACION VARCHAR(255), + ID_PEDIDO TIPO_ID /* TIPO_ID = INTEGER */, + ID_FACTURA_FINAL TIPO_ID /* TIPO_ID = INTEGER */, + PAIS VARCHAR(255) COLLATE ES_ES, + ID_PRESUPUESTO TIPO_ID /* TIPO_ID = INTEGER */ +); + + +CREATE TABLE FACTURAS_PROFORMA_DETALLES ( + ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, + ID_FACTURA TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, + POSICION INTEGER, + TIPO_DETALLE VARCHAR(25), + ID_ARTICULO TIPO_ID /* TIPO_ID = INTEGER */, + CONCEPTO TIPO_CONCEPTO /* TIPO_CONCEPTO = VARCHAR(2000) */, + CANTIDAD TIPO_CANTIDAD /* TIPO_CANTIDAD = NUMERIC(11,2) */, + UNIDAD_MEDIDA VARCHAR(255), + IMPORTE_UNIDAD TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + DESCUENTO TIPO_PORCENTAJE /* TIPO_PORCENTAJE = FLOAT */, + IMPORTE_PORTE TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + IMPORTE_TOTAL TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */, + VISIBLE TIPO_BOOLEANO /* TIPO_BOOLEANO = SMALLINT */, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP +); CREATE TABLE FACTURAS_PROVEEDOR ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, @@ -978,7 +1063,8 @@ CREATE TABLE PEDIDOS_CLIENTE ( FECHA_PREVISTA_ENVIO DATE, REFERENCIA_CLIENTE VARCHAR(255), ID_PRESUPUESTO TIPO_ID, - TIPO_PEDIDO VARCHAR(255) COLLATE ES_ES + TIPO_PEDIDO VARCHAR(255) COLLATE ES_ES, + PAIS VARCHAR(255) COLLATE ES_ES ); CREATE TABLE PEDIDOS_CLIENTE_DETALLES ( @@ -1157,8 +1243,7 @@ CREATE TABLE PROVEEDORES_DATOS ( SUBCONTRATA TIPO_BOOLEANO, VENCIMIENTO_FACTURAS_1 SMALLINT, VENCIMIENTO_FACTURAS_2 SMALLINT, - VENCIMIENTO_FACTURAS_3 SMALLINT, - PAIS VARCHAR(255) COLLATE ES_ES + VENCIMIENTO_FACTURAS_3 SMALLINT ); CREATE TABLE PROVEEDORES_GRUPOS ( @@ -1508,7 +1593,8 @@ CREATE VIEW V_ALBARANES_CLIENTE( AGENTE, NUM_COPIAS, NUM_CORREOS, - BLOQUEADO) + BLOQUEADO, + PAIS) AS SELECT ALBARANES_CLIENTE.ID, @@ -1559,7 +1645,8 @@ SELECT AGENTES.NOMBRE, IMPRESIONES.NUM_COPIAS, REGISTRO_CORREOS.NUM_CORREOS, - CLIENTES_DATOS.BLOQUEADO + CLIENTES_DATOS.BLOQUEADO, + ALBARANES_CLIENTE.PAIS FROM ALBARANES_CLIENTE @@ -1578,6 +1665,7 @@ FROM + /* View: V_ALBARANES_PROVEEDOR */ CREATE VIEW V_ALBARANES_PROVEEDOR( ID, @@ -1925,6 +2013,9 @@ CREATE VIEW V_CONTACTOS( POBLACION, PROVINCIA, CODIGO_POSTAL, + PAIS, + IDIOMA_ISO, + IDIOMA, TELEFONO_1, TELEFONO_2, MOVIL_1, @@ -1949,6 +2040,9 @@ SELECT CONTACTOS.ID, CONTACTOS.POBLACION, CONTACTOS.PROVINCIA, CONTACTOS.CODIGO_POSTAL, + CONTACTOS.PAIS, + CONTACTOS.IDIOMA_ISO, + IDIOMAS.DESCRIPCION, CONTACTOS.TELEFONO_1, CONTACTOS.TELEFONO_2, CONTACTOS.MOVIL_1, @@ -1968,10 +2062,14 @@ FROM CONTACTOS CONTACTOS.ID) INNER JOIN EMPRESAS_CONTACTOS ON (EMPRESAS_CONTACTOS.ID_CONTACTO = CONTACTOS.ID) + left JOIN IDIOMAS ON (IDIOMAS.ISO = + CONTACTOS.IDIOMA_ISO) + ; + /* View: V_CLIENTES */ CREATE VIEW V_CLIENTES( ID, @@ -1983,6 +2081,9 @@ CREATE VIEW V_CLIENTES( POBLACION, PROVINCIA, CODIGO_POSTAL, + PAIS, + IDIOMA_ISO, + IDIOMA, TELEFONO_1, TELEFONO_2, MOVIL_1, @@ -2030,6 +2131,9 @@ SELECT V_CONTACTOS.POBLACION, V_CONTACTOS.PROVINCIA, V_CONTACTOS.CODIGO_POSTAL, + V_CONTACTOS.PAIS, + V_CONTACTOS.IDIOMA_ISO, + V_CONTACTOS.IDIOMA, V_CONTACTOS.TELEFONO_1, V_CONTACTOS.TELEFONO_2, V_CONTACTOS.MOVIL_1, @@ -2071,67 +2175,10 @@ FROM 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, - 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_ALTA_EMPRESA, - 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, - AGENTES_DATOS.FECHA_ALTA_EMPRESA, - AGENTES_DATOS.FECHA_BAJA, - AGENTES_DATOS.CAUSA_BAJA - FROM V_CONTACTOS - LEFT JOIN AGENTES_DATOS ON (AGENTES_DATOS.ID_AGENTE = V_CONTACTOS.ID) - WHERE V_CONTACTOS.ID_CATEGORIA = 3 + V_CONTACTOS.ID_CATEGORIA = 1 ; + /* View: V_EMPLEADOS */ CREATE VIEW V_EMPLEADOS( ID, @@ -2143,6 +2190,9 @@ CREATE VIEW V_EMPLEADOS( POBLACION, PROVINCIA, CODIGO_POSTAL, + PAIS, + IDIOMA_ISO, + IDIOMA, TELEFONO_1, TELEFONO_2, MOVIL_1, @@ -2178,6 +2228,9 @@ SELECT V_CONTACTOS.ID, V_CONTACTOS.POBLACION, V_CONTACTOS.PROVINCIA, V_CONTACTOS.CODIGO_POSTAL, + V_CONTACTOS.PAIS, + V_CONTACTOS.IDIOMA_ISO, + V_CONTACTOS.IDIOMA, V_CONTACTOS.TELEFONO_1, V_CONTACTOS.TELEFONO_2, V_CONTACTOS.MOVIL_1, @@ -2210,6 +2263,71 @@ INNER JOIN EMPLEADOS_DATOS ON (EMPLEADOS_DATOS.ID_EMPLEADO = V_CONTACTOS.ID) WHERE V_CONTACTOS.ID_CATEGORIA = 3 ; +CREATE VIEW V_AGENTES( + ID, + ID_CATEGORIA, + NIF_CIF, + NOMBRE, + PERSONA_CONTACTO, + CALLE, + POBLACION, + PROVINCIA, + CODIGO_POSTAL, + PAIS, + IDIOMA_ISO, + IDIOMA, + 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.PERSONA_CONTACTO, + V_CONTACTOS.CALLE, + V_CONTACTOS.POBLACION, + V_CONTACTOS.PROVINCIA, + V_CONTACTOS.CODIGO_POSTAL, + V_CONTACTOS.PAIS, + V_CONTACTOS.IDIOMA_ISO, + V_CONTACTOS.IDIOMA, + 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 + LEFT JOIN AGENTES_DATOS ON (AGENTES_DATOS.ID_AGENTE = V_CONTACTOS.ID) + WHERE V_CONTACTOS.ID_CATEGORIA = 3 +; + + /* View: V_REC_FAC_CLI */ CREATE VIEW V_REC_FAC_CLI( ID_FACTURA, @@ -2416,7 +2534,8 @@ CREATE VIEW V_FACTURAS_CLIENTE( IMPORTE_RETENCION, NUM_COPIAS, NUM_CORREOS, - ID_ALBARAN) + ID_ALBARAN, + PAIS) AS SELECT FACTURAS_CLIENTE.ID, FACTURAS_CLIENTE.ID_EMPRESA, @@ -2461,7 +2580,8 @@ SELECT FACTURAS_CLIENTE.ID, FACTURAS_CLIENTE.IMPORTE_RETENCION, IMPRESIONES.NUM_COPIAS, REGISTRO_CORREOS.NUM_CORREOS, - Null as ID_ALBARAN /*CAMPO FICTICIO QUE SE AÑADE PARA PODER COMPARTIR Clase de negocio IBizFacturaProveedor, el modulo de facturas proveedor y el modulo procesopresupuestocliente*/ + Null as ID_ALBARAN, /*CAMPO FICTICIO QUE SE AÑADE PARA PODER COMPARTIR Clase de negocio IBizFacturaProveedor, el modulo de facturas proveedor y el modulo procesopresupuestocliente*/ + FACTURAS_CLIENTE.PAIS FROM V_FAC_CLI_SITUACION LEFT JOIN FACTURAS_CLIENTE @@ -2476,6 +2596,107 @@ SELECT FACTURAS_CLIENTE.ID, ON ((REGISTRO_CORREOS.ID_TABLA = FACTURAS_CLIENTE.ID) AND (REGISTRO_CORREOS.TABLA = 'FACTURASCLIENTE')) ; + +CREATE VIEW V_FACTURAS_PROFORMA( + ID, + ID_EMPRESA, + REFERENCIA, + FECHA_FACTURA, + FECHA_VENCIMIENTO, + SITUACION, + BASE_IMPONIBLE, + DESCUENTO, + IMPORTE_DESCUENTO, + DESCRIPCION_DESCUENTO, + IVA, + IMPORTE_IVA, + RE, + IMPORTE_RE, + IMPORTE_TOTAL, + OBSERVACIONES, + ID_CLIENTE, + NIF_CIF, + NOMBRE, + ID_DIRECCION, + CALLE, + POBLACION, + PROVINCIA, + CODIGO_POSTAL, + FECHA_ALTA, + FECHA_MODIFICACION, + USUARIO, + ID_FORMA_PAGO, + RECARGO_EQUIVALENCIA, + ID_TIPO_IVA, + IMPORTE_NETO, + IMPORTE_PORTE, + NUM_COPIAS, + NUM_CORREOS, + DATOS_BANCARIOS, + ID_PRESUPUESTO, + ID_PEDIDO, + REF_PRE_CLIENTE, + REF_PRE_DEL_CLIENTE, + REF_PED_CLIENTE, + REF_PED_DEL_CLIENTE, + PAIS) +AS +SELECT FACTURAS_PROFORMA.ID, + FACTURAS_PROFORMA.ID_EMPRESA, + FACTURAS_PROFORMA.REFERENCIA, + FACTURAS_PROFORMA.FECHA_FACTURA, + FACTURAS_PROFORMA.FECHA_VENCIMIENTO, + FACTURAS_PROFORMA.SITUACION, + FACTURAS_PROFORMA.BASE_IMPONIBLE, + FACTURAS_PROFORMA.DESCUENTO, + FACTURAS_PROFORMA.IMPORTE_DESCUENTO, + FACTURAS_PROFORMA.DESCRIPCION_DESCUENTO, + FACTURAS_PROFORMA.IVA, + FACTURAS_PROFORMA.IMPORTE_IVA, + FACTURAS_PROFORMA.RE, + FACTURAS_PROFORMA.IMPORTE_RE, + FACTURAS_PROFORMA.IMPORTE_TOTAL, + FACTURAS_PROFORMA.OBSERVACIONES, + FACTURAS_PROFORMA.ID_CLIENTE, + FACTURAS_PROFORMA.NIF_CIF, + FACTURAS_PROFORMA.NOMBRE, + FACTURAS_PROFORMA.ID_DIRECCION, + FACTURAS_PROFORMA.CALLE, + FACTURAS_PROFORMA.POBLACION, + FACTURAS_PROFORMA.PROVINCIA, + FACTURAS_PROFORMA.CODIGO_POSTAL, + FACTURAS_PROFORMA.FECHA_ALTA, + FACTURAS_PROFORMA.FECHA_MODIFICACION, + FACTURAS_PROFORMA.USUARIO, + FACTURAS_PROFORMA.ID_FORMA_PAGO, + FACTURAS_PROFORMA.RECARGO_EQUIVALENCIA, + FACTURAS_PROFORMA.ID_TIPO_IVA, + FACTURAS_PROFORMA.IMPORTE_NETO, + FACTURAS_PROFORMA.IMPORTE_PORTE, + IMPRESIONES.NUM_COPIAS, + REGISTRO_CORREOS.NUM_CORREOS, + FACTURAS_PROFORMA.DATOS_BANCARIOS, + FACTURAS_PROFORMA.ID_PRESUPUESTO, + FACTURAS_PROFORMA.ID_PEDIDO, + PRESUPUESTOS_CLIENTE.REFERENCIA, + PRESUPUESTOS_CLIENTE.REFERENCIA_CLIENTE, + PEDIDOS_CLIENTE.REFERENCIA, + PEDIDOS_CLIENTE.REFERENCIA_CLIENTE, + FACTURAS_PROFORMA.PAIS + + FROM FACTURAS_PROFORMA + LEFT JOIN PRESUPUESTOS_CLIENTE + ON (PRESUPUESTOS_CLIENTE.ID = FACTURAS_PROFORMA.ID_PRESUPUESTO) + LEFT JOIN PEDIDOS_CLIENTE + ON (PEDIDOS_CLIENTE.ID = FACTURAS_PROFORMA.ID_PEDIDO) + LEFT JOIN IMPRESIONES + ON ((IMPRESIONES.ID_TABLA = FACTURAS_PROFORMA.ID) AND (IMPRESIONES.TABLA = 'FACTURASPROFORMA')) + LEFT JOIN REGISTRO_CORREOS + ON ((REGISTRO_CORREOS.ID_TABLA = FACTURAS_PROFORMA.ID) AND (REGISTRO_CORREOS.TABLA = 'FACTURASPROFORMA')) +; + + + CREATE VIEW V_ALBARANES_CLI_FACTURADOS( ID_ALBARAN, ID_FACTURA) @@ -3675,15 +3896,13 @@ CREATE VIEW V_PRESUPUESTOS_CLIENTE( IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO, - ID_FACTURA, - FACTURA, PERSONA_CONTACTO, DESCRIPCION_BONIFICACION, IMPORTE_BONIFICACION, FECHA_VIGENCIA, TIPO_PRESUPUESTO, - ID_PEDIDO, - REFERENCIA_PEDIDO) + ID_TIPO_IVA, + REFERENCIA_FACTURA_PROFORMA) AS SELECT PRESUPUESTOS_CLIENTE.ID, @@ -3716,22 +3935,20 @@ SELECT PRESUPUESTOS_CLIENTE.IMPORTE_IVA, PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL, PRESUPUESTOS_CLIENTE.ID_FORMA_PAGO, - PRESUPUESTOS_CLIENTE.ID_FACTURA, -/* FACTURAS_CLIENTE.REFERENCIA,*/ - NULL as REFERENCIA_FACTURA, PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO, PRESUPUESTOS_CLIENTE.DESCRIPCION_BONIFICACION, PRESUPUESTOS_CLIENTE.IMPORTE_BONIFICACION, PRESUPUESTOS_CLIENTE.FECHA_VIGENCIA, PRESUPUESTOS_CLIENTE.TIPO_PRESUPUESTO, - PRESUPUESTOS_CLIENTE.ID_PEDIDO, - PEDIDOS_CLIENTE.REFERENCIA + PRESUPUESTOS_CLIENTE.ID_TIPO_IVA, + FACTURAS_PROFORMA.REFERENCIA FROM PRESUPUESTOS_CLIENTE - INNER JOIN CONTACTOS ON (CONTACTOS.ID = PRESUPUESTOS_CLIENTE.ID_CLIENTE) - LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_PEDIDO) -; + INNER JOIN CONTACTOS ON (CONTACTOS.ID = PRESUPUESTOS_CLIENTE.ID_CLIENTE) + LEFT JOIN FACTURAS_PROFORMA on (FACTURAS_PROFORMA.ID_PRESUPUESTO = PRESUPUESTOS_CLIENTE.ID) + ; + /* View: V_PROVEEDORES */ CREATE VIEW V_PROVEEDORES( @@ -3744,6 +3961,9 @@ CREATE VIEW V_PROVEEDORES( POBLACION, PROVINCIA, CODIGO_POSTAL, + PAIS, + IDIOMA_ISO, + IDIOMA, TELEFONO_1, TELEFONO_2, MOVIL_1, @@ -3772,8 +3992,7 @@ CREATE VIEW V_PROVEEDORES( EMAIL_ADMINISTRACION, VENCIMIENTO_FACTURAS_1, VENCIMIENTO_FACTURAS_2, - VENCIMIENTO_FACTURAS_3, - PAIS) + VENCIMIENTO_FACTURAS_3) AS SELECT V_CONTACTOS.ID, @@ -3785,6 +4004,9 @@ SELECT V_CONTACTOS.POBLACION, V_CONTACTOS.PROVINCIA, V_CONTACTOS.CODIGO_POSTAL, + V_CONTACTOS.PAIS, + V_CONTACTOS.IDIOMA_ISO, + V_CONTACTOS.IDIOMA, V_CONTACTOS.TELEFONO_1, V_CONTACTOS.TELEFONO_2, V_CONTACTOS.MOVIL_1, @@ -3813,9 +4035,8 @@ SELECT PROVEEDORES_DATOS.EMAIL_ADMINISTRACION, PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_1, PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_2, - PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_3, - PROVEEDORES_DATOS.PAIS - + PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_3 + FROM V_CONTACTOS INNER JOIN PROVEEDORES_DATOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID) @@ -3823,6 +4044,7 @@ WHERE V_CONTACTOS.ID_CATEGORIA = 2 ; + /* View: V_REC_CLI_COMPENSADOS */ CREATE VIEW V_REC_CLI_COMPENSADOS( ID_RECIBO, @@ -4438,7 +4660,10 @@ CREATE VIEW V_PEDIDOS_CLIENTE( NUM_COPIAS, NUM_CORREOS, ID_PRESUPUESTO, - REFERENCIA_PRESUPUESTO) + REFERENCIA_PRESUPUESTO, + TIPO_PEDIDO, + PAIS, + REFERENCIA_FACTURA_PROFORMA) AS SELECT PEDIDOS_CLIENTE.ID, @@ -4480,18 +4705,24 @@ SELECT IMPRESIONES.NUM_COPIAS, REGISTRO_CORREOS.NUM_CORREOS, PEDIDOS_CLIENTE.ID_PRESUPUESTO, - PRESUPUESTOS_CLIENTE.REFERENCIA + PRESUPUESTOS_CLIENTE.REFERENCIA, + PEDIDOS_CLIENTE.TIPO_PEDIDO, + PEDIDOS_CLIENTE.PAIS, + FACTURAS_PROFORMA.REFERENCIA FROM PEDIDOS_CLIENTE LEFT JOIN V_PED_CLI_SITUACION_X_ALBARANES ON (V_PED_CLI_SITUACION_X_ALBARANES.ID_PEDIDO = PEDIDOS_CLIENTE.ID) LEFT JOIN PRESUPUESTOS_CLIENTE ON (PRESUPUESTOS_CLIENTE.id = PEDIDOS_CLIENTE.ID_PRESUPUESTO) + LEFT JOIN FACTURAS_PROFORMA ON (FACTURAS_PROFORMA.ID_PEDIDO = PEDIDOS_CLIENTE.ID) /* INNER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = V_PED_CLI_SITUACION.ID_PEDIDO)*/ INNER JOIN CONTACTOS ON (PEDIDOS_CLIENTE.ID_CLIENTE = CONTACTOS.ID) LEFT JOIN IMPRESIONES ON ((IMPRESIONES.ID_TABLA = PEDIDOS_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'PEDIDOSCLIENTE')) LEFT JOIN REGISTRO_CORREOS ON ((REGISTRO_CORREOS.ID_TABLA = PEDIDOS_CLIENTE.ID) AND (REGISTRO_CORREOS.TABLA = 'PEDIDOSCLIENTE')) -; +; + + CREATE VIEW V_PED_CLI_ART_PEND_PEDIR_PROV( ID_PEDIDO, @@ -5121,6 +5352,8 @@ ALTER TABLE EMPRESAS_DATOS_BANCO ADD CONSTRAINT PK_EMPRESAS_DATOS_BANCO PRIMARY 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_PROFORMA ADD CONSTRAINT PK_FACTURAS_PROFORMA PRIMARY KEY (ID); +ALTER TABLE FACTURAS_PROFORMA_DETALLES ADD CONSTRAINT PK_FACTURAS_PROFORMA_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); @@ -5159,6 +5392,9 @@ ALTER TABLE USUARIOS ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID); ALTER TABLE USUARIOS_LOGON ADD CONSTRAINT PK_USUARIOS_LOGON PRIMARY KEY (LOGONID); ALTER TABLE AGENTES_OBJETIVOS_ALB ADD CONSTRAINT PK_AGENTES_OBJETIVOS_ALB PRIMARY KEY (ID); ALTER TABLE AGENTES_OBJETIVOS_FAC ADD CONSTRAINT PK_AGENTES_OBJETIVOS_FAC PRIMARY KEY (ID); +ALTER TABLE IDIOMAS ADD CONSTRAINT PK_IDIOMAS PRIMARY KEY (ID); +ALTER TABLE PAISES ADD CONSTRAINT PK_PAISES PRIMARY KEY (ID); + /******************************************************************************/ /**** Foreign Keys ****/ @@ -5178,6 +5414,10 @@ ALTER TABLE COMISIONES_LIQUIDADAS ADD CONSTRAINT FK_COMISIONES_LIQUIDADAS FOREIG 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_PROFORMA ADD CONSTRAINT FK_FACTURAS_PROFORMA_1 FOREIGN KEY (ID_FACTURA_FINAL) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL; +ALTER TABLE FACTURAS_PROFORMA ADD CONSTRAINT FK_FACTURAS_PROFORMA_2 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_CLIENTE (ID) ON UPDATE CASCADE; +ALTER TABLE FACTURAS_PROFORMA ADD CONSTRAINT FK_FACTURAS_PROFORMA_3 FOREIGN KEY (ID_PRESUPUESTO) REFERENCES PRESUPUESTOS_CLIENTE (ID) ON UPDATE CASCADE; +ALTER TABLE FACTURAS_PROFORMA ADD CONSTRAINT FK_FACTURAS_PROFORMA_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); @@ -5254,6 +5494,13 @@ 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 FACTURAS_PROFORMA_IDX1 ON FACTURAS_PROFORMA (FECHA_FACTURA); +CREATE INDEX FACTURAS_PROFORMA_IDX2 ON FACTURAS_PROFORMA (FECHA_VENCIMIENTO); +CREATE INDEX IDX_FACTURAS_PROFORMA ON FACTURAS_PROFORMA (ID_FORMA_PAGO); +CREATE INDEX IDX_FACTURAS_PROFORMA1 ON FACTURAS_PROFORMA (ID_TIPO_IVA); +CREATE INDEX IDX_FACTURAS_PROFORMA3 ON FACTURAS_PROFORMA (ID_CLIENTE); +CREATE INDEX IDX_FACTURAS_PROFORMA_DETALLES1 ON FACTURAS_PROFORMA_DETALLES (ID_FACTURA); +CREATE INDEX IDX_FACTURAS_PROFORMA_DETALLES2 ON FACTURAS_PROFORMA_DETALLES (ID_ARTICULO); 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); diff --git a/Database/scripts/factuges_sysdata.sql b/Database/scripts/factuges_sysdata.sql index 5a7bee2..b9b80af 100644 --- a/Database/scripts/factuges_sysdata.sql +++ b/Database/scripts/factuges_sysdata.sql @@ -212,3 +212,9 @@ INSERT INTO EMPRESAS (ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION, PROVI SET GENERATOR GEN_EMPRESAS_ID TO 3; COMMIT WORK; +INSERT INTO IDIOMAS (ID, ISO, DESCRIPCION) VALUES (1, 'es', 'Español'); +INSERT INTO IDIOMAS (ID, ISO, DESCRIPCION) VALUES (2, 'en', 'Inglés'); +COMMIT WORK; + +INSERT INTO PAISES (ID, ISO_NUM, ISO_DES1, ISO_DES2, DESCRIPCION, ACTIVO) VALUES (73, 724, 'ES', 'ESP', 'España', 1); +COMMIT WORK; \ No newline at end of file