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(32767) RETURNS INTEGER BY VALUE ENTRY_POINT 'IB_UDF_strlen' MODULE_NAME 'ib_udf'; DECLARE EXTERNAL FUNCTION SUBSTR CSTRING(255), SMALLINT, SMALLINT RETURNS CSTRING(255) 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_FAMILIA AS VARCHAR(255); 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 1000000000; CREATE GENERATOR GEN_ALBARANES_CLI_DETALLES_ID; SET GENERATOR GEN_ALBARANES_CLI_DETALLES_ID TO 1000000509; CREATE GENERATOR GEN_ALBARANES_CLI_ID; SET GENERATOR GEN_ALBARANES_CLI_ID TO 1000000132; CREATE GENERATOR GEN_ALBARANES_PRO_DETALLES_ID; SET GENERATOR GEN_ALBARANES_PRO_DETALLES_ID TO 1000000000; CREATE GENERATOR GEN_ALBARANES_PRO_ID; SET GENERATOR GEN_ALBARANES_PRO_ID TO 1000000000; CREATE GENERATOR GEN_ALMACENES_ID; SET GENERATOR GEN_ALMACENES_ID TO 1000000000; CREATE GENERATOR GEN_ARTICULOS_ID; SET GENERATOR GEN_ARTICULOS_ID TO 1000000679; CREATE GENERATOR GEN_BALANCES_ID; SET GENERATOR GEN_BALANCES_ID TO 1000000000; CREATE GENERATOR GEN_CATEGORIAS_ID; SET GENERATOR GEN_CATEGORIAS_ID TO 1000000000; CREATE GENERATOR GEN_CHANGECODE; SET GENERATOR GEN_CHANGECODE TO 219242; CREATE GENERATOR GEN_CLIENTES_DTOS_PROV_ID; SET GENERATOR GEN_CLIENTES_DTOS_PROV_ID TO 1000000000; CREATE GENERATOR GEN_CLIENTES_GRUPOS_ID; SET GENERATOR GEN_CLIENTES_GRUPOS_ID TO 1000000001; CREATE GENERATOR GEN_CLIENTES_PROCEDENCIAS_ID; SET GENERATOR GEN_CLIENTES_PROCEDENCIAS_ID TO 1000000058; CREATE GENERATOR GEN_COMISIONES_LIQUID_ID; SET GENERATOR GEN_COMISIONES_LIQUID_ID TO 1000000028; CREATE GENERATOR GEN_COMISIONES_VENDEDORES_ID; SET GENERATOR GEN_COMISIONES_VENDEDORES_ID TO 1000000031; CREATE GENERATOR GEN_CONFIGURACION_ID; SET GENERATOR GEN_CONFIGURACION_ID TO 1000000022; CREATE GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID; SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1000000003; CREATE GENERATOR GEN_CONTACTOS_DIR_ID; SET GENERATOR GEN_CONTACTOS_DIR_ID TO 1000000046; CREATE GENERATOR GEN_CONTACTOS_ID; SET GENERATOR GEN_CONTACTOS_ID TO 1000001239; CREATE GENERATOR GEN_CONTACTOS_PERSONAL_ID; SET GENERATOR GEN_CONTACTOS_PERSONAL_ID TO 1000000011; CREATE GENERATOR GEN_CONTRATOS_CLI_DETALLE_ID; SET GENERATOR GEN_CONTRATOS_CLI_DETALLE_ID TO 15356; CREATE GENERATOR GEN_CONTRATOS_CLI_ID; SET GENERATOR GEN_CONTRATOS_CLI_ID TO 711; CREATE GENERATOR GEN_CONT_APUNTES_ID; SET GENERATOR GEN_CONT_APUNTES_ID TO 1000024606; CREATE GENERATOR GEN_CONT_ASIENTOS_ID; SET GENERATOR GEN_CONT_ASIENTOS_ID TO 1000006625; CREATE GENERATOR GEN_CONT_BALANCES_ID; SET GENERATOR GEN_CONT_BALANCES_ID TO 1000000000; CREATE GENERATOR GEN_CONT_CUENTAS_ESP_ID; SET GENERATOR GEN_CONT_CUENTAS_ESP_ID TO 1000000000; CREATE GENERATOR GEN_CONT_CUENTAS_ID; SET GENERATOR GEN_CONT_CUENTAS_ID TO 1000010404; CREATE GENERATOR GEN_CONT_EJERCICIOS_ID; SET GENERATOR GEN_CONT_EJERCICIOS_ID TO 1000000016; CREATE GENERATOR GEN_CONT_EPIGRAFES_ID; SET GENERATOR GEN_CONT_EPIGRAFES_ID TO 1000001207; CREATE GENERATOR GEN_CONT_SUBCUENTAS_ID; SET GENERATOR GEN_CONT_SUBCUENTAS_ID TO 1000040709; CREATE GENERATOR GEN_EJERCICIOS_ID; SET GENERATOR GEN_EJERCICIOS_ID TO 1000000000; CREATE GENERATOR GEN_EMPRESAS_CONTACTOS_ID; SET GENERATOR GEN_EMPRESAS_CONTACTOS_ID TO 1000002510; CREATE GENERATOR GEN_EMPRESAS_DATOS_BANCO_ID; SET GENERATOR GEN_EMPRESAS_DATOS_BANCO_ID TO 1000000000; CREATE GENERATOR GEN_EMPRESAS_ID; SET GENERATOR GEN_EMPRESAS_ID TO 1000000000; CREATE GENERATOR GEN_EMPRESAS_TIENDAS_ID; SET GENERATOR GEN_EMPRESAS_TIENDAS_ID TO 1000000000; CREATE GENERATOR GEN_EMPRESAS_USUARIOS_ID; SET GENERATOR GEN_EMPRESAS_USUARIOS_ID TO 1000000000; CREATE GENERATOR GEN_FACTURAS_CLIENTE_ID; SET GENERATOR GEN_FACTURAS_CLIENTE_ID TO 1000000799; CREATE GENERATOR GEN_FACTURAS_PROVEEDOR_ID; SET GENERATOR GEN_FACTURAS_PROVEEDOR_ID TO 1000002405; CREATE GENERATOR GEN_FACTURAS_PROV_CONTRATOS_ID; SET GENERATOR GEN_FACTURAS_PROV_CONTRATOS_ID TO 182; CREATE GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID; SET GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID TO 1000005347; CREATE GENERATOR GEN_FACTURA_PROV_DETALLES_ID; SET GENERATOR GEN_FACTURA_PROV_DETALLES_ID TO 1000002464; CREATE GENERATOR GEN_FAMILIAS_ID; SET GENERATOR GEN_FAMILIAS_ID TO 1000000231; CREATE GENERATOR GEN_FORMAS_PAGO_ID; SET GENERATOR GEN_FORMAS_PAGO_ID TO 1000000000; CREATE GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID; SET GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID TO 1000000000; CREATE GENERATOR GEN_INFORMES_ID; SET GENERATOR GEN_INFORMES_ID TO 1000000000; CREATE GENERATOR GEN_MOVIMIENTOS_ID; SET GENERATOR GEN_MOVIMIENTOS_ID TO 1000000000; CREATE GENERATOR GEN_PAGOS_CLIENTE_ID; SET GENERATOR GEN_PAGOS_CLIENTE_ID TO 1000001575; CREATE GENERATOR GEN_PAGOS_PROVEEDOR_ID; SET GENERATOR GEN_PAGOS_PROVEEDOR_ID TO 1000000295; CREATE GENERATOR GEN_PEDIDOS_CLI_DETALLES_ID; SET GENERATOR GEN_PEDIDOS_CLI_DETALLES_ID TO 1000000000; CREATE GENERATOR GEN_PEDIDOS_CLI_ID; SET GENERATOR GEN_PEDIDOS_CLI_ID TO 1000000000; CREATE GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID; SET GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID TO 1000000000; CREATE GENERATOR GEN_PEDIDOS_PROV_ID; SET GENERATOR GEN_PEDIDOS_PROV_ID TO 1000000000; CREATE GENERATOR GEN_PERMISOSEX_ID; SET GENERATOR GEN_PERMISOSEX_ID TO 1000000000; CREATE GENERATOR GEN_PERMISOS_ID; SET GENERATOR GEN_PERMISOS_ID TO 1000000000; CREATE GENERATOR GEN_PRESUPUESTOS_CLIENTE_CAPITU; SET GENERATOR GEN_PRESUPUESTOS_CLIENTE_CAPITU TO 105; CREATE GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID; SET GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID TO 1000050882; CREATE GENERATOR GEN_PRESUPUESTOS_CLI_ID; SET GENERATOR GEN_PRESUPUESTOS_CLI_ID TO 1000002430; CREATE GENERATOR GEN_PROVEEDORES_GRUPOS_ID; SET GENERATOR GEN_PROVEEDORES_GRUPOS_ID TO 1000000000; CREATE GENERATOR GEN_RECIBOS_CLIENTE_ID; SET GENERATOR GEN_RECIBOS_CLIENTE_ID TO 1000001562; CREATE GENERATOR GEN_RECIBOS_PROVEEDOR_ID; SET GENERATOR GEN_RECIBOS_PROVEEDOR_ID TO 1000002910; CREATE GENERATOR GEN_REMESAS_CLIENTE_ID; SET GENERATOR GEN_REMESAS_CLIENTE_ID TO 1000000000; CREATE GENERATOR GEN_REMESAS_PROVEEDOR_ID; SET GENERATOR GEN_REMESAS_PROVEEDOR_ID TO 1000000000; CREATE GENERATOR GEN_TIENDA_WEB_ID; SET GENERATOR GEN_TIENDA_WEB_ID TO 1000000000; CREATE GENERATOR GEN_TIPOS_IVA_ID; SET GENERATOR GEN_TIPOS_IVA_ID TO 8; CREATE GENERATOR GEN_UNIDADES_MEDIDA_ID; SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 1000000000; CREATE GENERATOR GEN_USUARIOS_ID; SET GENERATOR GEN_USUARIOS_ID TO 1000000000; SET TERM ^ ; /******************************************************************************/ /*** Stored Procedures ***/ /******************************************************************************/ CREATE OR ALTER PROCEDURE PROC_CIERRE_APERTURA ( ID_EJERCICIO_CIERRE INTEGER, ID_EJERCICIO_APERTURA INTEGER) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_DELETE_ASIENTO_FACTURA ( IDFACTURA INTEGER, TIPO VARCHAR(1)) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_DELETE_ASIENTO_PAGO ( IDPAGO INTEGER, TIPO VARCHAR(1)) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_FACTURA_CLI ( IDFACTURA INTEGER, ID_SUBCUENTA_VENTA INTEGER) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_FACTURA_PROV ( IDFACTURA INTEGER, ID_SUBCUENTA_COMPRA INTEGER) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_PAGO_CLI ( IDPAGO INTEGER, IDSUBCUENTAPAGO INTEGER) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_PAGO_PROV ( IDPAGO INTEGER, IDSUBCUENTAPAGO INTEGER) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_NEW_CUENTAS ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER, ID_EPIGRAFE_COPIA INTEGER, ID_EPIGRAFE INTEGER) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_NEW_EPIGRAFES ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER, ID_EPIGRAFE_COPIA INTEGER, ID_EPIGRAFE INTEGER, ID_PADRE INTEGER, REF_EPIGRAFE VARCHAR(6), DESCRIPCION VARCHAR(255)) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_NEW_PGC ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER) RETURNS ( RESULTADO INTEGER) AS BEGIN SUSPEND; END^ CREATE OR ALTER PROCEDURE PROC_NEW_SUBCUENTAS ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER, ID_CUENTA_COPIA INTEGER, ID_CUENTA INTEGER) AS BEGIN EXIT; END^ CREATE OR ALTER PROCEDURE PROC_PRE_CON_CAPITULOS ( AID INTEGER, TIPO VARCHAR(15)) RETURNS ( ID INTEGER, ID_PRE_CON INTEGER, POSICION INTEGER, TIPO_DETALLE VARCHAR(25), CONCEPTO VARCHAR(2000), IMPORTE_TOTAL NUMERIC(11,4), VISIBLE SMALLINT, TIPO_ARTICULO VARCHAR(2), DESCUENTO FLOAT, IMPORTE_DESCUENTO NUMERIC(11,4)) AS BEGIN SUSPEND; END^ CREATE OR ALTER PROCEDURE PROC_PRE_CON_CAPITULOS_CONCEP ( AID INTEGER, TIPO VARCHAR(15)) RETURNS ( ID INTEGER, ID_PRE_CON INTEGER, POSICION INTEGER, TIPO_DETALLE VARCHAR(25), ID_CAPITULO INTEGER, TIPO_ARTICULO VARCHAR(2), ID_ARTICULO INTEGER, PROPIEDAD VARCHAR(50), CONCEPTO VARCHAR(2000), CANTIDAD NUMERIC(11,2), IMPORTE_UNIDAD NUMERIC(11,4), DESCUENTO NUMERIC(2,2), IMPORTE_PORTE NUMERIC(11,4), IMPORTE_TOTAL NUMERIC(11,4), VISIBLE2 SMALLINT, VISIBLE SMALLINT) AS BEGIN SUSPEND; END^ CREATE OR ALTER PROCEDURE PROC_SET_EJERCICIOS_NOACTIVOS ( ID_EMPRESA INTEGER) AS BEGIN EXIT; END^ SET TERM ; ^ /******************************************************************************/ /*** 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), 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) COLLATE ES_ES, ID_TIENDA TIPO_ID, ID_DIRECCION TIPO_ID, ID_TIPO_IVA TIPO_ID, MOVIL VARCHAR(25), ID_CONTRATO TIPO_ID ); CREATE TABLE ALBARANES_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_ALBARAN TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD 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 ALBARANES_PROVEEDOR ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, ID_PROVEEDOR TIPO_ID, FECHA_ALBARAN DATE, ID_PEDIDO TIPO_ID, ID_FACTURA TIPO_ID, 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_TIENDA TIPO_ID, ID_TIPO_IVA TIPO_ID ); CREATE TABLE ALBARANES_PROVEEDOR_DETALLES ( ID TIPO_ID NOT NULL, ID_ALBARAN TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD 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 ALMACENES ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID NOT NULL, NOMBRE VARCHAR(255), CALLE VARCHAR(255), PROVINCIA VARCHAR(255), POBLACION VARCHAR(255), CODIGO_POSTAL VARCHAR(10), TELEFONO VARCHAR(25), MOVIL VARCHAR(25), FAX VARCHAR(25), PERSONA_CONTACTO VARCHAR(255), OBSERVACIONES TIPO_NOTAS, FECHA_ALTA TIMESTAMP, FECHA_MODIFICACION TIMESTAMP, USUARIO TIPO_USUARIO ); CREATE TABLE ARTICULOS ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, REFERENCIA VARCHAR(255), DESCRIPCION VARCHAR(255), FAMILIA VARCHAR(255), IMAGEN TIPO_BINARIO, COMISIONABLE TIPO_BOOLEANO, ID_PROVEEDOR TIPO_ID, REFERENCIA_PROV VARCHAR(255), PRECIO_COSTE TIPO_IMPORTE, DESCUENTO TIPO_PORCENTAJE, PRECIO_NETO TIPO_IMPORTE, PRECIO_PORTE TIPO_IMPORTE, PRECIO_PVP TIPO_IMPORTE, FECHA_ALTA TIMESTAMP, FECHA_MODIFICACION TIMESTAMP, USUARIO TIPO_USUARIO, INVENTARIABLE TIPO_BOOLEANO, ELIMINADO TIPO_BOOLEANO ); CREATE TABLE CATEGORIAS ( ID TIPO_ID NOT NULL, CATEGORIA VARCHAR(255) NOT NULL ); CREATE TABLE CHANGES ( CHANGECODE BIGINT NOT NULL, TABLENAME VARCHAR(32) NOT NULL, TABLEKEY BIGINT NOT NULL, OP CHAR(1) NOT NULL, LOC_ID INTEGER NOT NULL ); CREATE TABLE CLIENTES_DATOS ( ID_CLIENTE TIPO_ID NOT NULL, ID_AGENTE TIPO_ID, GRUPO_CLIENTE VARCHAR(255), NOMBRE_COMERCIAL VARCHAR(255), 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, CODIGO_ASIGNADO VARCHAR(255), IGNORAR_CONTABILIDAD TIPO_ID, PROCEDENCIA_CLIENTE VARCHAR(255) COLLATE ES_ES, TIENE_SUBCUENTA TIPO_ID, VENCIMIENTO_FACTURAS_1 INTEGER, VENCIMIENTO_FACTURAS_2 INTEGER, VENCIMIENTO_FACTURAS_3 INTEGER ); 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 CLIENTES_PROCEDENCIAS ( ID TIPO_ID NOT NULL, DESCRIPCION VARCHAR(255) ); CREATE TABLE COMISIONES_LIQ_VENDEDORES ( ID TIPO_ID NOT NULL, ID_COMISION TIPO_ID, ID_VENDEDOR TIPO_ID, NOMBRE VARCHAR(255), COMISION TIPO_PORCENTAJE, IMPORTE_TOTAL TIPO_IMPORTE ); 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 TIPO_CONCEPTO, ID_EMPRESA TIPO_ID, VALOR_BLOB TIPO_NOTAS ); CREATE TABLE CONT_APUNTES ( ID TIPO_ID NOT NULL, ID_ASIENTO TIPO_ID, ID_SUBCUENTA TIPO_ID, NUM_ORDEN TIPO_ID, CONCEPTO VARCHAR(255), DOCUMENTO VARCHAR(255) COLLATE ES_ES, PUNTEADO SMALLINT, DEBE TIPO_IMPORTE, HABER TIPO_IMPORTE ); CREATE TABLE CONT_ASIENTOS ( ID TIPO_ID NOT NULL, FECHA_ASIENTO DATE, ORDEN INTEGER, ID_FACTURA TIPO_ID, ID_PAGO TIPO_ID, TIPO VARCHAR(1) ); CREATE TABLE CONT_BALANCES ( ID TIPO_ID NOT NULL, REF_BALANCE VARCHAR(255), NATURALEZA VARCHAR(255), NIVEL1 TIPO_PERFIL, DESCRIPCION1 VARCHAR(255), NIVEL2 TIPO_PERFIL, DESCRIPCION2 VARCHAR(255), NIVEL3 TIPO_PERFIL, DESCRIPCION3 VARCHAR(255) ); CREATE TABLE CONT_CUENTAS ( ID TIPO_ID NOT NULL, REF_CUENTA VARCHAR(10), ID_EJERCICIO TIPO_ID, ID_EPIGRAFE TIPO_ID, DESCRIPCION VARCHAR(255), ID_BALANCE TIPO_ID, ID_CUENTA_ESPECIAL TIPO_ID ); CREATE TABLE CONT_CUENTAS_ESPECIALES ( ID TIPO_ID NOT NULL, REFERENCIA VARCHAR(6), DESCRIPCION VARCHAR(255) ); CREATE TABLE CONT_EJERCICIOS ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, NOMBRE VARCHAR(255), FECHA_INICIO DATE, FECHA_FIN DATE, ESTADO VARCHAR(255), LONG_SUB_CUENTA SMALLINT, ID_ASIENTO_APERTURA TIPO_ID, ID_ASIENTO_PERYGAN TIPO_ID, ID_ASIENTO_CIERRE TIPO_ID, ACTIVO SMALLINT ); CREATE TABLE CONT_EPIGRAFES ( ID TIPO_ID NOT NULL, REF_EPIGRAFE VARCHAR(6), ID_PADRE TIPO_ID, DESCRIPCION VARCHAR(255), ID_EJERCICIO TIPO_ID ); CREATE TABLE CONT_SUBCUENTAS ( ID TIPO_ID NOT NULL, REF_SUBCUENTA VARCHAR(15), DESCRIPCION VARCHAR(255), ID_CUENTA TIPO_ID, ID_EJERCICIO TIPO_ID, ID_CONTACTO 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), ID_TIENDA TIPO_ID ); 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, NIF_CIF VARCHAR(15) ); CREATE TABLE CONTRATOS_CLIENTE ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, ID_CLIENTE TIPO_ID, NIF_CIF VARCHAR(15), NOMBRE VARCHAR(255), CALLE VARCHAR(255), POBLACION VARCHAR(255), PROVINCIA VARCHAR(255), CODIGO_POSTAL VARCHAR(10), REFERENCIA VARCHAR(255), FECHA_CONTRATO DATE, SITUACION VARCHAR(255), FORMA_PAGO TIPO_NOTAS, PLAZO_ENTREGA 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, ID_TIENDA TIPO_ID, ID_VENDEDOR TIPO_ID, ID_TIPO_IVA TIPO_ID, PERSONA_CONTACTO VARCHAR(255) COLLATE ES_ES, RECARGO_EQUIVALENCIA TIPO_BOOLEANO, RE TIPO_PORCENTAJE, IMPORTE_RE TIPO_IMPORTE, TELEFONO VARCHAR(25), MOVIL VARCHAR(25), ID_DIRECCION TIPO_ID, TIPO_CONTRATO VARCHAR(255), CONDICIONES TIPO_NOTAS, REFERENCIA_CLIENTE VARCHAR(255) COLLATE ES_ES ); CREATE TABLE CONTRATOS_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_CONTRATO TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), ID_ARTICULO TIPO_ID, TIPO_ARTICULO VARCHAR(2) COLLATE ES_ES, PROPIEDAD TIPO_FAMILIA, 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, VISIBLE2 TIPO_BOOLEANO ); 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), ID_TIPO_IVA SMALLINT, ID_FORMA_PAGO SMALLINT, VALIDEZ_PRESUPUESTOS 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) ); CREATE TABLE EMPRESAS_TIENDAS ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID NOT NULL, ID_TIENDA TIPO_ID ); CREATE TABLE EMPRESAS_USUARIOS ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID NOT NULL, ID_USUARIO TIPO_ID NOT NULL ); CREATE TABLE FACTURAS_CLIENTE ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, REFERENCIA 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_CLIENTE TIPO_ID, NIF_CIF VARCHAR(15), NOMBRE VARCHAR(255), CALLE VARCHAR(255), POBLACION VARCHAR(255), PROVINCIA VARCHAR(255), CODIGO_POSTAL VARCHAR(10), FECHA_ALTA TIMESTAMP, FECHA_MODIFICACION TIMESTAMP, USUARIO TIPO_USUARIO, 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, IGNORAR_CONTABILIDAD SMALLINT, ID_TIENDA TIPO_ID, FECHA_VENCIMIENTO DATE, ID_DIRECCION TIPO_ID, ID_CONTRATO TIPO_ID, SIN_COMISION SMALLINT, TIPO_FACTURA VARCHAR(255) COLLATE ES_ES ); CREATE TABLE FACTURAS_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_FACTURA TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), 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 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, IGNORAR_CONTABILIDAD SMALLINT, ID_TIENDA TIPO_ID, FECHA_VENCIMIENTO DATE ); CREATE TABLE FACTURAS_PROVEEDOR_CONTRATOS ( ID TIPO_ID NOT NULL, ID_FACTURA TIPO_ID NOT NULL, ID_CONTRATO TIPO_ID NOT NULL, IMPORTE TIPO_IMPORTE ); CREATE TABLE FACTURAS_PROVEEDOR_DETALLES ( ID TIPO_ID NOT NULL, ID_FACTURA TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), 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 FAMILIAS ( ID TIPO_ID NOT NULL, DESCRIPCION TIPO_FAMILIA ); 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 ); 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 ); 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, IGNORAR_CONTABILIDAD SMALLINT ); 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, IGNORAR_CONTABILIDAD SMALLINT ); 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) COLLATE ES_ES, ID_TIENDA TIPO_ID ); CREATE TABLE PEDIDOS_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_PEDIDO TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), 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, REFERENCIA VARCHAR(255), FECHA_PEDIDO DATE, FECHA_CONFIRMACION DATE, FECHA_ENTREGA DATE, ID_ALMACEN 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_TIENDA TIPO_ID, DESCRIPCION_GENERAL VARCHAR(255) COLLATE ES_ES, ID_DIRECCION_CLIENTE TIPO_ID ); CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES ( ID TIPO_ID NOT NULL, ID_PEDIDO TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), 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 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), FECHA_PRESUPUESTO DATE, FECHA_VIGENCIA DATE, FECHA_DECISION DATE, SITUACION VARCHAR(255), FORMA_PAGO TIPO_NOTAS, PLAZO_ENTREGA 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, ID_TIENDA TIPO_ID, ID_VENDEDOR TIPO_ID, ID_DIRECCION TIPO_ID, ID_TIPO_IVA TIPO_ID, PERSONA_CONTACTO VARCHAR(255) COLLATE ES_ES, RECARGO_EQUIVALENCIA TIPO_BOOLEANO, RE TIPO_PORCENTAJE, IMPORTE_RE TIPO_IMPORTE, ID_CONTRATO TIPO_ID, NO_VALORADO TIPO_BOOLEANO, TIPO_PRESUPUESTO VARCHAR(255), CALIDADES TIPO_NOTAS, REFERENCIA_CLIENTE VARCHAR(255) COLLATE ES_ES ); CREATE TABLE PRESUPUESTOS_CLIENTE_CAPITULOS ( ID TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), TIPO_ARTICULO VARCHAR(2) COLLATE ES_ES, CONCEPTO TIPO_FAMILIA ); CREATE TABLE PRESUPUESTOS_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_PRESUPUESTO TIPO_ID NOT NULL, POSICION INTEGER, TIPO_DETALLE VARCHAR(10), ID_ARTICULO TIPO_ID, TIPO_ARTICULO VARCHAR(2) COLLATE ES_ES, PROPIEDAD TIPO_FAMILIA, 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, VISIBLE2 TIPO_BOOLEANO ); 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, GRUPO_PROVEEDOR VARCHAR(255), DESCRIPCION_PROVEEDOR VARCHAR(255), CODIGO_ASIGNADO VARCHAR(255), CERTIFICACION VARCHAR(255), HOMOLOGADO SMALLINT, IGNORAR_CONTABILIDAD TIPO_ID, TIENE_SUBCUENTA TIPO_ID, NOMBRE_COMERCIAL VARCHAR(255), ES_ACREEDOR SMALLINT, VENCIMIENTO_FACTURAS_1 INTEGER, VENCIMIENTO_FACTURAS_2 INTEGER, VENCIMIENTO_FACTURAS_3 INTEGER ); 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_EMPRESA TIPO_ID, ID_CLIENTE TIPO_ID, 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, ID_TIENDA TIPO_ID, NIF_CIF VARCHAR(15), NOMBRE VARCHAR(255), CALLE VARCHAR(255), POBLACION VARCHAR(255), PROVINCIA VARCHAR(255), CODIGO_POSTAL VARCHAR(10) ); CREATE TABLE RECIBOS_PROVEEDOR ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, ID_PROVEEDOR TIPO_ID, 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, ID_TIENDA TIPO_ID, NIF_CIF VARCHAR(15), NOMBRE VARCHAR(255), CALLE VARCHAR(255), POBLACION VARCHAR(255), PROVINCIA VARCHAR(255), CODIGO_POSTAL VARCHAR(10) ); CREATE TABLE REFERENCIAS ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, ID_TIENDA TIPO_ID, CODIGO VARCHAR(50) NOT NULL, VALOR VARCHAR(255) NOT NULL, DESCRIPCION VARCHAR(255) COLLATE ES_ES ); 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 REPL_TABLES ( TABLENAME VARCHAR(32) NOT NULL, LOC_ID INTEGER NOT NULL ); 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 TIENDAS ( ID 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, FECHA_ALTA TIMESTAMP, FECHA_MODIFICACION TIMESTAMP, CODIGO_CONTABLE VARCHAR(2) COLLATE ES_ES ); 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) ); CREATE TABLE VENDEDORES_DATOS ( ID_VENDEDOR TIPO_ID NOT NULL, COMISION TIPO_PORCENTAJE, ID_USUARIO TIPO_ID ); /******************************************************************************/ /*** 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.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.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, CANTIDAD) AS SELECT ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN, ALBARANES_PROVEEDOR.ID_PEDIDO, ALBARANES_PROVEEDOR.ID_ALMACEN, COALESCE(ALBARANES_PROVEEDOR_DETALLES.ID_ARTICULO, 0), SUM (COALESCE(ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, 0)) AS CANTIDAD FROM ALBARANES_PROVEEDOR_DETALLES 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 ; /* 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_CONTRATO, REF_CONTRATO, ID_FACTURA, REF_FACTURA, ID_DIRECCION, CALLE, CODIGO_POSTAL, POBLACION, PROVINCIA, PERSONA_CONTACTO, TELEFONO, MOVIL, IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, ID_TIPO_IVA, IVA, IMPORTE_IVA, IMPORTE_TOTAL, OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_FORMA_PAGO, FECHA_PREVISTA_ENVIO, FECHA_ENVIO, FECHA_RECEPCION, ID_TIENDA, TIENDA, LISTA_NOMBRES) 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_CONTRATO, CONTRATOS_CLIENTE.REFERENCIA AS REF_CONTRATO, 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.MOVIL, ALBARANES_CLIENTE.IMPORTE_NETO, ALBARANES_CLIENTE.IMPORTE_PORTE, ALBARANES_CLIENTE.DESCUENTO, ALBARANES_CLIENTE.IMPORTE_DESCUENTO, ALBARANES_CLIENTE.BASE_IMPONIBLE, ALBARANES_CLIENTE.ID_TIPO_IVA, 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, ALBARANES_CLIENTE.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA, TRIM(leading ', ' from V_CONTACTOS_NOMBRES.OTROS_NOMBRES) as LISTA_NOMBRES FROM ALBARANES_CLIENTE INNER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_CLIENTE.ID_CLIENTE) INNER JOIN V_ALB_CLI_SITUACION ON (V_ALB_CLI_SITUACION.ID = ALBARANES_CLIENTE.ID) LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = ALBARANES_CLIENTE.ID_PEDIDO) LEFT OUTER JOIN CONTRATOS_CLIENTE ON (CONTRATOS_CLIENTE.ID = ALBARANES_CLIENTE.ID_CONTRATO) LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = ALBARANES_CLIENTE.ID_FACTURA) LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_CLIENTE.ID_ALMACEN) LEFT OUTER JOIN TIENDAS ON (TIENDAS.ID = ALBARANES_CLIENTE.ID_TIENDA) LEFT OUTER JOIN V_CONTACTOS_NOMBRES ON (ALBARANES_CLIENTE.ID_CLIENTE = V_CONTACTOS_NOMBRES.ID) ; /* View: V_ALBARANES_PROVEEDOR */ CREATE VIEW V_ALBARANES_PROVEEDOR( ID, ID_EMPRESA, ID_PROVEEDOR, NOMBRE, FECHA_ALBARAN, REFERENCIA, REFERENCIA_PROVEEDOR, TIPO, ID_ALMACEN, NOMBRE_ALMACEN, ID_PEDIDO, REF_PED_PROVEEDOR, ID_FACTURA, REF_FACTURA, REF_FACTURA_PROV, CALLE, CODIGO_POSTAL, POBLACION, PROVINCIA, PERSONA_CONTACTO, TELEFONO, IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, ID_TIPO_IVA, IVA, IMPORTE_IVA, IMPORTE_TOTAL, OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_FORMA_PAGO, ID_TIENDA, TIENDA) AS SELECT ALBARANES_PROVEEDOR.ID, ALBARANES_PROVEEDOR.ID_EMPRESA, ALBARANES_PROVEEDOR.ID_PROVEEDOR, CONTACTOS.NOMBRE, ALBARANES_PROVEEDOR.FECHA_ALBARAN, ALBARANES_PROVEEDOR.REFERENCIA, ALBARANES_PROVEEDOR.REFERENCIA_PROVEEDOR, ALBARANES_PROVEEDOR.TIPO, ALBARANES_PROVEEDOR.ID_ALMACEN, ALMACENES.NOMBRE AS NOMBRE_ALMACEN, ALBARANES_PROVEEDOR.ID_PEDIDO, PEDIDOS_PROVEEDOR.REFERENCIA AS REF_PED_PROVEEDOR, ALBARANES_PROVEEDOR.ID_FACTURA, FACTURAS_PROVEEDOR.REFERENCIA AS REF_FACTURA, ALBARANES_PROVEEDOR.REF_FACTURA_PROV, ALBARANES_PROVEEDOR.CALLE, ALBARANES_PROVEEDOR.CODIGO_POSTAL, ALBARANES_PROVEEDOR.POBLACION, ALBARANES_PROVEEDOR.PROVINCIA, ALBARANES_PROVEEDOR.PERSONA_CONTACTO, ALBARANES_PROVEEDOR.TELEFONO, ALBARANES_PROVEEDOR.IMPORTE_NETO, ALBARANES_PROVEEDOR.IMPORTE_PORTE, ALBARANES_PROVEEDOR.DESCUENTO, ALBARANES_PROVEEDOR.IMPORTE_DESCUENTO, ALBARANES_PROVEEDOR.BASE_IMPONIBLE, ALBARANES_PROVEEDOR.ID_TIPO_IVA, 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_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA 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 TIENDAS ON (TIENDAS.ID = ALBARANES_PROVEEDOR.ID_TIENDA) ; /* View: V_ARTICULOS */ CREATE VIEW V_ARTICULOS( ID, ID_EMPRESA, REFERENCIA, DESCRIPCION, FAMILIA, IMAGEN, COMISIONABLE, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, REFERENCIA_PROV, PRECIO_COSTE, PRECIO_PORTE, DESCUENTO, PRECIO_NETO, PRECIO_PVP, INVENTARIABLE, ID_PROVEEDOR, NOMBRE_PROVEEDOR, ELIMINADO) AS SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA, ARTICULOS.FECHA_MODIFICACION, ARTICULOS.USUARIO, ARTICULOS.REFERENCIA_PROV, ARTICULOS.PRECIO_COSTE, ARTICULOS.PRECIO_PORTE, ARTICULOS.DESCUENTO, ARTICULOS.PRECIO_NETO, ARTICULOS.PRECIO_PVP, ARTICULOS.INVENTARIABLE, ARTICULOS.ID_PROVEEDOR, CONTACTOS.NOMBRE AS NOMBRE_PROVEEDOR, ARTICULOS.ELIMINADO FROM ARTICULOS LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ARTICULOS.ID_PROVEEDOR) WHERE (ARTICULOS.ELIMINADO = 0) ; /* 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, ID_TIENDA, TIENDA) 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, CONTACTOS.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') as TIENDA FROM CONTACTOS INNER JOIN CONTACTOS_CATEGORIAS ON (CONTACTOS_CATEGORIAS.ID_CONTACTO = CONTACTOS.ID) INNER JOIN EMPRESAS_CONTACTOS ON (EMPRESAS_CONTACTOS.ID_CONTACTO = CONTACTOS.ID) LEFT JOIN TIENDAS ON (TIENDAS.ID = CONTACTOS.ID_TIENDA) ; /* View: V_CONTACTOS_DIRECCIONES */ create view V_CONTACTOS_DIRECCIONES ( ID_CONTACTO, ID_DIRECCION, NOMBRE, NIF_CIF, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO, MOVIL, FAX, EMAIL, PERSONA_CONTACTO ) as select CONTACTOS.ID AS ID_CONTACTO, 0 AS ID, CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF, CONTACTOS.CALLE, CONTACTOS.POBLACION, CONTACTOS.PROVINCIA, CONTACTOS.CODIGO_POSTAL, CONTACTOS.TELEFONO_1, CONTACTOS.MOVIL_1, CONTACTOS.FAX, CONTACTOS.EMAIL_1, CONTACTOS.PERSONA_CONTACTO from CONTACTOS union select CONTACTOS_DIRECCIONES.ID_CONTACTO, CONTACTOS_DIRECCIONES.ID, CONTACTOS_DIRECCIONES.NOMBRE, CONTACTOS_DIRECCIONES.NIF_CIF, CONTACTOS_DIRECCIONES.CALLE, CONTACTOS_DIRECCIONES.POBLACION, CONTACTOS_DIRECCIONES.PROVINCIA, CONTACTOS_DIRECCIONES.CODIGO_POSTAL, CONTACTOS_DIRECCIONES.TELEFONO, CONTACTOS_DIRECCIONES.MOVIL, CONTACTOS_DIRECCIONES.FAX, CONTACTOS_DIRECCIONES.EMAIL, CONTACTOS_DIRECCIONES.PERSONA_CONTACTO from CONTACTOS_DIRECCIONES; /* View: V_CONTACTOS_NOMBRES_DIRECCIONES */ create view V_CONTACTOS_NOMBRES_DIRECCIONES( ID, LISTA_NOMBRES) AS select contactos_direcciones.id_contacto, LIST(contactos_direcciones.nombre, ', ') AS lista_nombres_direcciones from contactos_direcciones group by id_contacto; /* 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_TIENDA, TIENDA, GRUPO_CLIENTE, NOMBRE_COMERCIAL, BLOQUEADO, REGIMEN_IVA, MOTIVO_BLOQUEO, RECARGO_EQUIVALENCIA, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB, CODIGO_ASIGNADO, IGNORAR_CONTABILIDAD, TIENE_SUBCUENTA, PROCEDENCIA_CLIENTE, VENCIMIENTO_FACTURAS_1, VENCIMIENTO_FACTURAS_2, VENCIMIENTO_FACTURAS_3, LISTA_NOMBRES) 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, V_CONTACTOS.ID_TIENDA, V_CONTACTOS.TIENDA, CLIENTES_DATOS.GRUPO_CLIENTE, CLIENTES_DATOS.NOMBRE_COMERCIAL, CLIENTES_DATOS.BLOQUEADO, CLIENTES_DATOS.REGIMEN_IVA, CLIENTES_DATOS.MOTIVO_BLOQUEO, CLIENTES_DATOS.RECARGO_EQUIVALENCIA, CLIENTES_DATOS.ID_TIPO_IVA, CLIENTES_DATOS.ID_FORMA_PAGO, CLIENTES_DATOS.TIENDA_WEB, CLIENTES_DATOS.CODIGO_ASIGNADO, CLIENTES_DATOS.IGNORAR_CONTABILIDAD, CLIENTES_DATOS.TIENE_SUBCUENTA, CLIENTES_DATOS.PROCEDENCIA_CLIENTE, CLIENTES_DATOS.VENCIMIENTO_FACTURAS_1, CLIENTES_DATOS.VENCIMIENTO_FACTURAS_2, CLIENTES_DATOS.VENCIMIENTO_FACTURAS_3, V_CONTACTOS_NOMBRES_DIRECCIONES.LISTA_NOMBRES FROM V_CONTACTOS LEFT OUTER JOIN CLIENTES_DATOS ON (V_CONTACTOS.ID = CLIENTES_DATOS.ID_CLIENTE) LEFT OUTER JOIN V_CONTACTOS_NOMBRES_DIRECCIONES ON (V_CONTACTOS.ID = V_CONTACTOS_NOMBRES_DIRECCIONES.ID) WHERE V_CONTACTOS.ID_CATEGORIA = 1 ; /* View: V_COMISIONES */ CREATE VIEW V_COMISIONES( ID, ID_EMPRESA, REFERENCIA, ID_AGENTE, DESCRIPCION, FECHA, IMPORTE_TOTAL, USUARIO, NOMBRE) AS SELECT COMISIONES_LIQUIDADAS.ID, COMISIONES_LIQUIDADAS.ID_EMPRESA, COMISIONES_LIQUIDADAS.REFERENCIA, COMISIONES_LIQUIDADAS.ID_AGENTE, COMISIONES_LIQUIDADAS.DESCRIPCION, COMISIONES_LIQUIDADAS.FECHA, COMISIONES_LIQUIDADAS.IMPORTE_TOTAL, COMISIONES_LIQUIDADAS.USUARIO, CONTACTOS.NOMBRE FROM COMISIONES_LIQUIDADAS LEFT JOIN CONTACTOS ON (CONTACTOS.ID = COMISIONES_LIQUIDADAS.ID_AGENTE) ; /* View: V_CONT_CUENTAS */ CREATE VIEW V_CONT_CUENTAS( ID, REF_CUENTA, ID_EJERCICIO, ESTADO, DESCRIPCION, ID_EPIGRAFE, EPIGRAFE, ID_BALANCE, BALANCE, ID_CUENTA_ESPECIAL, CUENTA_ESPECIAL) AS select CONT_CUENTAS.ID, CONT_CUENTAS.REF_CUENTA, CONT_CUENTAS.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, CONT_CUENTAS.DESCRIPCION, CONT_CUENTAS.ID_EPIGRAFE, CONT_EPIGRAFES.DESCRIPCION as EPIGRAFE, CONT_CUENTAS.ID_BALANCE, CONT_BALANCES.REF_BALANCE as BALANCE, CONT_CUENTAS.ID_CUENTA_ESPECIAL, CONT_CUENTAS_ESPECIALES.DESCRIPCION as CUENTA_ESPECIAL from CONT_CUENTAS left join CONT_EPIGRAFES on (CONT_EPIGRAFES.ID = CONT_CUENTAS.ID_EPIGRAFE) left join CONT_BALANCES on (CONT_BALANCES.ID = CONT_CUENTAS.ID_BALANCE) left join CONT_CUENTAS_ESPECIALES on (CONT_CUENTAS_ESPECIALES.ID = CONT_CUENTAS.ID_CUENTA_ESPECIAL) left join CONT_EJERCICIOS on (CONT_EJERCICIOS.ID = CONT_CUENTAS.ID_EJERCICIO) ; /* View: V_CONT_DIARIO */ CREATE VIEW V_CONT_DIARIO( ID_APUNTE, ID_ASIENTO, ID_FACTURA, ID_PAGO, TIPO, ORDEN_ASIENTO, FECHA_ASIENTO, ID_SUBCUENTA, REF_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO, CONCEPTO, DOCUMENTO, DEBE, HABER, PUNTEADO) AS SELECT CONT_APUNTES.ID, CONT_APUNTES.ID_ASIENTO, CONT_ASIENTOS.ID_FACTURA, CONT_ASIENTOS.ID_PAGO, CONT_ASIENTOS.TIPO, CONT_ASIENTOS.ORDEN, CONT_ASIENTOS.FECHA_ASIENTO, CONT_APUNTES.ID_SUBCUENTA, CONT_SUBCUENTAS.REF_SUBCUENTA as REF_SUBCUENTA, CONT_SUBCUENTAS.DESCRIPCION as SUBCUENTA, CONT_SUBCUENTAS.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, CONT_APUNTES.CONCEPTO, CONT_APUNTES.DOCUMENTO, CONT_APUNTES.DEBE, CONT_APUNTES.HABER, CONT_APUNTES.PUNTEADO FROM CONT_APUNTES LEFT JOIN CONT_ASIENTOS ON (CONT_ASIENTOS.ID = CONT_APUNTES.ID_ASIENTO) LEFT JOIN CONT_SUBCUENTAS ON (CONT_SUBCUENTAS.ID = CONT_APUNTES.ID_SUBCUENTA) left join CONT_EJERCICIOS on (CONT_EJERCICIOS.ID = CONT_SUBCUENTAS.ID_EJERCICIO) order by CONT_ASIENTOS.FECHA_ASIENTO desc, CONT_ASIENTOS.ORDEN desc ; /* View: V_CONT_EPIGRAFES */ CREATE VIEW V_CONT_EPIGRAFES( ID, REF_EPIGRAFE, DESCRIPCION, ID_EJERCICIO, ESTADO, ID_PADRE, EPIGRAFE_PADRE) AS select CONT_EPI1.ID, CONT_EPI1.REF_EPIGRAFE, CONT_EPI1.DESCRIPCION, CONT_EPI1.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, CONT_EPI1.ID_PADRE, CONT_EPI2.DESCRIPCION as EPIGRAFE_PADRE from CONT_EPIGRAFES CONT_EPI1 left join CONT_EPIGRAFES CONT_EPI2 on (CONT_EPI2.ID = CONT_EPI1.ID_PADRE) left join CONT_EJERCICIOS on (CONT_EJERCICIOS.ID = CONT_EPI1.ID_EJERCICIO) ; /* View: V_CONT_FAC_CLI_VENTAS */ CREATE VIEW V_CONT_FAC_CLI_VENTAS( ID_FACTURA, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO) AS select CONT_ASIENTOS.ID_FACTURA, CONT_SUBCUENTAS.ID as ID_SUBCUENTA, CONT_SUBCUENTAS.DESCRIPCION as SUBCUENTA, CONT_SUBCUENTAS.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, CONT_APUNTES.PUNTEADO from CONT_ASIENTOS LEFT JOIN CONT_APUNTES ON (CONT_APUNTES.ID_ASIENTO = CONT_ASIENTOS.ID) LEFT JOIN CONT_SUBCUENTAS ON (CONT_SUBCUENTAS.ID = CONT_APUNTES.ID_SUBCUENTA) LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) LEFT JOIN CONT_EJERCICIOS ON (CONT_EJERCICIOS.ID = CONT_SUBCUENTAS.ID_EJERCICIO) left join CONT_EPIGRAFES CONT_EPI1 on (CONT_EPI1.ID = CONT_CUENTAS.ID_EPIGRAFE) left join CONT_EPIGRAFES CONT_EPI2 on (CONT_EPI2.ID = CONT_EPI1.ID_PADRE) /* Solo sacaremos aquellas tuplas de apuntes cuya subcuenta contable pertenezca ventas*/ where (CONT_ASIENTOS.ID_FACTURA is not null) and (CONT_ASIENTOS.TIPO = 'c') and (COALESCE(CONT_EPI2.REF_EPIGRAFE, CONT_EPI1.REF_EPIGRAFE) = 7) ; /* View: V_CONT_FAC_PRO_COMPRAS */ CREATE VIEW V_CONT_FAC_PRO_COMPRAS( ID_FACTURA, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO) AS select CONT_ASIENTOS.ID_FACTURA, CONT_SUBCUENTAS.ID as ID_SUBCUENTA, CONT_SUBCUENTAS.DESCRIPCION as SUBCUENTA, CONT_SUBCUENTAS.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, CONT_APUNTES.PUNTEADO from CONT_ASIENTOS LEFT JOIN CONT_APUNTES ON (CONT_APUNTES.ID_ASIENTO = CONT_ASIENTOS.ID) LEFT JOIN CONT_SUBCUENTAS ON (CONT_SUBCUENTAS.ID = CONT_APUNTES.ID_SUBCUENTA) LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) LEFT JOIN CONT_EJERCICIOS ON (CONT_EJERCICIOS.ID = CONT_SUBCUENTAS.ID_EJERCICIO) left join CONT_EPIGRAFES CONT_EPI1 on (CONT_EPI1.ID = CONT_CUENTAS.ID_EPIGRAFE) left join CONT_EPIGRAFES CONT_EPI2 on (CONT_EPI2.ID = CONT_EPI1.ID_PADRE) /* Solo sacaremos aquellas tuplas de apuntes cuya subcuenta contable pertenezca compras*/ where (CONT_ASIENTOS.ID_FACTURA is not null) and (CONT_ASIENTOS.TIPO = 'p') and (COALESCE(CONT_EPI2.REF_EPIGRAFE, CONT_EPI1.REF_EPIGRAFE) = 6) ; /* View: V_CONT_PAGOS_CLI_VENTAS */ CREATE VIEW V_CONT_PAGOS_CLI_VENTAS( ID_PAGO, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO) AS select CONT_ASIENTOS.ID_PAGO, CONT_SUBCUENTAS.ID as ID_SUBCUENTA, CONT_SUBCUENTAS.DESCRIPCION as SUBCUENTA, CONT_SUBCUENTAS.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, CONT_APUNTES.PUNTEADO from CONT_ASIENTOS LEFT JOIN CONT_APUNTES ON (CONT_APUNTES.ID_ASIENTO = CONT_ASIENTOS.ID) LEFT JOIN CONT_SUBCUENTAS ON (CONT_SUBCUENTAS.ID = CONT_APUNTES.ID_SUBCUENTA) LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) LEFT JOIN CONT_EJERCICIOS ON (CONT_EJERCICIOS.ID = CONT_SUBCUENTAS.ID_EJERCICIO) left join CONT_EPIGRAFES CONT_EPI1 on (CONT_EPI1.ID = CONT_CUENTAS.ID_EPIGRAFE) left join CONT_EPIGRAFES CONT_EPI2 on (CONT_EPI2.ID = CONT_EPI1.ID_PADRE) /* Solo sacaremos aquellas tuplas de apuntes cuya subcuenta contable pertenezca ventas*/ where (CONT_ASIENTOS.ID_PAGO is not null) and (CONT_ASIENTOS.TIPO = 'c') and (COALESCE(CONT_EPI2.REF_EPIGRAFE, CONT_EPI1.REF_EPIGRAFE) = 5) ; /* View: V_CONT_PAGOS_PRO_COMPRAS */ CREATE VIEW V_CONT_PAGOS_PRO_COMPRAS( ID_PAGO, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO) AS select CONT_ASIENTOS.ID_PAGO, CONT_SUBCUENTAS.ID as ID_SUBCUENTA, CONT_SUBCUENTAS.DESCRIPCION as SUBCUENTA, CONT_SUBCUENTAS.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, CONT_APUNTES.PUNTEADO from CONT_ASIENTOS LEFT JOIN CONT_APUNTES ON (CONT_APUNTES.ID_ASIENTO = CONT_ASIENTOS.ID) LEFT JOIN CONT_SUBCUENTAS ON (CONT_SUBCUENTAS.ID = CONT_APUNTES.ID_SUBCUENTA) LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) LEFT JOIN CONT_EJERCICIOS ON (CONT_EJERCICIOS.ID = CONT_SUBCUENTAS.ID_EJERCICIO) left join CONT_EPIGRAFES CONT_EPI1 on (CONT_EPI1.ID = CONT_CUENTAS.ID_EPIGRAFE) left join CONT_EPIGRAFES CONT_EPI2 on (CONT_EPI2.ID = CONT_EPI1.ID_PADRE) /* Solo sacaremos aquellas tuplas de apuntes cuya subcuenta contable pertenezca compras*/ where (CONT_ASIENTOS.ID_PAGO is not null) and (CONT_ASIENTOS.TIPO = 'p') and (COALESCE(CONT_EPI2.REF_EPIGRAFE, CONT_EPI1.REF_EPIGRAFE) = 5) ; /* View: V_CONT_SUBCUENTAS_SALDO */ CREATE VIEW V_CONT_SUBCUENTAS_SALDO( ID_SUBCUENTA, DEBE, HABER, SALDO) AS select cont_subcuentas.ID, COALESCE(SUM(cont_apuntes.DEBE), 0) as DEBE, COALESCE(SUM(cont_apuntes.HABER), 0) as HABER, COALESCE(SUM(cont_apuntes.DEBE), 0) - COALESCE(SUM(cont_apuntes.HABER), 0) as SALDO from cont_subcuentas left join cont_apuntes on (cont_apuntes.id_subcuenta = cont_subcuentas.ID) group by cont_subcuentas.ID ; /* View: V_CONT_SUBCUENTAS */ CREATE VIEW V_CONT_SUBCUENTAS( ID, REF_SUBCUENTA, DESCRIPCION, ID_EJERCICIO, ESTADO, REF_EPIGRAFE_PADRE, ID_CONTACTO, ID_CUENTA, REF_CUENTA, CUENTA, DEBE, HABER, SALDO) AS select CONT_SUBCUENTAS.ID, CONT_SUBCUENTAS.REF_SUBCUENTA, CONT_SUBCUENTAS.DESCRIPCION, CONT_SUBCUENTAS.ID_EJERCICIO, CONT_EJERCICIOS.ESTADO, COALESCE(CONT_EPI2.REF_EPIGRAFE, CONT_EPI1.REF_EPIGRAFE), CONT_SUBCUENTAS.ID_CONTACTO, CONT_SUBCUENTAS.ID_CUENTA, CONT_CUENTAS.REF_CUENTA, CONT_CUENTAS.DESCRIPCION as CUENTA, V_CONT_SUBCUENTAS_SALDO.DEBE, V_CONT_SUBCUENTAS_SALDO.HABER, V_CONT_SUBCUENTAS_SALDO.SALDO from V_CONT_SUBCUENTAS_SALDO left join CONT_SUBCUENTAS on (CONT_SUBCUENTAS.ID = V_CONT_SUBCUENTAS_SALDO.ID_SUBCUENTA) left join CONT_CUENTAS on (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) left join CONT_EPIGRAFES CONT_EPI1 on (CONT_EPI1.ID = CONT_CUENTAS.ID_EPIGRAFE) left join CONT_EPIGRAFES CONT_EPI2 on (CONT_EPI2.ID = CONT_EPI1.ID_PADRE) left join CONT_EJERCICIOS on (CONT_EJERCICIOS.ID = CONT_SUBCUENTAS.ID_EJERCICIO) order by CONT_CUENTAS.REF_CUENTA ; /* View: V_CONTRATOS_FACTURAS_PROVEEDOR */ CREATE VIEW V_CONTRATOS_FACTURAS_PROVEEDOR( ID_CONTRATO, IMPORTE) AS select ID_CONTRATO, SUM(IMPORTE) as IMPORTE_GASTOS_PROVEEDORES from facturas_proveedor_contratos group by 1 ; /* View: V_CONTRATOS_BENEFICIOS */ CREATE VIEW V_CONTRATOS_BENEFICIOS( ID, REFERENCIA, FECHA_CONTRATO, NOMBRE, NIF_CIF, IMPORTE_NETO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, IMPORTE_FACTURAS_PROVEEDOR, IMPORTE_BENEFICIO, PORCENTAJE_BENEFICIO) AS select contratos_cliente.ID, contratos_cliente.referencia, contratos_cliente.fecha_contrato, contratos_cliente.nombre, contratos_cliente.nif_cif, contratos_cliente.importe_neto, contratos_cliente.importe_descuento, contratos_cliente.base_imponible, v_contratos_facturas_proveedor.importe as importe_facturas_proveedor, (contratos_cliente.base_imponible - coalesce(v_contratos_facturas_proveedor.importe, 0)) as importe_beneficio, case when (contratos_cliente.base_imponible - coalesce(v_contratos_facturas_proveedor.importe, 0)) = 0 then 0 else (((contratos_cliente.base_imponible - coalesce(v_contratos_facturas_proveedor.importe, 0))*100)/contratos_cliente.importe_neto) end as porcentaje_beneficio from contratos_cliente left join v_contratos_facturas_proveedor on (v_contratos_facturas_proveedor.ID_CONTRATO = contratos_cliente.ID) ; /* View: V_CONTRATOS_CLIENTE */ CREATE VIEW V_CONTRATOS_CLIENTE( ID, ID_EMPRESA, ID_CLIENTE, NOMBRE_CLIENTE, REF_CLIENTE, NOMBRE_COMERCIAL_CLIENTE, NIF_CIF, NOMBRE, ID_DIRECCION, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO, MOVIL, REFERENCIA, FECHA_CONTRATO, SITUACION, FORMA_PAGO, PLAZO_ENTREGA, OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, RECARGO_EQUIVALENCIA, RE, IMPORTE_RE, ID_TIPO_IVA, IVA, IMPORTE_IVA, IMPORTE_NETO, IMPORTE_PORTE, ID_TIENDA, TIENDA, BASE_IMPONIBLE, DESCUENTO, IMPORTE_DESCUENTO, IMPORTE_TOTAL, ID_FORMA_PAGO, ID_VENDEDOR, VENDEDOR, PERSONA_CONTACTO, TIPO_CONTRATO, CONDICIONES, CALIDADES, REFERENCIA_CLIENTE, LISTA_NOMBRES) AS SELECT CONTRATOS_CLIENTE.ID, /* CONTRATOS_CLIENTE.ID_EMPRESA,*/ EMPRESAS_CONTACTOS.ID_EMPRESA, CONTRATOS_CLIENTE.ID_CLIENTE, CONTACTOS.NOMBRE, CONTACTOS.REFERENCIA, CLIENTES_DATOS.NOMBRE_COMERCIAL, CONTRATOS_CLIENTE.NIF_CIF, CONTRATOS_CLIENTE.NOMBRE, CONTRATOS_CLIENTE.ID_DIRECCION, CONTRATOS_CLIENTE.CALLE, CONTRATOS_CLIENTE.POBLACION, CONTRATOS_CLIENTE.PROVINCIA, CONTRATOS_CLIENTE.CODIGO_POSTAL, CONTRATOS_CLIENTE.TELEFONO, CONTRATOS_CLIENTE.MOVIL, CONTRATOS_CLIENTE.REFERENCIA, CONTRATOS_CLIENTE.FECHA_CONTRATO, CONTRATOS_CLIENTE.SITUACION, CONTRATOS_CLIENTE.FORMA_PAGO, CONTRATOS_CLIENTE.PLAZO_ENTREGA, CONTRATOS_CLIENTE.OBSERVACIONES, CONTRATOS_CLIENTE.INCIDENCIAS, CONTRATOS_CLIENTE.INCIDENCIAS_ACTIVAS, CONTRATOS_CLIENTE.FECHA_ALTA, CONTRATOS_CLIENTE.FECHA_MODIFICACION, CONTRATOS_CLIENTE.USUARIO, CONTRATOS_CLIENTE.RECARGO_EQUIVALENCIA, CONTRATOS_CLIENTE.RE, CONTRATOS_CLIENTE.IMPORTE_RE, CONTRATOS_CLIENTE.ID_TIPO_IVA, CONTRATOS_CLIENTE.IVA, CONTRATOS_CLIENTE.IMPORTE_IVA, CONTRATOS_CLIENTE.IMPORTE_NETO, CONTRATOS_CLIENTE.IMPORTE_PORTE, CONTRATOS_CLIENTE.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA, CONTRATOS_CLIENTE.BASE_IMPONIBLE, CONTRATOS_CLIENTE.DESCUENTO, CONTRATOS_CLIENTE.IMPORTE_DESCUENTO, CONTRATOS_CLIENTE.IMPORTE_TOTAL, CONTRATOS_CLIENTE.ID_FORMA_PAGO, CONTRATOS_CLIENTE.ID_VENDEDOR, CONTACTOS2.NOMBRE AS VENDEDOR, CONTRATOS_CLIENTE.PERSONA_CONTACTO, CONTRATOS_CLIENTE.TIPO_CONTRATO, CONTRATOS_CLIENTE.CONDICIONES, CONTRATOS_CLIENTE.CALIDADES, CONTRATOS_CLIENTE.REFERENCIA_CLIENTE, TRIM(leading ', ' from V_CONTACTOS_NOMBRES.OTROS_NOMBRES) as LISTA_NOMBRES FROM CONTRATOS_CLIENTE LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = CONTRATOS_CLIENTE.ID_CLIENTE) LEFT JOIN EMPRESAS_CONTACTOS ON (EMPRESAS_CONTACTOS.ID_CONTACTO = CONTACTOS.ID) LEFT OUTER JOIN CONTACTOS CONTACTOS2 ON (CONTRATOS_CLIENTE.ID_VENDEDOR = CONTACTOS2.ID) INNER JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = CONTRATOS_CLIENTE.ID_CLIENTE) LEFT JOIN TIENDAS ON (TIENDAS.ID = CONTRATOS_CLIENTE.ID_TIENDA) LEFT OUTER JOIN V_CONTACTOS_NOMBRES ON (CONTRATOS_CLIENTE.ID_CLIENTE = V_CONTACTOS_NOMBRES.ID) WHERE CONTRATOS_CLIENTE.fecha_contrato >= '01.01.2014' ; /* View: V_EMPRESAS_TIENDAS */ CREATE VIEW V_EMPRESAS_TIENDAS( ID, ID_EMPRESA, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, PERSONA_CONTACTO, NOMBRE, TELEFONO, MOVIL, FAX, EMAIL, NOTAS, FECHA_ALTA, FECHA_MODIFICACION, CODIGO_CONTABLE) AS select empresas_tiendas.id_tienda, empresas_tiendas.id_empresa, tiendas.calle, tiendas.poblacion, tiendas.provincia, tiendas.codigo_postal, tiendas.persona_contacto, tiendas.nombre, tiendas.telefono, tiendas.movil, tiendas.fax, tiendas.email, tiendas.notas, tiendas.fecha_alta, tiendas.fecha_modificacion, tiendas.codigo_contable from empresas_tiendas left join tiendas on (tiendas.id = empresas_tiendas.id_tienda) ; /* 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') AND (RECIBOS_CLIENTE.ID_FACTURA IS NOT NULL) 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') AND (RECIBOS_PROVEEDOR.ID_FACTURA IS NOT NULL) 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, SITUACION, BASE_IMPONIBLE, DESCUENTO, IMPORTE_DESCUENTO, IVA, IMPORTE_IVA, RE, IMPORTE_RE, IMPORTE_TOTAL, OBSERVACIONES, ID_CLIENTE, NOMBRE_CLIENTE, REFERENCIA_CLIENTE, NOMBRE_COMERCIAL_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, ID_AGENTE, REFERENCIA_COMISION, IGNORAR_CONTABILIDAD, ID_TIENDA, TIENDA, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO, ID_CONTRATO, REF_CONTRATO, VENDEDOR, SIN_COMISION, TIPO_FACTURA, LISTA_NOMBRES) 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, 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, CONTACTOS.NOMBRE, CONTACTOS.REFERENCIA, CLIENTES_DATOS.NOMBRE_COMERCIAL, 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.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.IGNORAR_CONTABILIDAD, FACTURAS_CLIENTE.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA, V_CONT_FAC_CLI_VENTAS.ID_SUBCUENTA, V_CONT_FAC_CLI_VENTAS.SUBCUENTA, V_CONT_FAC_CLI_VENTAS.ID_EJERCICIO, V_CONT_FAC_CLI_VENTAS.ESTADO_EJERCICIO, V_CONT_FAC_CLI_VENTAS.ASIENTO_PUNTEADO, FACTURAS_CLIENTE.ID_CONTRATO, CONTRATOS_CLIENTE.REFERENCIA, VENDEDORES.NOMBRE as VENDEDOR, FACTURAS_CLIENTE.SIN_COMISION, FACTURAS_CLIENTE.TIPO_FACTURA, V_CONTACTOS_NOMBRES.OTROS_NOMBRES as LISTA_NOMBRES 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) INNER JOIN CONTACTOS ON (CONTACTOS.ID = FACTURAS_CLIENTE.ID_CLIENTE) INNER JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = FACTURAS_CLIENTE.ID_CLIENTE) LEFT JOIN TIENDAS ON (TIENDAS.ID = FACTURAS_CLIENTE.ID_TIENDA) LEFT JOIN V_CONT_FAC_CLI_VENTAS ON (V_CONT_FAC_CLI_VENTAS.ID_FACTURA = FACTURAS_CLIENTE.ID) LEFT JOIN CONTRATOS_CLIENTE ON (CONTRATOS_CLIENTE.ID = FACTURAS_CLIENTE.ID_CONTRATO) LEFT JOIN CONTACTOS as VENDEDORES ON (CONTRATOS_CLIENTE.ID_VENDEDOR = VENDEDORES.ID) LEFT OUTER JOIN V_CONTACTOS_NOMBRES ON (FACTURAS_CLIENTE.ID_CLIENTE = V_CONTACTOS_NOMBRES.ID) ; /* 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, NOMBRE_PROVEEDOR, NOMBRE_COMERCIAL_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, IGNORAR_CONTABILIDAD, ID_TIENDA, TIENDA, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO) 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, CONTACTOS.NOMBRE, PROVEEDORES_DATOS.NOMBRE_COMERCIAL, 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.IGNORAR_CONTABILIDAD, FACTURAS_PROVEEDOR.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA, V_CONT_FAC_PRO_COMPRAS.ID_SUBCUENTA, V_CONT_FAC_PRO_COMPRAS.SUBCUENTA, V_CONT_FAC_PRO_COMPRAS.ID_EJERCICIO, V_CONT_FAC_PRO_COMPRAS.ESTADO_EJERCICIO, V_CONT_FAC_PRO_COMPRAS.ASIENTO_PUNTEADO FROM V_FAC_PRO_SITUACION LEFT JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = V_FAC_PRO_SITUACION.ID_FACTURA) LEFT JOIN CONTACTOS ON (CONTACTOS.ID = FACTURAS_PROVEEDOR.ID_PROVEEDOR) LEFT JOIN PROVEEDORES_DATOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = FACTURAS_PROVEEDOR.ID_PROVEEDOR) LEFT JOIN TIENDAS ON (TIENDAS.ID = FACTURAS_PROVEEDOR.ID_TIENDA) LEFT JOIN V_CONT_FAC_PRO_COMPRAS ON (V_CONT_FAC_PRO_COMPRAS.ID_FACTURA = FACTURAS_PROVEEDOR.ID) ; /* 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 'Entrada' ELSE 'Salida' END, (-1)*V_ALB_CLI_DETALLES.CANTIDAD, CASE WHEN ALBARANES_CLIENTE.IMPORTE_TOTAL < 0 THEN 'Orden de devolución de cliente ' || ALBARANES_CLIENTE.REFERENCIA ELSE 'Albarán de cliente ' || ALBARANES_CLIENTE.REFERENCIA END FROM V_ALB_CLI_DETALLES LEFT JOIN ALBARANES_CLIENTE ON (V_ALB_CLI_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID) WHERE (V_ALB_CLI_DETALLES.ID_ALMACEN IS NOT NULL) AND (V_ALB_CLI_DETALLES.SITUACION in ('ENVIADO', 'SERVIDO')) ; /* 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 'Salida' ELSE 'Entrada' END, V_ALB_PROV_DETALLES.CANTIDAD, CASE WHEN ALBARANES_PROVEEDOR.IMPORTE_TOTAL < 0 THEN 'Orden de devolución ' || ALBARANES_PROVEEDOR.REFERENCIA ELSE 'Albarán de proveedor ' || ALBARANES_PROVEEDOR.REFERENCIA END FROM V_ALB_PROV_DETALLES LEFT JOIN ALBARANES_PROVEEDOR ON (V_ALB_PROV_DETALLES.ID_ALBARAN = ALBARANES_PROVEEDOR.ID) WHERE (V_ALB_PROV_DETALLES.ID_ALMACEN IS NOT NULL) ; /* 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, CASE WHEN TIPO = 'E' THEN 'Entrada' ELSE 'Salida' END, CASE WHEN TIPO = 'S' THEN (-1)* CANTIDAD ELSE CANTIDAD END, 'Regularización por - ' || CAUSA FROM MOVIMIENTOS ; /* 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, REFERENCIA_PROV, DESCRIPCION, TIPO_MOVIMIENTO, CANTIDAD, CAUSA) AS SELECT V_HIS_MOV_AUX.FECHA, V_HIS_MOV_AUX.ID_ALMACEN, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, V_HIS_MOV_AUX.ID_ARTICULO, ARTICULOS.FAMILIA, ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV, ARTICULOS.DESCRIPCION, V_HIS_MOV_AUX.TIPO_MOVIMIENTO, V_HIS_MOV_AUX.CANTIDAD, V_HIS_MOV_AUX.CAUSA FROM V_HIS_MOV_AUX LEFT JOIN ALMACENES ON (ALMACENES.ID = V_HIS_MOV_AUX.ID_ALMACEN) LEFT JOIN ARTICULOS ON (ARTICULOS.ID = V_HIS_MOV_AUX.ID_ARTICULO) WHERE (V_HIS_MOV_AUX.ID_ARTICULO <> 0) AND (ARTICULOS.INVENTARIABLE = 1) ; /* View: V_INV_DETALLE_RESERVAS */ CREATE VIEW V_INV_DETALLE_RESERVAS( ID_ALB, ID_EMPRESA, REFERENCIA_ALB, SITUACION_ALB, FECHA_PREVISTA_ENVIO_ALB, ID_ALMACEN_ALB, ALMACEN_ALB, ID_CLIENTE_ALB, CLIENTE_ALB, ID_ART, FAMILIA_ART, REFERENCIA_ART, REFERENCIA_PROV_ART, DESCRIPCION_ART, CANTIDAD_ART) AS SELECT ALBARANES_CLIENTE_DETALLES.ID_ALBARAN, ALBARANES_CLIENTE.ID_EMPRESA, ALBARANES_CLIENTE.REFERENCIA, V_ALB_CLI_SITUACION.SITUACION, ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO, ALBARANES_CLIENTE.ID_ALMACEN, ALMACENES.NOMBRE AS ALMACEN, ALBARANES_CLIENTE.ID_CLIENTE, CONTACTOS.NOMBRE AS CLIENTE, ARTICULOS.ID, ARTICULOS.FAMILIA, ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV, ARTICULOS.DESCRIPCION, SUM(COALESCE(ALBARANES_CLIENTE_DETALLES.CANTIDAD, 0)) FROM ALBARANES_CLIENTE_DETALLES LEFT JOIN ALBARANES_CLIENTE ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID) LEFT JOIN CONTACTOS ON (ALBARANES_CLIENTE.ID_CLIENTE = CONTACTOS.ID) LEFT JOIN ALMACENES ON (ALBARANES_CLIENTE.ID_ALMACEN = ALMACENES.ID) LEFT JOIN ARTICULOS ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID) LEFT JOIN V_ALB_CLI_SITUACION ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = V_ALB_CLI_SITUACION.ID) /*Quitamos aquellos detalles que no tengan cabecera existente aquellos que no se correspondan con un almacén es decir albaranes libres que el albaran este pendiente (los articulos estan reservados en el almacen) aquellos que no se correspondan con artículos existentes en el catalogo y que no sean inventariables*/ WHERE (ALBARANES_CLIENTE.ID IS NOT NULL) AND (ALBARANES_CLIENTE.ID_ALMACEN IS NOT NULL) AND (V_ALB_CLI_SITUACION.SITUACION = 'PENDIENTE') AND (ARTICULOS.ID is not null) AND (ARTICULOS.ELIMINADO = 0) AND (ARTICULOS.INVENTARIABLE = 1) GROUP BY ALBARANES_CLIENTE_DETALLES.ID_ALBARAN, ALBARANES_CLIENTE.ID_EMPRESA, ALBARANES_CLIENTE.REFERENCIA, V_ALB_CLI_SITUACION.SITUACION, ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO, ALBARANES_CLIENTE.ID_ALMACEN, ALMACENES.NOMBRE, ALBARANES_CLIENTE.ID_CLIENTE, CONTACTOS.NOMBRE, ARTICULOS.ID, ARTICULOS.FAMILIA, ARTICULOS.REFERENCIA, ARTICULOS.REFERENCIA_PROV, ARTICULOS.DESCRIPCION ; /* 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, CANTIDAD) AS SELECT ID_PEDIDO, ID_ARTICULO, SUM(CANTIDAD) AS CANTIDAD FROM V_ALB_PROV_DETALLES WHERE (ID_PEDIDO is not null) GROUP BY ID_PEDIDO, ID_ARTICULO ; /* View: V_PED_PROV_DETALLES */ CREATE VIEW V_PED_PROV_DETALLES( ID_PEDIDO, ID_ALMACEN, ID_ARTICULO, CANTIDAD) AS SELECT PEDIDOS_PROVEEDOR_DETALLES.ID_PEDIDO, PEDIDOS_PROVEEDOR.ID_ALMACEN, COALESCE(PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO, 0), SUM(COALESCE(PEDIDOS_PROVEEDOR_DETALLES.CANTIDAD, 0)) FROM PEDIDOS_PROVEEDOR_DETALLES LEFT JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR_DETALLES.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID) /*Mantenemos los articulos inventariables y aquellos que no existan en nuestro catálogo con el fin de no falsear la situación de los pedidos LEFT JOIN ARTICULOS ON (PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID) WHERE (PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO is not null) AND (ARTICULOS.INVENTARIABLE = 1) */ GROUP BY PEDIDOS_PROVEEDOR_DETALLES.ID_PEDIDO, PEDIDOS_PROVEEDOR.ID_ALMACEN, PEDIDOS_PROVEEDOR_DETALLES.ID_ARTICULO ; /* View: V_PED_PROV_ARTICULOS_AUX */ CREATE VIEW V_PED_PROV_ARTICULOS_AUX( ID_PEDIDO, ID_ARTICULO, CANTIDAD_PEDIDA, CANTIDAD_RECIBIDA) AS SELECT V_PED_PROV_DETALLES.ID_PEDIDO, V_PED_PROV_DETALLES.ID_ARTICULO, V_PED_PROV_DETALLES.CANTIDAD AS CANTIDAD_PEDIDA, 0 as CANTIDAD_RECIBIDA FROM V_PED_PROV_DETALLES UNION ALL SELECT V_PED_PROV_ARTICULOS_RECIBIDOS.ID_PEDIDO, V_PED_PROV_ARTICULOS_RECIBIDOS.ID_ARTICULO, NULL as CANTIDAD_PEDIDA, V_PED_PROV_ARTICULOS_RECIBIDOS.CANTIDAD AS CANTIDAD_RECIBIDA FROM V_PED_PROV_ARTICULOS_RECIBIDOS ; /* View: V_PED_PROV_ARTICULOS */ CREATE VIEW V_PED_PROV_ARTICULOS( ID_PEDIDO, ID_ARTICULO, CANTIDAD_PEDIDA, CANTIDAD_RECIBIDA, CANTIDAD_PENDIENTE) AS SELECT ID_PEDIDO, /*PEDIDOS_PROVEEDOR.ID_ALMACEN,*/ ID_ARTICULO, SUM(CANTIDAD_PEDIDA) as CANTIDAD_PEDIDA, SUM(CANTIDAD_RECIBIDA) as CANTIDAD_RECIBIDA, SUM(CANTIDAD_PEDIDA) - SUM(CANTIDAD_RECIBIDA) as CANTIDAD_PENDIENTE FROM V_PED_PROV_ARTICULOS_AUX /* LEFT JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID = V_PED_PROV_ARTICULOS_AUX.ID_PEDIDO) */ GROUP BY ID_PEDIDO, /*PEDIDOS_PROVEEDOR.ID_ALMACEN,*/ ID_ARTICULO HAVING SUM(CANTIDAD_PEDIDA) IS NOT NULL ; /* 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 */ CREATE VIEW V_INV_RESERVAS( ID_ALMACEN, ID_ARTICULO, CANTIDAD) AS SELECT ID_ALMACEN, ID_ARTICULO, SUM(CANTIDAD) FROM V_ALB_CLI_DETALLES WHERE (ID_ALMACEN IS NOT NULL) AND (SITUACION = 'PENDIENTE') GROUP BY ID_ALMACEN, ID_ARTICULO ; /* 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, NOMBRE, ID_ARTICULO, REFERENCIA, FAMILIA, DESCRIPCION, REFERENCIA_PROV, PRECIO_NETO, STOCK, UNIDADES_ALMACEN, COSTE_UNIDADES, RESERVA, PENDIENTE_RECEPCION) AS SELECT ID_ALMACEN, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ID_ARTICULO, ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.DESCRIPCION, ARTICULOS.REFERENCIA_PROV, COALESCE(ARTICULOS.PRECIO_NETO,0) as PRECIO_NETO, (SUM(STOCK) - SUM(RESERVA)) as STOCK, SUM(STOCK) as UNIDADES_ALMACEN, /*Si las unidades son negativas no se tiene en cuenta el coste*/ CASE WHEN (SUM(STOCK) < 0) THEN 0 ELSE (COALESCE(ARTICULOS.PRECIO_NETO,0) * SUM(STOCK)) END as COSTE_UNIDADES, SUM(RESERVA) as RESERVA, SUM(PENDIENTE_RECEPCION) as PENDIENTE_RECEPCION FROM V_INVENTARIO_AUX LEFT JOIN ARTICULOS ON (ARTICULOS.ID = V_INVENTARIO_AUX.ID_ARTICULO) LEFT JOIN ALMACENES ON (ALMACENES.ID = V_INVENTARIO_AUX.ID_ALMACEN) WHERE (ID_ARTICULO <> 0) AND (ARTICULOS.ELIMINADO = 0) AND (ARTICULOS.INVENTARIABLE = 1) GROUP BY ID_ALMACEN, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ID_ARTICULO, ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.DESCRIPCION, ARTICULOS.REFERENCIA_PROV, ARTICULOS.PRECIO_NETO ; /* View: V_PAGOS_CLIENTE */ CREATE VIEW V_PAGOS_CLIENTE( ID, ID_RECIBO, TIPO, FECHA_PAGO, TITULAR, ENTIDAD, SUCURSAL, DC, CUENTA, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, IGNORAR_CONTABILIDAD, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO) AS SELECT PAGOS_CLIENTE.ID, PAGOS_CLIENTE.ID_RECIBO, PAGOS_CLIENTE.TIPO, PAGOS_CLIENTE.FECHA_PAGO, PAGOS_CLIENTE.TITULAR, PAGOS_CLIENTE.ENTIDAD, PAGOS_CLIENTE.SUCURSAL, PAGOS_CLIENTE.DC, PAGOS_CLIENTE.CUENTA, PAGOS_CLIENTE.FECHA_ALTA, PAGOS_CLIENTE.FECHA_MODIFICACION, PAGOS_CLIENTE.USUARIO, PAGOS_CLIENTE.IGNORAR_CONTABILIDAD, V_CONT_PAGOS_CLI_VENTAS.ID_SUBCUENTA, V_CONT_PAGOS_CLI_VENTAS.SUBCUENTA, V_CONT_PAGOS_CLI_VENTAS.ID_EJERCICIO, V_CONT_PAGOS_CLI_VENTAS.ESTADO_EJERCICIO, V_CONT_PAGOS_CLI_VENTAS.ASIENTO_PUNTEADO FROM PAGOS_CLIENTE LEFT JOIN V_CONT_PAGOS_CLI_VENTAS ON (V_CONT_PAGOS_CLI_VENTAS.ID_PAGO = PAGOS_CLIENTE.ID) ; /* View: V_PAGOS_PROVEEDOR */ CREATE VIEW V_PAGOS_PROVEEDOR( ID, ID_RECIBO, TIPO, FECHA_PAGO, TITULAR, ENTIDAD, SUCURSAL, DC, CUENTA, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, IGNORAR_CONTABILIDAD, ID_SUBCUENTA, SUBCUENTA, ID_EJERCICIO, ESTADO_EJERCICIO, ASIENTO_PUNTEADO) AS SELECT PAGOS_PROVEEDOR.ID, PAGOS_PROVEEDOR.ID_RECIBO, PAGOS_PROVEEDOR.TIPO, PAGOS_PROVEEDOR.FECHA_PAGO, PAGOS_PROVEEDOR.TITULAR, PAGOS_PROVEEDOR.ENTIDAD, PAGOS_PROVEEDOR.SUCURSAL, PAGOS_PROVEEDOR.DC, PAGOS_PROVEEDOR.CUENTA, PAGOS_PROVEEDOR.FECHA_ALTA, PAGOS_PROVEEDOR.FECHA_MODIFICACION, PAGOS_PROVEEDOR.USUARIO, PAGOS_PROVEEDOR.IGNORAR_CONTABILIDAD, V_CONT_PAGOS_PRO_COMPRAS.ID_SUBCUENTA, V_CONT_PAGOS_PRO_COMPRAS.SUBCUENTA, V_CONT_PAGOS_PRO_COMPRAS.ID_EJERCICIO, V_CONT_PAGOS_PRO_COMPRAS.ESTADO_EJERCICIO, V_CONT_PAGOS_PRO_COMPRAS.ASIENTO_PUNTEADO FROM PAGOS_PROVEEDOR LEFT JOIN V_CONT_PAGOS_PRO_COMPRAS ON (V_CONT_PAGOS_PRO_COMPRAS.ID_PAGO = PAGOS_PROVEEDOR.ID) ; /* 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, REFERENCIA, SITUACION, FECHA_ENVIO, FECHA_PEDIDO, FECHA_CONFIRMACION, FECHA_ENTREGA, ID_ALMACEN, NOMBRE_ALMACEN, OBSERVACIONES, IMPORTE_TOTAL, INCIDENCIAS, INCIDENCIAS_ACTIVAS, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, PERSONA_CONTACTO, TELEFONO, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_PEDIDO_CLIENTE, REF_PED_CLIENTE, IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, IVA, IMPORTE_IVA, ID_FORMA_PAGO, ID_TIENDA, TIENDA, DESCRIPCION_GENERAL, ID_DIRECCION_CLIENTE) AS SELECT PEDIDOS_PROVEEDOR.ID, PEDIDOS_PROVEEDOR.ID_EMPRESA, PEDIDOS_PROVEEDOR.ID_PROVEEDOR, CONTACTOS.NOMBRE, PEDIDOS_PROVEEDOR.REFERENCIA, TRIM(case when (PEDIDOS_PROVEEDOR.FECHA_ENTREGA is null) then 'PENDIENTE' when (PEDIDOS_PROVEEDOR.FECHA_ENTREGA is not null) then 'RECIBIDO' else 'N/A' end) as SITUACION, PEDIDOS_PROVEEDOR.FECHA_ENVIO, PEDIDOS_PROVEEDOR.FECHA_PEDIDO, PEDIDOS_PROVEEDOR.FECHA_CONFIRMACION, PEDIDOS_PROVEEDOR.FECHA_ENTREGA, PEDIDOS_PROVEEDOR.ID_ALMACEN, ALMACENES.NOMBRE AS NOMBRE_ALMACEN, PEDIDOS_PROVEEDOR.OBSERVACIONES, PEDIDOS_PROVEEDOR.IMPORTE_TOTAL, PEDIDOS_PROVEEDOR.INCIDENCIAS, PEDIDOS_PROVEEDOR.INCIDENCIAS_ACTIVAS, PEDIDOS_PROVEEDOR.CALLE, PEDIDOS_PROVEEDOR.POBLACION, PEDIDOS_PROVEEDOR.PROVINCIA, PEDIDOS_PROVEEDOR.CODIGO_POSTAL, PEDIDOS_PROVEEDOR.PERSONA_CONTACTO, PEDIDOS_PROVEEDOR.TELEFONO, PEDIDOS_PROVEEDOR.FECHA_ALTA, PEDIDOS_PROVEEDOR.FECHA_MODIFICACION, PEDIDOS_PROVEEDOR.USUARIO, PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE, PEDIDOS_CLIENTE.REFERENCIA AS REF_PED_CLIENTE, PEDIDOS_PROVEEDOR.IMPORTE_NETO, PEDIDOS_PROVEEDOR.IMPORTE_PORTE, PEDIDOS_PROVEEDOR.DESCUENTO, PEDIDOS_PROVEEDOR.IMPORTE_DESCUENTO, PEDIDOS_PROVEEDOR.BASE_IMPONIBLE, PEDIDOS_PROVEEDOR.IVA, PEDIDOS_PROVEEDOR.IMPORTE_IVA, PEDIDOS_PROVEEDOR.ID_FORMA_PAGO, PEDIDOS_PROVEEDOR.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA, PEDIDOS_PROVEEDOR.DESCRIPCION_GENERAL, PEDIDOS_PROVEEDOR.ID_DIRECCION_CLIENTE FROM PEDIDOS_PROVEEDOR INNER JOIN CONTACTOS ON (CONTACTOS.ID = PEDIDOS_PROVEEDOR.ID_PROVEEDOR) INNER 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 PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE) LEFT OUTER JOIN TIENDAS ON (TIENDAS.ID = PEDIDOS_PROVEEDOR.ID_TIENDA) ; /* View: V_PERFILES */ CREATE VIEW V_PERFILES( ID, USERNAME, LOGIN, TIPO) AS SELECT ID, USERNAME, LOGIN, TIPO FROM USUARIOS WHERE TIPO = 'P' ORDER BY USERNAME ; CREATE VIEW V_PRESUPUESTOS_CLIENTE( ID, ID_EMPRESA, FECHA_PRESUPUESTO, FECHA_VIGENCIA, FECHA_DECISION, REFERENCIA, SITUACION, ID_CLIENTE, ID_DIRECCION, NIF_CIF, NOMBRE, PERSONA_CONTACTO, FORMA_PAGO, PLAZO_ENTREGA, OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, ID_TIPO_IVA, IVA, IMPORTE_IVA, RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, IMPORTE_TOTAL, ID_FORMA_PAGO, ID_TIENDA, TIENDA, ID_VENDEDOR, VENDEDOR, ID_CONTRATO, REF_CONTRATO, NO_VALORADO, TIPO_PRESUPUESTO, CALIDADES, REFERENCIA_CLIENTE, LISTA_NOMBRES) AS SELECT PRESUPUESTOS_CLIENTE.ID, /* PRESUPUESTOS_CLIENTE.ID_EMPRESA,*/ EMPRESAS_CONTACTOS.ID_EMPRESA, PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO, PRESUPUESTOS_CLIENTE.FECHA_VIGENCIA, PRESUPUESTOS_CLIENTE.FECHA_DECISION, PRESUPUESTOS_CLIENTE.REFERENCIA, PRESUPUESTOS_CLIENTE.SITUACION, PRESUPUESTOS_CLIENTE.ID_CLIENTE, PRESUPUESTOS_CLIENTE.ID_DIRECCION, CONTACTOS.NIF_CIF, CONTACTOS.NOMBRE, PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO, PRESUPUESTOS_CLIENTE.FORMA_PAGO, PRESUPUESTOS_CLIENTE.PLAZO_ENTREGA, 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.ID_TIPO_IVA, PRESUPUESTOS_CLIENTE.IVA, PRESUPUESTOS_CLIENTE.IMPORTE_IVA, PRESUPUESTOS_CLIENTE.RE, PRESUPUESTOS_CLIENTE.IMPORTE_RE, PRESUPUESTOS_CLIENTE.RECARGO_EQUIVALENCIA, PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL, PRESUPUESTOS_CLIENTE.ID_FORMA_PAGO, PRESUPUESTOS_CLIENTE.id_tienda, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA, PRESUPUESTOS_CLIENTE.ID_VENDEDOR, CONTACTOS2.NOMBRE AS VENDEDOR, PRESUPUESTOS_CLIENTE.ID_CONTRATO, CONTRATOS_CLIENTE.REFERENCIA, PRESUPUESTOS_CLIENTE.NO_VALORADO, PRESUPUESTOS_CLIENTE.TIPO_PRESUPUESTO, PRESUPUESTOS_CLIENTE.CALIDADES, PRESUPUESTOS_CLIENTE.REFERENCIA_CLIENTE, TRIM(leading ', ' from V_CONTACTOS_NOMBRES.OTROS_NOMBRES) as LISTA_NOMBRES FROM PRESUPUESTOS_CLIENTE LEFT OUTER JOIN CONTACTOS ON (PRESUPUESTOS_CLIENTE.ID_CLIENTE = CONTACTOS.ID) LEFT JOIN EMPRESAS_CONTACTOS ON (EMPRESAS_CONTACTOS.ID_CONTACTO = CONTACTOS.ID) LEFT OUTER JOIN CONTACTOS CONTACTOS2 ON (PRESUPUESTOS_CLIENTE.ID_VENDEDOR = CONTACTOS2.ID) LEFT OUTER JOIN TIENDAS ON (TIENDAS.ID = PRESUPUESTOS_CLIENTE.ID_TIENDA) LEFT OUTER JOIN CONTRATOS_CLIENTE ON (CONTRATOS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_CONTRATO) LEFT OUTER JOIN V_CONTACTOS_NOMBRES ON (PRESUPUESTOS_CLIENTE.ID_CLIENTE = V_CONTACTOS_NOMBRES.ID) WHERE PRESUPUESTOS_CLIENTE.fecha_presupuesto >= '01.01.2014' ; /* 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, ID_TIENDA, TIENDA, DESCUENTO, DESCRIPCION_PROVEEDOR, CODIGO_ASIGNADO, GRUPO_PROVEEDOR, REGIMEN_IVA, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB, HOMOLOGADO, CERTIFICACION, IGNORAR_CONTABILIDAD, TIENE_SUBCUENTA, NOMBRE_COMERCIAL, ES_ACREEDOR, 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, V_CONTACTOS.ID_TIENDA, V_CONTACTOS.TIENDA, 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.IGNORAR_CONTABILIDAD, PROVEEDORES_DATOS.TIENE_SUBCUENTA, PROVEEDORES_DATOS.NOMBRE_COMERCIAL, PROVEEDORES_DATOS.ES_ACREEDOR, PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_1, PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_2, PROVEEDORES_DATOS.VENCIMIENTO_FACTURAS_3 FROM PROVEEDORES_DATOS INNER JOIN V_CONTACTOS 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, FECHA_FACTURA, FORMA_PAGO_FACTURA, IMPORTE_FACTURA, ID_REMESA, REFERENCIA_REMESA, FECHA_EMISION, FECHA_VENCIMIENTO, DESCRIPCION, OBSERVACIONES, IMPORTE, OTROS_GASTOS, IMPORTE_TOTAL, ID_EMPRESA, ID_CLIENTE, NOMBRE_CLIENTE, ENTIDAD_CLIENTE, SUCURSAL_CLIENTE, DC_CLIENTE, CUENTA_CLIENTE, NIF_CIF, NOMBRE, CALLE, POBLACION, CODIGO_POSTAL, PROVINCIA, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_TIENDA, TIENDA, LISTA_NOMBRES) 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, FACTURAS_CLIENTE.FECHA_FACTURA, FORMAS_PAGO.DESCRIPCION, FACTURAS_CLIENTE.IMPORTE_TOTAL, 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), RECIBOS_CLIENTE.ID_EMPRESA, RECIBOS_CLIENTE.ID_CLIENTE, CONTACTOS.NOMBRE, CONTACTOS_DATOS_BANCO.ENTIDAD, CONTACTOS_DATOS_BANCO.SUCURSAL, CONTACTOS_DATOS_BANCO.DC, CONTACTOS_DATOS_BANCO.CUENTA, RECIBOS_CLIENTE.NIF_CIF, RECIBOS_CLIENTE.NOMBRE, RECIBOS_CLIENTE.CALLE, RECIBOS_CLIENTE.POBLACION, RECIBOS_CLIENTE.CODIGO_POSTAL, RECIBOS_CLIENTE.PROVINCIA, RECIBOS_CLIENTE.FECHA_ALTA, RECIBOS_CLIENTE.FECHA_MODIFICACION, RECIBOS_CLIENTE.USUARIO, RECIBOS_CLIENTE.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA, V_CONTACTOS_NOMBRES.OTROS_NOMBRES as LISTA_NOMBRES 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 = RECIBOS_CLIENTE.ID_CLIENTE) LEFT JOIN CONTACTOS_DATOS_BANCO ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID) LEFT JOIN REMESAS_CLIENTE ON (REMESAS_CLIENTE.ID = RECIBOS_CLIENTE.ID_REMESA) LEFT JOIN V_REC_CLI_COMPENSADOS ON (V_REC_CLI_COMPENSADOS.ID_RECIBO = RECIBOS_CLIENTE.ID) LEFT JOIN RECIBOS_CLIENTE RECIBO_COMPENSADO1 ON (RECIBO_COMPENSADO1.ID = RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO) LEFT JOIN V_REC_CLI_SITUACION RECIBO_COMPENSADO2 ON (RECIBO_COMPENSADO2.ID_RECIBO = RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO) LEFT JOIN TIENDAS ON (TIENDAS.ID = RECIBOS_CLIENTE.ID_TIENDA) LEFT OUTER JOIN V_CONTACTOS_NOMBRES ON (RECIBOS_CLIENTE.ID_CLIENTE = V_CONTACTOS_NOMBRES.ID) ; /* View: V_RECIBOS_PROVEEDOR */ CREATE VIEW V_RECIBOS_PROVEEDOR( ID, ID_RECIBO_COMPENSADO, REFERENCIA_REC_COMPENSADO, REFERENCIA, REFERENCIA_PROVEEDOR, SITUACION, ID_FACTURA, REFERENCIA_FACTURA_PROV, FECHA_FACTURA, FORMA_PAGO_FACTURA, IMPORTE_FACTURA, ID_REMESA, REFERENCIA_REMESA, FECHA_EMISION, FECHA_VENCIMIENTO, DESCRIPCION, OBSERVACIONES, IMPORTE, OTROS_GASTOS, IMPORTE_TOTAL, ID_EMPRESA, ID_PROVEEDOR, NOMBRE_PROVEEDOR, ENTIDAD_PROVEEDOR, SUCURSAL_PROVEEDOR, DC_PROVEEDOR, CUENTA_PROVEEDOR, NIF_CIF, NOMBRE, CALLE, POBLACION, CODIGO_POSTAL, PROVINCIA, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_TIENDA, TIENDA) 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, FACTURAS_PROVEEDOR.REFERENCIA_PROVEEDOR, FACTURAS_PROVEEDOR.FECHA_FACTURA, FORMAS_PAGO.DESCRIPCION, FACTURAS_PROVEEDOR.IMPORTE_TOTAL, 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), RECIBOS_PROVEEDOR.ID_EMPRESA, RECIBOS_PROVEEDOR.ID_PROVEEDOR, CONTACTOS.NOMBRE, CONTACTOS_DATOS_BANCO.ENTIDAD, CONTACTOS_DATOS_BANCO.SUCURSAL, CONTACTOS_DATOS_BANCO.DC, CONTACTOS_DATOS_BANCO.CUENTA, RECIBOS_PROVEEDOR.NIF_CIF, RECIBOS_PROVEEDOR.NOMBRE, RECIBOS_PROVEEDOR.CALLE, RECIBOS_PROVEEDOR.POBLACION, RECIBOS_PROVEEDOR.CODIGO_POSTAL, RECIBOS_PROVEEDOR.PROVINCIA, RECIBOS_PROVEEDOR.FECHA_ALTA, RECIBOS_PROVEEDOR.FECHA_MODIFICACION, RECIBOS_PROVEEDOR.USUARIO, RECIBOS_PROVEEDOR.ID_TIENDA, COALESCE(TIENDAS.NOMBRE, 'Todas') AS TIENDA 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 = RECIBOS_PROVEEDOR.ID_PROVEEDOR) LEFT JOIN CONTACTOS_DATOS_BANCO ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID) LEFT JOIN REMESAS_PROVEEDOR ON (REMESAS_PROVEEDOR.ID = RECIBOS_PROVEEDOR.ID_REMESA) LEFT JOIN V_REC_PRO_COMPENSADOS ON (V_REC_PRO_COMPENSADOS.ID_RECIBO = RECIBOS_PROVEEDOR.ID) LEFT JOIN RECIBOS_PROVEEDOR RECIBO_COMPENSADO1 ON (RECIBO_COMPENSADO1.ID = RECIBOS_PROVEEDOR.ID_RECIBO_COMPENSADO) LEFT JOIN V_REC_PRO_SITUACION RECIBO_COMPENSADO2 ON (RECIBO_COMPENSADO2.ID_RECIBO = RECIBOS_PROVEEDOR.ID_RECIBO_COMPENSADO) LEFT JOIN TIENDAS ON (TIENDAS.ID = RECIBOS_PROVEEDOR.ID_TIENDA) ; /* View: V_REMESAS_CLIENTE */ CREATE VIEW V_REMESAS_CLIENTE( ID, ID_EMPRESA, REFERENCIA, TIPO, FECHA_REMESA, DESCRIPCION, ID_DATOS_BANCO, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, SUFIJO_N19, SUFIJO_N58, IMPORTE_TOTAL) AS SELECT REMESAS_CLIENTE.ID, REMESAS_CLIENTE.ID_EMPRESA, REMESAS_CLIENTE.REFERENCIA, REMESAS_CLIENTE.TIPO, REMESAS_CLIENTE.FECHA_REMESA, REMESAS_CLIENTE.DESCRIPCION, REMESAS_CLIENTE.ID_DATOS_BANCO, REMESAS_CLIENTE.FECHA_ALTA, REMESAS_CLIENTE.FECHA_MODIFICACION, REMESAS_CLIENTE.USUARIO, EMPRESAS_DATOS_BANCO.NOMBRE, EMPRESAS_DATOS_BANCO.ENTIDAD, EMPRESAS_DATOS_BANCO.SUCURSAL, EMPRESAS_DATOS_BANCO.DC, EMPRESAS_DATOS_BANCO.CUENTA, EMPRESAS_DATOS_BANCO.SUFIJO_N19, EMPRESAS_DATOS_BANCO.SUFIJO_N58, SUM(COALESCE(RECIBOS_CLIENTE.IMPORTE,0) + COALESCE(RECIBOS_CLIENTE.OTROS_GASTOS,0) + COALESCE(V_REC_CLI_COMPENSADOS.IMPORTE_TOTAL_COMPENSADO,0)) as IMPORTE_TOTAL FROM REMESAS_CLIENTE LEFT OUTER JOIN EMPRESAS_DATOS_BANCO ON (EMPRESAS_DATOS_BANCO.ID = REMESAS_CLIENTE.ID_DATOS_BANCO) LEFT OUTER JOIN RECIBOS_CLIENTE ON (RECIBOS_CLIENTE.ID_REMESA = REMESAS_CLIENTE.ID) LEFT OUTER JOIN V_REC_CLI_COMPENSADOS ON (V_REC_CLI_COMPENSADOS.ID_RECIBO = RECIBOS_CLIENTE.ID) GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ; /* View: V_REMESAS_PROVEEDOR */ CREATE VIEW V_REMESAS_PROVEEDOR( ID, ID_EMPRESA, REFERENCIA, TIPO, FECHA_REMESA, DESCRIPCION, ID_DATOS_BANCO, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENTA, SUFIJO_N19, SUFIJO_N58, IMPORTE_TOTAL) AS SELECT REMESAS_PROVEEDOR.ID, REMESAS_PROVEEDOR.ID_EMPRESA, REMESAS_PROVEEDOR.REFERENCIA, REMESAS_PROVEEDOR.TIPO, REMESAS_PROVEEDOR.FECHA_REMESA, REMESAS_PROVEEDOR.DESCRIPCION, REMESAS_PROVEEDOR.ID_DATOS_BANCO, REMESAS_PROVEEDOR.FECHA_ALTA, REMESAS_PROVEEDOR.FECHA_MODIFICACION, REMESAS_PROVEEDOR.USUARIO, EMPRESAS_DATOS_BANCO.NOMBRE, EMPRESAS_DATOS_BANCO.ENTIDAD, EMPRESAS_DATOS_BANCO.SUCURSAL, EMPRESAS_DATOS_BANCO.DC, EMPRESAS_DATOS_BANCO.CUENTA, EMPRESAS_DATOS_BANCO.SUFIJO_N19, EMPRESAS_DATOS_BANCO.SUFIJO_N58, SUM(COALESCE(RECIBOS_PROVEEDOR.IMPORTE,0) + COALESCE(RECIBOS_PROVEEDOR.OTROS_GASTOS,0) + COALESCE(V_REC_PRO_COMPENSADOS.IMPORTE_TOTAL_COMPENSADO,0)) as IMPORTE_TOTAL FROM REMESAS_PROVEEDOR LEFT OUTER JOIN EMPRESAS_DATOS_BANCO ON (EMPRESAS_DATOS_BANCO.ID = REMESAS_PROVEEDOR.ID_DATOS_BANCO) LEFT OUTER JOIN RECIBOS_PROVEEDOR ON (RECIBOS_PROVEEDOR.ID_REMESA = REMESAS_PROVEEDOR.ID) LEFT OUTER JOIN V_REC_PRO_COMPENSADOS ON (V_REC_PRO_COMPENSADOS.ID_RECIBO = RECIBOS_PROVEEDOR.ID) GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ; /* View: V_USUARIOS */ CREATE VIEW V_USUARIOS( ID, USERNAME, LOGIN, PASS, PASSEXPIRED, BLOQUEADO, EMAIL, USERDAYSSUN, PRIVILEGED, TIPO, ID_PERFIL, CHECKSUM) AS SELECT USUARIOS.ID, USUARIOS.USERNAME, USUARIOS.LOGIN, USUARIOS.PASS, USUARIOS.PASSEXPIRED, USUARIOS.BLOQUEADO, USUARIOS.EMAIL, USUARIOS.USERDAYSSUN, USUARIOS.PRIVILEGED, USUARIOS.TIPO, USUARIOS.ID_PERFIL, USUARIOS.CHECKSUM FROM USUARIOS WHERE TIPO = 'U' ORDER BY USERNAME ; /* View: V_VENDEDORES */ CREATE VIEW V_VENDEDORES( 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_TIENDA, TIENDA, COMISION, ID_USUARIO) 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, V_CONTACTOS.ID_TIENDA, V_CONTACTOS.TIENDA, VENDEDORES_DATOS.COMISION, VENDEDORES_DATOS.ID_USUARIO FROM V_CONTACTOS INNER JOIN VENDEDORES_DATOS ON (VENDEDORES_DATOS.ID_VENDEDOR = V_CONTACTOS.ID) WHERE V_CONTACTOS.ID_CATEGORIA = 3 ; CREATE VIEW V_LISTADO_DATOS_CONTACTO( ID, ID_CONTACTO, NOMBRE, TELEFONO_TRABAJO, TELEFONO_PARTICULAR, MOVIL, MAIL_TRABAJO, MAIL_PARTICULAR) AS select ID, ID_CONTACTO, NOMBRE, telefono_trabajo, telefono_particular, movil, mail_tabajo, mail_particular from ( select ID, ID as ID_CONTACTO, NOMBRE, TELEFONO_1 as telefono_trabajo, Telefono_2 as telefono_particular, MOVIL_1 as movil, EMAIL_1 as mail_tabajo, EMAIL_2 as mail_particular from CONTACTOS union select ID, ID_CONTACTO, NOMBRE, null as telefono_tabajo, TELEFONO as telefono_particular, MOVIL, null as movil_trabajo, EMAIL as movil_particular from CONTACTOS_DATOS_PERSONAL ) order by id_contacto ; /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE AGENTES_COMISIONES ADD CONSTRAINT PK_AGENTES_COMISIONES PRIMARY KEY (ID); ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT PK_ALBARANES_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 CATEGORIAS ADD CONSTRAINT PK_CATEGORIAS PRIMARY KEY (ID); ALTER TABLE CHANGES ADD CONSTRAINT PK_CHANGES PRIMARY KEY (CHANGECODE); 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 CLIENTES_PROCEDENCIAS ADD CONSTRAINT PK_CLIENTES_PROCEDENCIAS PRIMARY KEY (ID); ALTER TABLE COMISIONES_LIQUIDADAS ADD CONSTRAINT PK_COMISIONES_LIQUIDADAS PRIMARY KEY (ID); ALTER TABLE COMISIONES_LIQ_VENDEDORES ADD CONSTRAINT PK_COMISIONES_LIQ_VENDEDORES 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 CONTRATOS_CLIENTE ADD CONSTRAINT PK_CONTRATOS_CLIENTE PRIMARY KEY (ID); ALTER TABLE CONTRATOS_CLIENTE_DETALLES ADD CONSTRAINT PK_CONTRATOS_CLIENTE_DETALLE PRIMARY KEY (ID); ALTER TABLE CONT_APUNTES ADD CONSTRAINT PK_CONT_APUNTES PRIMARY KEY (ID); ALTER TABLE CONT_ASIENTOS ADD CONSTRAINT PK_CONT_ASIENTOS PRIMARY KEY (ID); ALTER TABLE CONT_BALANCES ADD CONSTRAINT PK_CONT_BALANCES PRIMARY KEY (ID); ALTER TABLE CONT_CUENTAS ADD CONSTRAINT PK_CONT_CUENTAS PRIMARY KEY (ID); ALTER TABLE CONT_CUENTAS_ESPECIALES ADD CONSTRAINT PK_CONT_CUENTAS_ESPECIALES PRIMARY KEY (ID); ALTER TABLE CONT_EJERCICIOS ADD CONSTRAINT PK_CONT_EJERCICIOS PRIMARY KEY (ID); ALTER TABLE CONT_EPIGRAFES ADD CONSTRAINT PK_CONT_EPIGRAFES PRIMARY KEY (ID); ALTER TABLE CONT_SUBCUENTAS ADD CONSTRAINT PK_CONT_SUBCUENTAS 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_TIENDAS ADD CONSTRAINT PK_EMPRESAS_TIENDAS PRIMARY KEY (ID); ALTER TABLE EMPRESAS_USUARIOS ADD CONSTRAINT PK_EMPRESAS_USUARIOS 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_CONTRATOS ADD CONSTRAINT PK_FACTURAS_PROVEEDOR_CONTRATOS PRIMARY KEY (ID); ALTER TABLE FACTURAS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_FACTURAS_PROVEEDOR_DETALLES 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 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_CAPITULOS ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE_CAPITUL 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 REMESAS_CLIENTE ADD CONSTRAINT PK_REMESAS_CLIENTE PRIMARY KEY (ID); ALTER TABLE REMESAS_PROVEEDOR ADD CONSTRAINT PK_REMESAS_PROVEEDOR PRIMARY KEY (ID); ALTER TABLE TIENDAS ADD CONSTRAINT PK_TIENDAS 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); ALTER TABLE VENDEDORES_DATOS ADD CONSTRAINT PK_VENDEDORES_DATOS PRIMARY KEY (ID_VENDEDOR); /******************************************************************************/ /*** Foreign Keys ***/ /******************************************************************************/ ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARANES_CLIENTE_1 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL; ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARANES_CLIENTE_2 FOREIGN KEY (ID_CONTRATO) REFERENCES CONTRATOS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL; ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE_2 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION; ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR_2 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 CONT_CUENTAS ADD CONSTRAINT FK_CONT_CUENTAS_1 FOREIGN KEY (ID_EJERCICIO) REFERENCES CONT_EJERCICIOS (ID) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE CONT_EPIGRAFES ADD CONSTRAINT FK_CONT_EPIGRAFES_1 FOREIGN KEY (ID_EJERCICIO) REFERENCES CONT_EJERCICIOS (ID) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE CONT_SUBCUENTAS ADD CONSTRAINT FK_CONT_SUBCUENTAS_1 FOREIGN KEY (ID_EJERCICIO) REFERENCES CONT_EJERCICIOS (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 EMPRESAS_TIENDAS ADD CONSTRAINT FK_EMPRESAS_TIENDAS_1 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 FACTURAS_PROVEEDOR_CONTRATOS ADD CONSTRAINT FK_FACTURAS_PROVEEDOR_CONTRATO2 FOREIGN KEY (ID_CONTRATO) REFERENCES CONTRATOS_CLIENTE (ID) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE FACTURAS_PROVEEDOR_CONTRATOS ADD CONSTRAINT FK_FACTURAS_PROVEEDOR_CONTRATOS FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE FACTURAS_PROVEEDOR_DETALLES ADD CONSTRAINT FK_FACTURAS_PRO_DET_ID_FACTURA FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE MOVIMIENTOS ADD CONSTRAINT FK_MOVIMIENTOS FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULOS (ID); ALTER TABLE MOVIMIENTOS ADD CONSTRAINT FK_MOVIMIENTOS2 FOREIGN KEY (ID_ALMACEN) REFERENCES ALMACENES (ID); ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT FK_PAGOS_CLIENTE_1 FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_CLIENTE (ID); ALTER TABLE PAGOS_PROVEEDOR ADD CONSTRAINT FK_PAGOS_PROVEEDOR_1 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_DETALLES ADD CONSTRAINT FK_PEDIDOS_PROV_DET_ID_PEDIDO FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_1 FOREIGN KEY (ID_CONTRATO) REFERENCES CONTRATOS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE CASCADE; 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 IDX_ALBARANES_CLIENTE_DETALLES1 ON ALBARANES_CLIENTE_DETALLES (ID_ARTICULO); CREATE INDEX IDX_ALBARANES_CLIENTE_DETALLES2 ON ALBARANES_CLIENTE_DETALLES (ID_ALBARAN); CREATE INDEX IDX_ALBARANES_PROVEEDOR_1 ON ALBARANES_PROVEEDOR (ID_ALMACEN); CREATE INDEX IDX_ALBARANES_PROVEEDOR_2 ON ALBARANES_PROVEEDOR (ID_FORMA_PAGO); CREATE INDEX IDX_ALBARANES_PROVEEDOR_3 ON ALBARANES_PROVEEDOR (ID_PEDIDO); CREATE INDEX IDX_ALBARANES_PROVEEDOR_4 ON ALBARANES_PROVEEDOR (ID_FACTURA); CREATE INDEX IDX_ALBARANES_PROVEEDOR_5 ON ALBARANES_PROVEEDOR (TIPO); 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 IDX_ARTICULOS ON ARTICULOS (ID_PROVEEDOR); CREATE INDEX IDX_ELIMINADOS ON ARTICULOS (ELIMINADO); CREATE INDEX CHANGES_LOC_ID ON CHANGES (LOC_ID); CREATE INDEX CHANGES_TABLENAME ON CHANGES (TABLENAME); 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 CONT_APUNTES_IDX1 ON CONT_APUNTES (ID_ASIENTO); CREATE INDEX CONT_APUNTES_IDX2 ON CONT_APUNTES (ID_SUBCUENTA); CREATE INDEX CONT_ASIENTOS_IDX1 ON CONT_ASIENTOS (ID_FACTURA); CREATE INDEX CONT_ASIENTOS_IDX2 ON CONT_ASIENTOS (ID_PAGO); CREATE INDEX CONT_CUENTAS_IDX1 ON CONT_CUENTAS (ID_BALANCE); CREATE INDEX CONT_CUENTAS_IDX2 ON CONT_CUENTAS (ID_EPIGRAFE); CREATE INDEX CONT_SUBCUENTAS_IDX1 ON CONT_SUBCUENTAS (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 FACTURAS_CLIENTE_IDX1 ON FACTURAS_CLIENTE (REFERENCIA); 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 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 IDX_FACTURAS_PROVEEDOR_DETALLES ON FACTURAS_PROVEEDOR_DETALLES (ID_ARTICULO); 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 IDX_PEDIDOS_CLIENTE ON PEDIDOS_CLIENTE (ID_FORMA_PAGO); 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_PROVEEDOR_DETALLES ON PEDIDOS_PROVEEDOR_DETALLES (ID_ARTICULO); CREATE INDEX IDX_PERMISOS ON PERMISOS (ID_USUARIO); CREATE INDEX IDX_PERMISOSEX ON PERMISOSEX (ID_USUARIO); 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 IDX_RECIBOS_PROVEEDOR ON RECIBOS_PROVEEDOR (ID_RECIBO_COMPENSADO); CREATE INDEX IDX_REFERENCIAS ON REFERENCIAS (ID_EMPRESA); CREATE INDEX IDX_REFERENCIAS2 ON REFERENCIAS (ID_TIENDA); CREATE INDEX IDX_REMESAS_CLIENTE ON REMESAS_CLIENTE (ID_DATOS_BANCO); CREATE INDEX IDX_REMESAS_PROVEEDOR ON REMESAS_PROVEEDOR (ID_DATOS_BANCO); /******************************************************************************/ /*** Triggers ***/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/ /* Trigger: AGENTES_COMISIONES_DELETE_REPL */ CREATE OR ALTER TRIGGER AGENTES_COMISIONES_DELETE_REPL FOR AGENTES_COMISIONES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'AGENTES_COMISIONES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='AGENTES_COMISIONES'; END END ^ /* Trigger: AGENTES_COMISIONES_INSERT_REPL */ CREATE OR ALTER TRIGGER AGENTES_COMISIONES_INSERT_REPL FOR AGENTES_COMISIONES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'AGENTES_COMISIONES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='AGENTES_COMISIONES'; END END ^ /* Trigger: AGENTES_COMISIONES_UPDATE_REPL */ CREATE OR ALTER TRIGGER AGENTES_COMISIONES_UPDATE_REPL FOR AGENTES_COMISIONES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'AGENTES_COMISIONES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='AGENTES_COMISIONES'; END END ^ /* Trigger: ALBARANES_CLIENTE_DELETE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_CLIENTE_DELETE_REPL FOR ALBARANES_CLIENTE INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'ALBARANES_CLIENTE','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_CLIENTE'; END END ^ /* Trigger: ALBARANES_CLIENTE_INSERT_REPL */ CREATE OR ALTER TRIGGER ALBARANES_CLIENTE_INSERT_REPL FOR ALBARANES_CLIENTE INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_CLIENTE','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_CLIENTE'; END END ^ /* Trigger: ALBARANES_CLIENTE_UPDATE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_CLIENTE_UPDATE_REPL FOR ALBARANES_CLIENTE INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_CLIENTE','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_CLIENTE'; END END ^ /* Trigger: ALBARANES_CLI_DET_DELETE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_CLI_DET_DELETE_REPL FOR ALBARANES_CLIENTE_DETALLES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'ALBARANES_CLIENTE_DETALLES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_CLIENTE_DETALLES'; END END ^ /* Trigger: ALBARANES_CLI_DET_INSERT_REPL */ CREATE OR ALTER TRIGGER ALBARANES_CLI_DET_INSERT_REPL FOR ALBARANES_CLIENTE_DETALLES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_CLIENTE_DETALLES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_CLIENTE_DETALLES'; END END ^ /* Trigger: ALBARANES_CLI_DET_UPDATE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_CLI_DET_UPDATE_REPL FOR ALBARANES_CLIENTE_DETALLES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_CLIENTE_DETALLES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_CLIENTE_DETALLES'; END END ^ /* Trigger: ALBARANES_PROVEEDOR_DELETE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_PROVEEDOR_DELETE_REPL FOR ALBARANES_PROVEEDOR INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'ALBARANES_PROVEEDOR','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_PROVEEDOR'; END END ^ /* Trigger: ALBARANES_PROVEEDOR_INSERT_REPL */ CREATE OR ALTER TRIGGER ALBARANES_PROVEEDOR_INSERT_REPL FOR ALBARANES_PROVEEDOR INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_PROVEEDOR','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_PROVEEDOR'; END END ^ /* Trigger: ALBARANES_PROVEEDOR_UPDATE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_PROVEEDOR_UPDATE_REPL FOR ALBARANES_PROVEEDOR INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_PROVEEDOR','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_PROVEEDOR'; END END ^ /* Trigger: ALBARANES_PROV_DET_DELETE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_PROV_DET_DELETE_REPL FOR ALBARANES_PROVEEDOR_DETALLES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'ALBARANES_PROVEEDOR_DETALLES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_PROVEEDOR_DETALLES'; END END ^ /* Trigger: ALBARANES_PROV_DET_INSERT_REPL */ CREATE OR ALTER TRIGGER ALBARANES_PROV_DET_INSERT_REPL FOR ALBARANES_PROVEEDOR_DETALLES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_PROVEEDOR_DETALLES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_PROVEEDOR_DETALLES'; END END ^ /* Trigger: ALBARANES_PROV_DET_UPDATE_REPL */ CREATE OR ALTER TRIGGER ALBARANES_PROV_DET_UPDATE_REPL FOR ALBARANES_PROVEEDOR_DETALLES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALBARANES_PROVEEDOR_DETALLES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALBARANES_PROVEEDOR_DETALLES'; END END ^ /* Trigger: ALMACENES_DELETE_REPL */ CREATE OR ALTER TRIGGER ALMACENES_DELETE_REPL FOR ALMACENES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'ALMACENES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALMACENES'; END END ^ /* Trigger: ALMACENES_INSERT_REPL */ CREATE OR ALTER TRIGGER ALMACENES_INSERT_REPL FOR ALMACENES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALMACENES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALMACENES'; END END ^ /* Trigger: ALMACENES_UPDATE_REPL */ CREATE OR ALTER TRIGGER ALMACENES_UPDATE_REPL FOR ALMACENES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ALMACENES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ALMACENES'; END END ^ /* Trigger: ARTICULOS_DELETE_REPL */ CREATE OR ALTER TRIGGER ARTICULOS_DELETE_REPL FOR ARTICULOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'ARTICULOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ARTICULOS'; END END ^ /* Trigger: ARTICULOS_INSERT_REPL */ CREATE OR ALTER TRIGGER ARTICULOS_INSERT_REPL FOR ARTICULOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ARTICULOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ARTICULOS'; END END ^ /* Trigger: ARTICULOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER ARTICULOS_UPDATE_REPL FOR ARTICULOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'ARTICULOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='ARTICULOS'; END END ^ /* Trigger: CATEGORIAS_DELETE_REPL */ CREATE OR ALTER TRIGGER CATEGORIAS_DELETE_REPL FOR CATEGORIAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CATEGORIAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CATEGORIAS'; END END ^ /* Trigger: CATEGORIAS_INSERT_REPL */ CREATE OR ALTER TRIGGER CATEGORIAS_INSERT_REPL FOR CATEGORIAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CATEGORIAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CATEGORIAS'; END END ^ /* Trigger: CATEGORIAS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CATEGORIAS_UPDATE_REPL FOR CATEGORIAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CATEGORIAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CATEGORIAS'; END END ^ /* Trigger: CLIENTES_DATOS_DELETE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_DATOS_DELETE_REPL FOR CLIENTES_DATOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID_CLIENTE,'CLIENTES_DATOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_DATOS'; END END ^ /* Trigger: CLIENTES_DATOS_INSERT_REPL */ CREATE OR ALTER TRIGGER CLIENTES_DATOS_INSERT_REPL FOR CLIENTES_DATOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID_CLIENTE,'CLIENTES_DATOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_DATOS'; END END ^ /* Trigger: CLIENTES_DATOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_DATOS_UPDATE_REPL FOR CLIENTES_DATOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID_CLIENTE,'CLIENTES_DATOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_DATOS'; END END ^ /* Trigger: CLIENTES_DTOS_PROV_DELETE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_DTOS_PROV_DELETE_REPL FOR CLIENTES_DTOS_PROVEEDORES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CLIENTES_DTOS_PROVEEDORES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_DTOS_PROVEEDORES'; END END ^ /* Trigger: CLIENTES_DTOS_PROV_INSERT_REPL */ CREATE OR ALTER TRIGGER CLIENTES_DTOS_PROV_INSERT_REPL FOR CLIENTES_DTOS_PROVEEDORES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CLIENTES_DTOS_PROVEEDORES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_DTOS_PROVEEDORES'; END END ^ /* Trigger: CLIENTES_DTOS_PROV_UPDATE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_DTOS_PROV_UPDATE_REPL FOR CLIENTES_DTOS_PROVEEDORES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CLIENTES_DTOS_PROVEEDORES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_DTOS_PROVEEDORES'; END END ^ /* Trigger: CLIENTES_GRUPOS_DELETE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_GRUPOS_DELETE_REPL FOR CLIENTES_GRUPOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CLIENTES_GRUPOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_GRUPOS'; END END ^ /* Trigger: CLIENTES_GRUPOS_INSERT_REPL */ CREATE OR ALTER TRIGGER CLIENTES_GRUPOS_INSERT_REPL FOR CLIENTES_GRUPOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CLIENTES_GRUPOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_GRUPOS'; END END ^ /* Trigger: CLIENTES_GRUPOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_GRUPOS_UPDATE_REPL FOR CLIENTES_GRUPOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CLIENTES_GRUPOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_GRUPOS'; END END ^ /* Trigger: CLIENTES_PROCED_DELETE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_PROCED_DELETE_REPL FOR CLIENTES_PROCEDENCIAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CLIENTES_PROCEDENCIAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_PROCEDENCIAS'; END END ^ /* Trigger: CLIENTES_PROCED_INSERT_REPL */ CREATE OR ALTER TRIGGER CLIENTES_PROCED_INSERT_REPL FOR CLIENTES_PROCEDENCIAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CLIENTES_PROCEDENCIAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_PROCEDENCIAS'; END END ^ /* Trigger: CLIENTES_PROCED_UPDATE_REPL */ CREATE OR ALTER TRIGGER CLIENTES_PROCED_UPDATE_REPL FOR CLIENTES_PROCEDENCIAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CLIENTES_PROCEDENCIAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CLIENTES_PROCEDENCIAS'; END END ^ /* Trigger: COMISIONES_LIQUID_DELETE_REPL */ CREATE OR ALTER TRIGGER COMISIONES_LIQUID_DELETE_REPL FOR COMISIONES_LIQUIDADAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'COMISIONES_LIQUIDADAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='COMISIONES_LIQUIDADAS'; END END ^ /* Trigger: COMISIONES_LIQUID_INSERT_REPL */ CREATE OR ALTER TRIGGER COMISIONES_LIQUID_INSERT_REPL FOR COMISIONES_LIQUIDADAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'COMISIONES_LIQUIDADAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='COMISIONES_LIQUIDADAS'; END END ^ /* Trigger: COMISIONES_LIQUID_UPDATE_REPL */ CREATE OR ALTER TRIGGER COMISIONES_LIQUID_UPDATE_REPL FOR COMISIONES_LIQUIDADAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'COMISIONES_LIQUIDADAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='COMISIONES_LIQUIDADAS'; END END ^ /* Trigger: CONFIGURACION_DELETE_REPL */ CREATE OR ALTER TRIGGER CONFIGURACION_DELETE_REPL FOR CONFIGURACION INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONFIGURACION','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONFIGURACION'; END END ^ /* Trigger: CONFIGURACION_INSERT_REPL */ CREATE OR ALTER TRIGGER CONFIGURACION_INSERT_REPL FOR CONFIGURACION INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONFIGURACION','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONFIGURACION'; END END ^ /* Trigger: CONFIGURACION_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONFIGURACION_UPDATE_REPL FOR CONFIGURACION INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONFIGURACION','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONFIGURACION'; END END ^ /* Trigger: CONTACTOS_CAT_DELETE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_CAT_DELETE_REPL FOR CONTACTOS_CATEGORIAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID_CONTACTO,'CONTACTOS_CATEGORIAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_CATEGORIAS'; END END ^ /* Trigger: CONTACTOS_CAT_INSERT_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_CAT_INSERT_REPL FOR CONTACTOS_CATEGORIAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID_CONTACTO,'CONTACTOS_CATEGORIAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_CATEGORIAS'; END END ^ /* Trigger: CONTACTOS_CAT_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_CAT_UPDATE_REPL FOR CONTACTOS_CATEGORIAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID_CONTACTO,'CONTACTOS_CATEGORIAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_CATEGORIAS'; END END ^ /* Trigger: CONTACTOS_DATOS_PER_DEL_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DATOS_PER_DEL_REPL FOR CONTACTOS_DATOS_PERSONAL INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONTACTOS_DATOS_PERSONAL','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DATOS_PERSONAL'; END END ^ /* Trigger: CONTACTOS_DATOS_PER_INS_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DATOS_PER_INS_REPL FOR CONTACTOS_DATOS_PERSONAL INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS_DATOS_PERSONAL','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DATOS_PERSONAL'; END END ^ /* Trigger: CONTACTOS_DATOS_PER_UPD_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DATOS_PER_UPD_REPL FOR CONTACTOS_DATOS_PERSONAL INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS_DATOS_PERSONAL','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DATOS_PERSONAL'; END END ^ /* Trigger: CONTACTOS_DAT_BAN_DELETE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DAT_BAN_DELETE_REPL FOR CONTACTOS_DATOS_BANCO INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONTACTOS_DATOS_BANCO','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DATOS_BANCO'; END END ^ /* Trigger: CONTACTOS_DAT_BAN_INSERT_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DAT_BAN_INSERT_REPL FOR CONTACTOS_DATOS_BANCO INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS_DATOS_BANCO','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DATOS_BANCO'; END END ^ /* Trigger: CONTACTOS_DAT_BAN_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DAT_BAN_UPDATE_REPL FOR CONTACTOS_DATOS_BANCO INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS_DATOS_BANCO','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DATOS_BANCO'; END END ^ /* Trigger: CONTACTOS_DELETE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DELETE_REPL FOR CONTACTOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONTACTOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS'; END END ^ /* Trigger: CONTACTOS_DIR_DELETE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DIR_DELETE_REPL FOR CONTACTOS_DIRECCIONES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONTACTOS_DIRECCIONES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DIRECCIONES'; END END ^ /* Trigger: CONTACTOS_DIR_INSERT_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DIR_INSERT_REPL FOR CONTACTOS_DIRECCIONES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS_DIRECCIONES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DIRECCIONES'; END END ^ /* Trigger: CONTACTOS_DIR_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_DIR_UPDATE_REPL FOR CONTACTOS_DIRECCIONES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS_DIRECCIONES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS_DIRECCIONES'; END END ^ /* Trigger: CONTACTOS_INSERT_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_INSERT_REPL FOR CONTACTOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS'; END END ^ /* Trigger: CONTACTOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONTACTOS_UPDATE_REPL FOR CONTACTOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONTACTOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONTACTOS'; END END ^ /* Trigger: CONT_APUNTES_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_APUNTES_DELETE_REPL FOR CONT_APUNTES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_APUNTES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_APUNTES'; END END ^ /* Trigger: CONT_APUNTES_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_APUNTES_INSERT_REPL FOR CONT_APUNTES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_APUNTES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_APUNTES'; END END ^ /* Trigger: CONT_APUNTES_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_APUNTES_UPDATE_REPL FOR CONT_APUNTES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_APUNTES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_APUNTES'; END END ^ /* Trigger: CONT_ASIENTOS_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_ASIENTOS_DELETE_REPL FOR CONT_ASIENTOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_ASIENTOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_ASIENTOS'; END END ^ /* Trigger: CONT_ASIENTOS_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_ASIENTOS_INSERT_REPL FOR CONT_ASIENTOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_ASIENTOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_ASIENTOS'; END END ^ /* Trigger: CONT_ASIENTOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_ASIENTOS_UPDATE_REPL FOR CONT_ASIENTOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_ASIENTOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_ASIENTOS'; END END ^ /* Trigger: CONT_BALANCES_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_BALANCES_DELETE_REPL FOR CONT_BALANCES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_BALANCES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_BALANCES'; END END ^ /* Trigger: CONT_BALANCES_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_BALANCES_INSERT_REPL FOR CONT_BALANCES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_BALANCES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_BALANCES'; END END ^ /* Trigger: CONT_BALANCES_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_BALANCES_UPDATE_REPL FOR CONT_BALANCES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_BALANCES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_BALANCES'; END END ^ /* Trigger: CONT_CUENTAS_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_CUENTAS_DELETE_REPL FOR CONT_CUENTAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_CUENTAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_CUENTAS'; END END ^ /* Trigger: CONT_CUENTAS_ESP_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_CUENTAS_ESP_DELETE_REPL FOR CONT_CUENTAS_ESPECIALES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_CUENTAS_ESPECIALES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_CUENTAS_ESPECIALES'; END END ^ /* Trigger: CONT_CUENTAS_ESP_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_CUENTAS_ESP_INSERT_REPL FOR CONT_CUENTAS_ESPECIALES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_CUENTAS_ESPECIALES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_CUENTAS_ESPECIALES'; END END ^ /* Trigger: CONT_CUENTAS_ESP_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_CUENTAS_ESP_UPDATE_REPL FOR CONT_CUENTAS_ESPECIALES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_CUENTAS_ESPECIALES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_CUENTAS_ESPECIALES'; END END ^ /* Trigger: CONT_CUENTAS_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_CUENTAS_INSERT_REPL FOR CONT_CUENTAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_CUENTAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_CUENTAS'; END END ^ /* Trigger: CONT_CUENTAS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_CUENTAS_UPDATE_REPL FOR CONT_CUENTAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_CUENTAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_CUENTAS'; END END ^ /* Trigger: CONT_EJERCICIOS_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_EJERCICIOS_DELETE_REPL FOR CONT_EJERCICIOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_EJERCICIOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_EJERCICIOS'; END END ^ /* Trigger: CONT_EJERCICIOS_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_EJERCICIOS_INSERT_REPL FOR CONT_EJERCICIOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_EJERCICIOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_EJERCICIOS'; END END ^ /* Trigger: CONT_EJERCICIOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_EJERCICIOS_UPDATE_REPL FOR CONT_EJERCICIOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_EJERCICIOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_EJERCICIOS'; END END ^ /* Trigger: CONT_EPIGRAFES_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_EPIGRAFES_DELETE_REPL FOR CONT_EPIGRAFES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_EPIGRAFES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_EPIGRAFES'; END END ^ /* Trigger: CONT_EPIGRAFES_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_EPIGRAFES_INSERT_REPL FOR CONT_EPIGRAFES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_EPIGRAFES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_EPIGRAFES'; END END ^ /* Trigger: CONT_EPIGRAFES_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_EPIGRAFES_UPDATE_REPL FOR CONT_EPIGRAFES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_EPIGRAFES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_EPIGRAFES'; END END ^ /* Trigger: CONT_SUBCUENTAS_DELETE_REPL */ CREATE OR ALTER TRIGGER CONT_SUBCUENTAS_DELETE_REPL FOR CONT_SUBCUENTAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'CONT_SUBCUENTAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_SUBCUENTAS'; END END ^ /* Trigger: CONT_SUBCUENTAS_INSERT_REPL */ CREATE OR ALTER TRIGGER CONT_SUBCUENTAS_INSERT_REPL FOR CONT_SUBCUENTAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_SUBCUENTAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_SUBCUENTAS'; END END ^ /* Trigger: CONT_SUBCUENTAS_UPDATE_REPL */ CREATE OR ALTER TRIGGER CONT_SUBCUENTAS_UPDATE_REPL FOR CONT_SUBCUENTAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'CONT_SUBCUENTAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='CONT_SUBCUENTAS'; END END ^ /* Trigger: EMPRESAS_CONTACTOS_DELETE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_CONTACTOS_DELETE_REPL FOR EMPRESAS_CONTACTOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'EMPRESAS_CONTACTOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_CONTACTOS'; END END ^ /* Trigger: EMPRESAS_CONTACTOS_INSERT_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_CONTACTOS_INSERT_REPL FOR EMPRESAS_CONTACTOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_CONTACTOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_CONTACTOS'; END END ^ /* Trigger: EMPRESAS_CONTACTOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_CONTACTOS_UPDATE_REPL FOR EMPRESAS_CONTACTOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_CONTACTOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_CONTACTOS'; END END ^ /* Trigger: EMPRESAS_DAT_BAN_DELETE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_DAT_BAN_DELETE_REPL FOR EMPRESAS_DATOS_BANCO INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'EMPRESAS_DATOS_BANCO','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_DATOS_BANCO'; END END ^ /* Trigger: EMPRESAS_DAT_BAN_INSERT_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_DAT_BAN_INSERT_REPL FOR EMPRESAS_DATOS_BANCO INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_DATOS_BANCO','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_DATOS_BANCO'; END END ^ /* Trigger: EMPRESAS_DAT_BAN_UPDATE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_DAT_BAN_UPDATE_REPL FOR EMPRESAS_DATOS_BANCO INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_DATOS_BANCO','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_DATOS_BANCO'; END END ^ /* Trigger: EMPRESAS_DELETE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_DELETE_REPL FOR EMPRESAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'EMPRESAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS'; END END ^ /* Trigger: EMPRESAS_INSERT_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_INSERT_REPL FOR EMPRESAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS'; END END ^ /* Trigger: EMPRESAS_TIENDAS_DELETE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_TIENDAS_DELETE_REPL FOR EMPRESAS_TIENDAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'EMPRESAS_TIENDAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_TIENDAS'; END END ^ /* Trigger: EMPRESAS_TIENDAS_INSERT_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_TIENDAS_INSERT_REPL FOR EMPRESAS_TIENDAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_TIENDAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_TIENDAS'; END END ^ /* Trigger: EMPRESAS_TIENDAS_UPDATE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_TIENDAS_UPDATE_REPL FOR EMPRESAS_TIENDAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_TIENDAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_TIENDAS'; END END ^ /* Trigger: EMPRESAS_UPDATE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_UPDATE_REPL FOR EMPRESAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS'; END END ^ /* Trigger: EMPRESAS_USUARIOS_DELETE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_USUARIOS_DELETE_REPL FOR EMPRESAS_USUARIOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'EMPRESAS_USUARIOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_USUARIOS'; END END ^ /* Trigger: EMPRESAS_USUARIOS_INSERT_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_USUARIOS_INSERT_REPL FOR EMPRESAS_USUARIOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_USUARIOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_USUARIOS'; END END ^ /* Trigger: EMPRESAS_USUARIOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER EMPRESAS_USUARIOS_UPDATE_REPL FOR EMPRESAS_USUARIOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'EMPRESAS_USUARIOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='EMPRESAS_USUARIOS'; END END ^ /* Trigger: FACTURAS_CLIENTE_DELETE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_CLIENTE_DELETE_REPL FOR FACTURAS_CLIENTE INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'FACTURAS_CLIENTE','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_CLIENTE'; END END ^ /* Trigger: FACTURAS_CLIENTE_INSERT_REPL */ CREATE OR ALTER TRIGGER FACTURAS_CLIENTE_INSERT_REPL FOR FACTURAS_CLIENTE INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_CLIENTE','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_CLIENTE'; END END ^ /* Trigger: FACTURAS_CLIENTE_UPDATE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_CLIENTE_UPDATE_REPL FOR FACTURAS_CLIENTE INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_CLIENTE','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_CLIENTE'; END END ^ /* Trigger: FACTURAS_CLI_DET_DELETE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_CLI_DET_DELETE_REPL FOR FACTURAS_CLIENTE_DETALLES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'FACTURAS_CLIENTE_DETALLES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_CLIENTE_DETALLES'; END END ^ /* Trigger: FACTURAS_CLI_DET_INSERT_REPL */ CREATE OR ALTER TRIGGER FACTURAS_CLI_DET_INSERT_REPL FOR FACTURAS_CLIENTE_DETALLES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_CLIENTE_DETALLES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_CLIENTE_DETALLES'; END END ^ /* Trigger: FACTURAS_CLI_DET_UPDATE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_CLI_DET_UPDATE_REPL FOR FACTURAS_CLIENTE_DETALLES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_CLIENTE_DETALLES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_CLIENTE_DETALLES'; END END ^ /* Trigger: FACTURAS_PROVEEDOR_DELETE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_PROVEEDOR_DELETE_REPL FOR FACTURAS_PROVEEDOR INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'FACTURAS_PROVEEDOR','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_PROVEEDOR'; END END ^ /* Trigger: FACTURAS_PROVEEDOR_INSERT_REPL */ CREATE OR ALTER TRIGGER FACTURAS_PROVEEDOR_INSERT_REPL FOR FACTURAS_PROVEEDOR INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_PROVEEDOR','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_PROVEEDOR'; END END ^ /* Trigger: FACTURAS_PROVEEDOR_UPDATE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_PROVEEDOR_UPDATE_REPL FOR FACTURAS_PROVEEDOR INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_PROVEEDOR','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_PROVEEDOR'; END END ^ /* Trigger: FACTURAS_PROV_DET_DELETE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_PROV_DET_DELETE_REPL FOR FACTURAS_PROVEEDOR_DETALLES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'FACTURAS_PROVEEDOR_DETALLES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_PROVEEDOR_DETALLES'; END END ^ /* Trigger: FACTURAS_PROV_DET_INSERT_REPL */ CREATE OR ALTER TRIGGER FACTURAS_PROV_DET_INSERT_REPL FOR FACTURAS_PROVEEDOR_DETALLES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_PROVEEDOR_DETALLES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_PROVEEDOR_DETALLES'; END END ^ /* Trigger: FACTURAS_PROV_DET_UPDATE_REPL */ CREATE OR ALTER TRIGGER FACTURAS_PROV_DET_UPDATE_REPL FOR FACTURAS_PROVEEDOR_DETALLES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FACTURAS_PROVEEDOR_DETALLES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FACTURAS_PROVEEDOR_DETALLES'; END END ^ /* Trigger: FAMILIAS_DELETE_REPL */ CREATE OR ALTER TRIGGER FAMILIAS_DELETE_REPL FOR FAMILIAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'FAMILIAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FAMILIAS'; END END ^ /* Trigger: FAMILIAS_INSERT_REPL */ CREATE OR ALTER TRIGGER FAMILIAS_INSERT_REPL FOR FAMILIAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FAMILIAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FAMILIAS'; END END ^ /* Trigger: FAMILIAS_UPDATE_REPL */ CREATE OR ALTER TRIGGER FAMILIAS_UPDATE_REPL FOR FAMILIAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FAMILIAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FAMILIAS'; END END ^ /* Trigger: FORMAS_PAGO_DELETE_REPL */ CREATE OR ALTER TRIGGER FORMAS_PAGO_DELETE_REPL FOR FORMAS_PAGO INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'FORMAS_PAGO','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FORMAS_PAGO'; END END ^ /* Trigger: FORMAS_PAGO_INSERT_REPL */ CREATE OR ALTER TRIGGER FORMAS_PAGO_INSERT_REPL FOR FORMAS_PAGO INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FORMAS_PAGO','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FORMAS_PAGO'; END END ^ /* Trigger: FORMAS_PAGO_PLAZOS_DELETE_REPL */ CREATE OR ALTER TRIGGER FORMAS_PAGO_PLAZOS_DELETE_REPL FOR FORMAS_PAGO_PLAZOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'FORMAS_PAGO_PLAZOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FORMAS_PAGO_PLAZOS'; END END ^ /* Trigger: FORMAS_PAGO_PLAZOS_INSERT_REPL */ CREATE OR ALTER TRIGGER FORMAS_PAGO_PLAZOS_INSERT_REPL FOR FORMAS_PAGO_PLAZOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FORMAS_PAGO_PLAZOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FORMAS_PAGO_PLAZOS'; END END ^ /* Trigger: FORMAS_PAGO_PLAZOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER FORMAS_PAGO_PLAZOS_UPDATE_REPL FOR FORMAS_PAGO_PLAZOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FORMAS_PAGO_PLAZOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FORMAS_PAGO_PLAZOS'; END END ^ /* Trigger: FORMAS_PAGO_UPDATE_REPL */ CREATE OR ALTER TRIGGER FORMAS_PAGO_UPDATE_REPL FOR FORMAS_PAGO INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'FORMAS_PAGO','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='FORMAS_PAGO'; END END ^ /* Trigger: INFORMES_DELETE_REPL */ CREATE OR ALTER TRIGGER INFORMES_DELETE_REPL FOR INFORMES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'INFORMES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='INFORMES'; END END ^ /* Trigger: INFORMES_INSERT_REPL */ CREATE OR ALTER TRIGGER INFORMES_INSERT_REPL FOR INFORMES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'INFORMES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='INFORMES'; END END ^ /* Trigger: INFORMES_UPDATE_REPL */ CREATE OR ALTER TRIGGER INFORMES_UPDATE_REPL FOR INFORMES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'INFORMES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='INFORMES'; END END ^ /* Trigger: INSERT_CHANGES */ CREATE OR ALTER TRIGGER INSERT_CHANGES FOR CHANGES INACTIVE BEFORE INSERT POSITION 0 AS BEGIN NEW.CHANGECODE = GEN_ID( GEN_CHANGECODE, 1 ); END ^ /* Trigger: MOVIMIENTOS_DELETE_REPL */ CREATE OR ALTER TRIGGER MOVIMIENTOS_DELETE_REPL FOR MOVIMIENTOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'MOVIMIENTOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='MOVIMIENTOS'; END END ^ /* Trigger: MOVIMIENTOS_INSERT_REPL */ CREATE OR ALTER TRIGGER MOVIMIENTOS_INSERT_REPL FOR MOVIMIENTOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'MOVIMIENTOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='MOVIMIENTOS'; END END ^ /* Trigger: MOVIMIENTOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER MOVIMIENTOS_UPDATE_REPL FOR MOVIMIENTOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'MOVIMIENTOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='MOVIMIENTOS'; END END ^ /* Trigger: PAGOS_CLIENTE_DELETE_REPL */ CREATE OR ALTER TRIGGER PAGOS_CLIENTE_DELETE_REPL FOR PAGOS_CLIENTE INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'PAGOS_CLIENTE','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PAGOS_CLIENTE'; END END ^ /* Trigger: PAGOS_CLIENTE_INSERT_REPL */ CREATE OR ALTER TRIGGER PAGOS_CLIENTE_INSERT_REPL FOR PAGOS_CLIENTE INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PAGOS_CLIENTE','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PAGOS_CLIENTE'; END END ^ /* Trigger: PAGOS_CLIENTE_UPDATE_REPL */ CREATE OR ALTER TRIGGER PAGOS_CLIENTE_UPDATE_REPL FOR PAGOS_CLIENTE INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PAGOS_CLIENTE','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PAGOS_CLIENTE'; END END ^ /* Trigger: PAGOS_PROVEEDOR_DELETE_REPL */ CREATE OR ALTER TRIGGER PAGOS_PROVEEDOR_DELETE_REPL FOR PAGOS_PROVEEDOR INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'PAGOS_PROVEEDOR','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PAGOS_PROVEEDOR'; END END ^ /* Trigger: PAGOS_PROVEEDOR_INSERT_REPL */ CREATE OR ALTER TRIGGER PAGOS_PROVEEDOR_INSERT_REPL FOR PAGOS_PROVEEDOR INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PAGOS_PROVEEDOR','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PAGOS_PROVEEDOR'; END END ^ /* Trigger: PAGOS_PROVEEDOR_UPDATE_REPL */ CREATE OR ALTER TRIGGER PAGOS_PROVEEDOR_UPDATE_REPL FOR PAGOS_PROVEEDOR INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PAGOS_PROVEEDOR','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PAGOS_PROVEEDOR'; END END ^ /* Trigger: PEDIDOS_CLIENTE_DELETE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_CLIENTE_DELETE_REPL FOR PEDIDOS_CLIENTE INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'PEDIDOS_CLIENTE','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_CLIENTE'; END END ^ /* Trigger: PEDIDOS_CLIENTE_INSERT_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_CLIENTE_INSERT_REPL FOR PEDIDOS_CLIENTE INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_CLIENTE','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_CLIENTE'; END END ^ /* Trigger: PEDIDOS_CLIENTE_UPDATE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_CLIENTE_UPDATE_REPL FOR PEDIDOS_CLIENTE INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_CLIENTE','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_CLIENTE'; END END ^ /* Trigger: PEDIDOS_CLI_DET_DELETE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_CLI_DET_DELETE_REPL FOR PEDIDOS_CLIENTE_DETALLES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'PEDIDOS_CLIENTE_DETALLES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_CLIENTE_DETALLES'; END END ^ /* Trigger: PEDIDOS_CLI_DET_INSERT_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_CLI_DET_INSERT_REPL FOR PEDIDOS_CLIENTE_DETALLES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_CLIENTE_DETALLES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_CLIENTE_DETALLES'; END END ^ /* Trigger: PEDIDOS_CLI_DET_UPDATE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_CLI_DET_UPDATE_REPL FOR PEDIDOS_CLIENTE_DETALLES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_CLIENTE_DETALLES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_CLIENTE_DETALLES'; END END ^ /* Trigger: PEDIDOS_PROVEEDOR_DELETE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_PROVEEDOR_DELETE_REPL FOR PEDIDOS_PROVEEDOR INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'PEDIDOS_PROVEEDOR','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_PROVEEDOR'; END END ^ /* Trigger: PEDIDOS_PROVEEDOR_INSERT_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_PROVEEDOR_INSERT_REPL FOR PEDIDOS_PROVEEDOR INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_PROVEEDOR','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_PROVEEDOR'; END END ^ /* Trigger: PEDIDOS_PROVEEDOR_UPDATE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_PROVEEDOR_UPDATE_REPL FOR PEDIDOS_PROVEEDOR INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_PROVEEDOR','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_PROVEEDOR'; END END ^ /* Trigger: PEDIDOS_PROV_DET_DELETE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_PROV_DET_DELETE_REPL FOR PEDIDOS_PROVEEDOR_DETALLES INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'PEDIDOS_PROVEEDOR_DETALLES','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_PROVEEDOR_DETALLES'; END END ^ /* Trigger: PEDIDOS_PROV_DET_INSERT_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_PROV_DET_INSERT_REPL FOR PEDIDOS_PROVEEDOR_DETALLES INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_PROVEEDOR_DETALLES','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_PROVEEDOR_DETALLES'; END END ^ /* Trigger: PEDIDOS_PROV_DET_UPDATE_REPL */ CREATE OR ALTER TRIGGER PEDIDOS_PROV_DET_UPDATE_REPL FOR PEDIDOS_PROVEEDOR_DETALLES INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PEDIDOS_PROVEEDOR_DETALLES','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PEDIDOS_PROVEEDOR_DETALLES'; END END ^ /* Trigger: PROVEEDORES_DATOS_DELETE_REPL */ CREATE OR ALTER TRIGGER PROVEEDORES_DATOS_DELETE_REPL FOR PROVEEDORES_DATOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID_PROVEEDOR,'PROVEEDORES_DATOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PROVEEDORES_DATOS'; END END ^ /* Trigger: PROVEEDORES_DATOS_INSERT_REPL */ CREATE OR ALTER TRIGGER PROVEEDORES_DATOS_INSERT_REPL FOR PROVEEDORES_DATOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID_PROVEEDOR,'PROVEEDORES_DATOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PROVEEDORES_DATOS'; END END ^ /* Trigger: PROVEEDORES_DATOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER PROVEEDORES_DATOS_UPDATE_REPL FOR PROVEEDORES_DATOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID_PROVEEDOR,'PROVEEDORES_DATOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PROVEEDORES_DATOS'; END END ^ /* Trigger: PROVEEDORES_GRUPOS_DELETE_REPL */ CREATE OR ALTER TRIGGER PROVEEDORES_GRUPOS_DELETE_REPL FOR PROVEEDORES_GRUPOS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'PROVEEDORES_GRUPOS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PROVEEDORES_GRUPOS'; END END ^ /* Trigger: PROVEEDORES_GRUPOS_INSERT_REPL */ CREATE OR ALTER TRIGGER PROVEEDORES_GRUPOS_INSERT_REPL FOR PROVEEDORES_GRUPOS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PROVEEDORES_GRUPOS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PROVEEDORES_GRUPOS'; END END ^ /* Trigger: PROVEEDORES_GRUPOS_UPDATE_REPL */ CREATE OR ALTER TRIGGER PROVEEDORES_GRUPOS_UPDATE_REPL FOR PROVEEDORES_GRUPOS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'PROVEEDORES_GRUPOS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='PROVEEDORES_GRUPOS'; END END ^ /* Trigger: RECIBOS_CLIENTE_DELETE_REPL */ CREATE OR ALTER TRIGGER RECIBOS_CLIENTE_DELETE_REPL FOR RECIBOS_CLIENTE INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'RECIBOS_CLIENTE','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='RECIBOS_CLIENTE'; END END ^ /* Trigger: RECIBOS_CLIENTE_INSERT_REPL */ CREATE OR ALTER TRIGGER RECIBOS_CLIENTE_INSERT_REPL FOR RECIBOS_CLIENTE INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'RECIBOS_CLIENTE','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='RECIBOS_CLIENTE'; END END ^ /* Trigger: RECIBOS_CLIENTE_UPDATE_REPL */ CREATE OR ALTER TRIGGER RECIBOS_CLIENTE_UPDATE_REPL FOR RECIBOS_CLIENTE INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'RECIBOS_CLIENTE','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='RECIBOS_CLIENTE'; END END ^ /* Trigger: RECIBOS_PROVEEDOR_DELETE_REPL */ CREATE OR ALTER TRIGGER RECIBOS_PROVEEDOR_DELETE_REPL FOR RECIBOS_PROVEEDOR INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'RECIBOS_PROVEEDOR','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='RECIBOS_PROVEEDOR'; END END ^ /* Trigger: RECIBOS_PROVEEDOR_INSERT_REPL */ CREATE OR ALTER TRIGGER RECIBOS_PROVEEDOR_INSERT_REPL FOR RECIBOS_PROVEEDOR INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'RECIBOS_PROVEEDOR','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='RECIBOS_PROVEEDOR'; END END ^ /* Trigger: RECIBOS_PROVEEDOR_UPDATE_REPL */ CREATE OR ALTER TRIGGER RECIBOS_PROVEEDOR_UPDATE_REPL FOR RECIBOS_PROVEEDOR INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'RECIBOS_PROVEEDOR','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='RECIBOS_PROVEEDOR'; END END ^ /* Trigger: REFERENCIAS_DELETE_REPL */ CREATE OR ALTER TRIGGER REFERENCIAS_DELETE_REPL FOR REFERENCIAS INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'REFERENCIAS','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REFERENCIAS'; END END ^ /* Trigger: REFERENCIAS_INSERT_REPL */ CREATE OR ALTER TRIGGER REFERENCIAS_INSERT_REPL FOR REFERENCIAS INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'REFERENCIAS','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REFERENCIAS'; END END ^ /* Trigger: REFERENCIAS_UPDATE_REPL */ CREATE OR ALTER TRIGGER REFERENCIAS_UPDATE_REPL FOR REFERENCIAS INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'REFERENCIAS','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REFERENCIAS'; END END ^ /* Trigger: REMESAS_CLIENTE_DELETE_REPL */ CREATE OR ALTER TRIGGER REMESAS_CLIENTE_DELETE_REPL FOR REMESAS_CLIENTE INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'REMESAS_CLIENTE','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REMESAS_CLIENTE'; END END ^ /* Trigger: REMESAS_CLIENTE_INSERT_REPL */ CREATE OR ALTER TRIGGER REMESAS_CLIENTE_INSERT_REPL FOR REMESAS_CLIENTE INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'REMESAS_CLIENTE','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REMESAS_CLIENTE'; END END ^ /* Trigger: REMESAS_CLIENTE_UPDATE_REPL */ CREATE OR ALTER TRIGGER REMESAS_CLIENTE_UPDATE_REPL FOR REMESAS_CLIENTE INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'REMESAS_CLIENTE','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REMESAS_CLIENTE'; END END ^ /* Trigger: REMESAS_PROVEEDOR_DELETE_REPL */ CREATE OR ALTER TRIGGER REMESAS_PROVEEDOR_DELETE_REPL FOR REMESAS_PROVEEDOR INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'REMESAS_PROVEEDOR','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REMESAS_PROVEEDOR'; END END ^ /* Trigger: REMESAS_PROVEEDOR_INSERT_REPL */ CREATE OR ALTER TRIGGER REMESAS_PROVEEDOR_INSERT_REPL FOR REMESAS_PROVEEDOR INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'REMESAS_PROVEEDOR','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REMESAS_PROVEEDOR'; END END ^ /* Trigger: REMESAS_PROVEEDOR_UPDATE_REPL */ CREATE OR ALTER TRIGGER REMESAS_PROVEEDOR_UPDATE_REPL FOR REMESAS_PROVEEDOR INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'REMESAS_PROVEEDOR','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='REMESAS_PROVEEDOR'; END END ^ /* Trigger: TIENDA_WEB_DELETE_REPL */ CREATE OR ALTER TRIGGER TIENDA_WEB_DELETE_REPL FOR TIENDA_WEB INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'TIENDA_WEB','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='TIENDA_WEB'; END END ^ /* Trigger: TIENDA_WEB_INSERT_REPL */ CREATE OR ALTER TRIGGER TIENDA_WEB_INSERT_REPL FOR TIENDA_WEB INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'TIENDA_WEB','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='TIENDA_WEB'; END END ^ /* Trigger: TIENDA_WEB_UPDATE_REPL */ CREATE OR ALTER TRIGGER TIENDA_WEB_UPDATE_REPL FOR TIENDA_WEB INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'TIENDA_WEB','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='TIENDA_WEB'; END END ^ /* Trigger: TIPOS_IVA_DELETE_REPL */ CREATE OR ALTER TRIGGER TIPOS_IVA_DELETE_REPL FOR TIPOS_IVA INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'TIPOS_IVA','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='TIPOS_IVA'; END END ^ /* Trigger: TIPOS_IVA_INSERT_REPL */ CREATE OR ALTER TRIGGER TIPOS_IVA_INSERT_REPL FOR TIPOS_IVA INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'TIPOS_IVA','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='TIPOS_IVA'; END END ^ /* Trigger: TIPOS_IVA_UPDATE_REPL */ CREATE OR ALTER TRIGGER TIPOS_IVA_UPDATE_REPL FOR TIPOS_IVA INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'TIPOS_IVA','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='TIPOS_IVA'; END END ^ /* Trigger: UNIDADES_MEDIDA_DELETE_REPL */ CREATE OR ALTER TRIGGER UNIDADES_MEDIDA_DELETE_REPL FOR UNIDADES_MEDIDA INACTIVE AFTER DELETE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT OLD.ID,'UNIDADES_MEDIDA','D',LOC_ID FROM REPL_TABLES WHERE TABLENAME='UNIDADES_MEDIDA'; END END ^ /* Trigger: UNIDADES_MEDIDA_INSERT_REPL */ CREATE OR ALTER TRIGGER UNIDADES_MEDIDA_INSERT_REPL FOR UNIDADES_MEDIDA INACTIVE AFTER INSERT POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'UNIDADES_MEDIDA','I',LOC_ID FROM REPL_TABLES WHERE TABLENAME='UNIDADES_MEDIDA'; END END ^ /* Trigger: UNIDADES_MEDIDA_UPDATE_REPL */ CREATE OR ALTER TRIGGER UNIDADES_MEDIDA_UPDATE_REPL FOR UNIDADES_MEDIDA INACTIVE AFTER UPDATE POSITION 0 AS BEGIN IF( USER <> 'REPL' ) THEN BEGIN INSERT INTO CHANGES(TABLEKEY,TABLENAME,OP,LOC_ID) SELECT NEW.ID,'UNIDADES_MEDIDA','U',LOC_ID FROM REPL_TABLES WHERE TABLENAME='UNIDADES_MEDIDA'; END END ^ SET TERM ; ^ /******************************************************************************/ /*** Stored Procedures ***/ /******************************************************************************/ SET TERM ^ ; CREATE OR ALTER PROCEDURE PROC_CIERRE_APERTURA ( ID_EJERCICIO_CIERRE INTEGER, ID_EJERCICIO_APERTURA INTEGER) AS declare variable id_subcuenta_apertura integer; declare variable id_subcuenta_cierre integer; declare variable ref_subcuenta varchar(255); declare variable subcuenta varchar(255); declare variable num_orden integer; declare variable diferencia numeric(11,2); declare variable estado_ejercicio_cierre varchar(255); declare variable estado_ejercicio_apertura varchar(255); declare variable nombre_ejercicio_cierre varchar(255); declare variable nombre_ejercicio_apertura varchar(255); declare variable id_asiento_cierre integer; declare variable id_asiento_apertura integer; declare variable id_apunte_apertura integer; declare variable id_apunte_cierre integer; begin /*Seleccionamos el ejercicio de cierre*/ select ESTADO, NOMBRE, GEN_ID(gen_cont_asientos_id, 1) from cont_ejercicios where id = :id_ejercicio_cierre into :estado_ejercicio_cierre, :nombre_ejercicio_cierre, :id_asiento_cierre; /*Seleccionamos el ejercicio de apertura*/ select ESTADO, NOMBRE, GEN_ID(gen_cont_asientos_id, 1) from cont_ejercicios where id = :id_ejercicio_apertura into :estado_ejercicio_apertura, :nombre_ejercicio_apertura, :id_asiento_apertura; /*Si los ejercicios no estan abiertos no hacemos nada*/ if ((estado_ejercicio_cierre = 'ABIERTO') and (estado_ejercicio_apertura = 'ABIERTO')) then begin select COALESCE(max(V_CONT_DIARIO.ORDEN_ASIENTO),0) + 1 from V_CONT_DIARIO into :num_orden; /* Añadimos asiento de cierre*/ insert into CONT_ASIENTOS (ID, FECHA_ASIENTO, ORDEN, TIPO) values (:id_asiento_cierre, current_date, :num_orden, 'x'); num_orden = num_orden + 1; /* Añadimos asiento de apertura*/ insert into CONT_ASIENTOS (ID, FECHA_ASIENTO, ORDEN, TIPO) values (:id_asiento_apertura, current_date, :num_orden, 'a'); num_orden = 1; /* Para cada cuenta descuadrada se inserta un apunte de cierre asociado al asiento creado anteriormente*/ for select ID_SUBCUENTA, REF_SUBCUENTA, SUBCUENTA, SUM(COALESCE(DEBE,0))-SUM(COALESCE(HABER,0)) as DIFERENCIA, GEN_ID(gen_cont_apuntes_id, 1), GEN_ID(gen_cont_apuntes_id, 1) from v_cont_diario where (ID_EJERCICIO = :ID_EJERCICIO_CIERRE) group by 1, 2, 3 having (SUM(COALESCE(DEBE,0))-SUM(COALESCE(HABER,0))) <> 0 into :id_subcuenta_cierre, :ref_subcuenta, :subcuenta, :diferencia, :id_apunte_cierre, :id_apunte_apertura do begin /*Buscamos la subcuenta equibalente en el ejericio de apertura*/ select ID from cont_subcuentas where REF_SUBCUENTA = :ref_subcuenta and DESCRIPCION = :subcuenta and ID_EJERCICIO = :id_ejercicio_apertura into :id_subcuenta_apertura; if (diferencia > 0) then begin /*APUNTE DE CIERRE*/ insert into CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, HABER) values (:id_apunte_cierre, :id_asiento_cierre, :id_subcuenta_cierre, :num_orden, -1, 'Asiento de cierre ' || :nombre_ejercicio_cierre, :diferencia); /*APUNTE DE APERTURA*/ insert into CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DEBE) values (:id_apunte_apertura, :id_asiento_apertura, :id_subcuenta_apertura, :num_orden, -1, 'Asiento de apertura ' || :nombre_ejercicio_apertura, :diferencia); end else begin /*APUNTE DE CIERRE*/ insert into CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DEBE) values (:id_apunte_cierre, :id_asiento_cierre, :id_subcuenta_cierre, :num_orden, -1, 'Asiento de cierre ' || :nombre_ejercicio_cierre, (:diferencia)*-1); /*APUNTE DE APERTURA*/ insert into CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, HABER) values (:id_apunte_apertura, :id_asiento_apertura, :id_subcuenta_apertura, :num_orden, -1, 'Asiento de apertura ' || :nombre_ejercicio_apertura, (:diferencia)*-1); end num_orden = num_orden + 1; end /*Finalmente cambiamos de estado los ejercicio cerrado*/ update cont_ejercicios set ESTADO = 'CERRADO' where id = :id_ejercicio_cierre; end suspend; end^ CREATE OR ALTER PROCEDURE PROC_DELETE_ASIENTO_FACTURA ( IDFACTURA INTEGER, TIPO VARCHAR(1)) AS declare variable idasiento integer; begin SELECT ID FROM CONT_ASIENTOS WHERE ID_FACTURA = :IDFACTURA AND TIPO = :TIPO INTO :IDASIENTO; DELETE FROM CONT_APUNTES WHERE ID_ASIENTO = :IDASIENTO; DELETE FROM CONT_ASIENTOS WHERE ID = :IDASIENTO; suspend; end^ CREATE OR ALTER PROCEDURE PROC_DELETE_ASIENTO_PAGO ( IDPAGO INTEGER, TIPO VARCHAR(1)) AS declare variable idasiento integer; begin SELECT ID FROM CONT_ASIENTOS WHERE ID_PAGO = :IDPAGO AND TIPO = :TIPO INTO :IDASIENTO; DELETE FROM CONT_APUNTES WHERE ID_ASIENTO = :IDASIENTO; DELETE FROM CONT_ASIENTOS WHERE ID = :IDASIENTO; suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_FACTURA_CLI ( IDFACTURA INTEGER, ID_SUBCUENTA_VENTA INTEGER) AS declare variable ignorarcontabilidad integer; declare variable referenciafactura varchar(255); declare variable razon varchar(255); declare variable fechafactura date; declare variable baseimponible numeric(11,2); declare variable idsubcuenta integer; declare variable idasiento integer; declare variable idejercicio integer; declare variable orden integer; declare variable importetotal numeric(11,2); declare variable importeiva numeric(11,2); declare variable importere numeric(11,2); declare variable idempresa integer; declare variable idcontacto integer; begin /*BUSCAMOS LA FACTURA DE LA QUE COMPROBAR SI HACER ASIENTO*/ SELECT FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.IGNORAR_CONTABILIDAD, FACTURAS_CLIENTE.REFERENCIA, FACTURAS_CLIENTE.ID_CLIENTE, FACTURAS_CLIENTE.NOMBRE, FACTURAS_CLIENTE.FECHA_FACTURA, FACTURAS_CLIENTE.BASE_IMPONIBLE, FACTURAS_CLIENTE.IMPORTE_IVA, FACTURAS_CLIENTE.IMPORTE_RE, FACTURAS_CLIENTE.IMPORTE_TOTAL FROM FACTURAS_CLIENTE WHERE FACTURAS_CLIENTE.ID = :IDFACTURA INTO :IDEMPRESA, :IGNORARCONTABILIDAD, :REFERENCIAFACTURA, :IDCONTACTO, :RAZON, :FECHAFACTURA, :BASEIMPONIBLE, :IMPORTEIVA, :IMPORTERE, :IMPORTETOTAL; /*BUSCAMOS EL EJERCICIO ACTIVO PARA LA EMPRESA DE LA FACTURA*/ SELECT ID FROM CONT_EJERCICIOS WHERE ID_EMPRESA = :IDEMPRESA AND ACTIVO = 1 INTO :IDEJERCICIO; /*BUSCAMOS LA SUBCUENTA DEL EJERCICIO ACTIVO DE LA EMPRESA DE LA FACTURA PARA EL CLIENTE DE LA FACTURA*/ SELECT ID FROM CONT_SUBCUENTAS WHERE ID_CONTACTO = :IDCONTACTO AND ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; SELECT ID FROM CONT_ASIENTOS WHERE ID_FACTURA = :IDFACTURA AND TIPO = 'c' INTO :IDASIENTO; /*SIEMPRE ELIMIAREMOS LOS APUNTES EXISTENTES DEL ASIENTO PARA VOLVERLOS A GENERAR*/ DELETE FROM CONT_APUNTES WHERE ID_ASIENTO = :IDASIENTO; /*EN EL CASO DE QUE SE DESEE IGNORAR LA FACTURA EN CONTABILIDAD BORRAMOS EL ASIENTO Y SE ACABO*/ if (IGNORARCONTABILIDAD <> 0) then BEGIN DELETE FROM CONT_ASIENTOS WHERE ID = :IDASIENTO; END /*EN EL DE CONTABILIZAR LA FACTURA COMPROBAMOS SI EXISTE ASIENTO ASOCIADO A LA FACTURA*/ ELSE BEGIN /*MODIFICAMOS LOS DATOS DEL ASIENTO*/ IF (IDASIENTO <> 0) THEN BEGIN UPDATE CONT_ASIENTOS SET FECHA_ASIENTO = :FECHAFACTURA WHERE ID = :IDASIENTO; END /*INSERTAMOS LOS DATOS DEL NUEVO ASIENTO*/ ELSE BEGIN SELECT GEN_ID(GEN_CONT_ASIENTOS_ID, 1), COALESCE(max(V_CONT_DIARIO.ORDEN_ASIENTO),0) + 1 FROM V_CONT_DIARIO WHERE V_CONT_DIARIO.ID_EJERCICIO = :IDEJERCICIO INTO :IDASIENTO, :ORDEN; INSERT INTO CONT_ASIENTOS (ID, FECHA_ASIENTO, ORDEN, ID_FACTURA, TIPO) VALUES (:IDASIENTO, :FECHAFACTURA, :ORDEN, :IDFACTURA, 'c'); END IF (IMPORTETOTAL < 0) THEN BEGIN /*INSERTAMOS LOS APUNTES DEL ABONO*/ INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 1, -1, 'Abono de cliente: ' || :RAZON, :REFERENCIAFACTURA, NULL, -1*(:IMPORTETOTAL)); END ELSE BEGIN /*INSERTAMOS LOS APUNTES DE LA FACTURA*/ INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 1, -1, 'Factura de cliente: ' || :RAZON, :REFERENCIAFACTURA, :IMPORTETOTAL, NULL); END IF (IMPORTEIVA <> 0) THEN BEGIN SELECT CONT_SUBCUENTAS.ID FROM CONT_SUBCUENTAS LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) WHERE CONT_CUENTAS.REF_CUENTA = 477 AND CONT_SUBCUENTAS.ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; IF (IMPORTETOTAL < 0) THEN BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 2, -1, 'Abono de cliente: ' || :RAZON, :REFERENCIAFACTURA || ' (IVA)', -1*(:IMPORTEIVA), NULL); END ELSE BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 2, -1, 'Factura de cliente: ' || :RAZON, :REFERENCIAFACTURA || ' (IVA)', NULL, :IMPORTEIVA); END END IF (IMPORTERE <> 0) THEN BEGIN SELECT CONT_SUBCUENTAS.ID FROM CONT_SUBCUENTAS LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) WHERE CONT_CUENTAS.REF_CUENTA = 475 AND CONT_SUBCUENTAS.ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; IF (IMPORTETOTAL < 0) THEN BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 3, -1, 'Abono de cliente: ' || :RAZON, :REFERENCIAFACTURA || ' (RE)', -1*(:IMPORTERE), NULL); END ELSE BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 3, -1, 'Factura de cliente: ' || :RAZON, :REFERENCIAFACTURA || ' (RE)', NULL, :IMPORTERE); END END IF (BASEIMPONIBLE <> 0) THEN BEGIN IF (IMPORTETOTAL < 0) THEN BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :ID_SUBCUENTA_VENTA, 4, -1, 'Abono de cliente: ' || :RAZON, :REFERENCIAFACTURA || ' (Base imponible)', -1*(:BASEIMPONIBLE), NULL); END ELSE BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :ID_SUBCUENTA_VENTA, 4, -1, 'Factura de cliente: ' || :RAZON, :REFERENCIAFACTURA || ' (Base imponible)', NULL, :BASEIMPONIBLE); END END END suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_FACTURA_PROV ( IDFACTURA INTEGER, ID_SUBCUENTA_COMPRA INTEGER) AS declare variable ignorarcontabilidad integer; declare variable referenciafactura varchar(255); declare variable razon varchar(255); declare variable fechafactura date; declare variable baseimponible numeric(11,2); declare variable idsubcuenta integer; declare variable idasiento integer; declare variable idejercicio integer; declare variable orden integer; declare variable importetotal numeric(11,2); declare variable importeiva numeric(11,2); declare variable importere numeric(11,2); declare variable idempresa integer; declare variable idcontacto integer; begin /*BUSCAMOS LA FACTURA DE LA QUE COMPROBAR SI HACER ASIENTO*/ SELECT FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR.IGNORAR_CONTABILIDAD, FACTURAS_PROVEEDOR.REFERENCIA, FACTURAS_PROVEEDOR.ID_PROVEEDOR, FACTURAS_PROVEEDOR.NOMBRE, FACTURAS_PROVEEDOR.FECHA_FACTURA, FACTURAS_PROVEEDOR.BASE_IMPONIBLE, FACTURAS_PROVEEDOR.IMPORTE_IVA, FACTURAS_PROVEEDOR.IMPORTE_RE, FACTURAS_PROVEEDOR.IMPORTE_TOTAL FROM FACTURAS_PROVEEDOR WHERE FACTURAS_PROVEEDOR.ID = :IDFACTURA INTO :IDEMPRESA, :IGNORARCONTABILIDAD, :REFERENCIAFACTURA, :IDCONTACTO, :RAZON, :FECHAFACTURA, :BASEIMPONIBLE, :IMPORTEIVA, :IMPORTERE, :IMPORTETOTAL; /*BUSCAMOS EL EJERCICIO ACTIVO PARA LA EMPRESA DE LA FACTURA*/ SELECT ID FROM CONT_EJERCICIOS WHERE ID_EMPRESA = :IDEMPRESA AND ACTIVO = 1 INTO :IDEJERCICIO; /*BUSCAMOS LA SUBCUENTA DEL EJERCICIO ACTIVO DE LA EMPRESA DE LA FACTURA PARA EL CLIENTE DE LA FACTURA*/ SELECT ID FROM CONT_SUBCUENTAS WHERE ID_CONTACTO = :IDCONTACTO AND ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; SELECT ID FROM CONT_ASIENTOS WHERE ID_FACTURA = :IDFACTURA AND TIPO = 'p' INTO :IDASIENTO; /*SIEMPRE ELIMIAREMOS LOS APUNTES EXISTENTES DEL ASIENTO PARA VOLVERLOS A GENERAR*/ DELETE FROM CONT_APUNTES WHERE ID_ASIENTO = :IDASIENTO; /*EN EL CASO DE QUE SE DESEE IGNORAR LA FACTURA EN CONTABILIDAD BORRAMOS EL ASIENTO Y SE ACABO*/ if (IGNORARCONTABILIDAD <> 0) then BEGIN DELETE FROM CONT_ASIENTOS WHERE ID = :IDASIENTO; END /*EN EL DE CONTABILIZAR LA FACTURA COMPROBAMOS SI EXISTE ASIENTO ASOCIADO A LA FACTURA*/ ELSE BEGIN /*MODIFICAMOS LOS DATOS DEL ASIENTO*/ IF (IDASIENTO <> 0) THEN BEGIN UPDATE CONT_ASIENTOS SET FECHA_ASIENTO = :FECHAFACTURA WHERE ID = :IDASIENTO; END /*INSERTAMOS LOS DATOS DEL NUEVO ASIENTO*/ ELSE BEGIN SELECT GEN_ID(GEN_CONT_ASIENTOS_ID, 1), COALESCE(max(V_CONT_DIARIO.ORDEN_ASIENTO),0) + 1 FROM V_CONT_DIARIO WHERE V_CONT_DIARIO.ID_EJERCICIO = :IDEJERCICIO INTO :IDASIENTO, :ORDEN; INSERT INTO CONT_ASIENTOS (ID, FECHA_ASIENTO, ORDEN, ID_FACTURA, TIPO) VALUES (:IDASIENTO, :FECHAFACTURA, :ORDEN, :IDFACTURA, 'p'); END IF (IMPORTETOTAL < 0) THEN BEGIN /*INSERTAMOS LOS APUNTES DEL ABONO*/ INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 1, -1, 'Abono de proveedor: ' || :RAZON, :REFERENCIAFACTURA, -1*(:IMPORTETOTAL), NULL); END ELSE BEGIN /*INSERTAMOS LOS APUNTES DE LA FACTURA*/ INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 1, -1, 'Factura de proveedor: ' || :RAZON, :REFERENCIAFACTURA, NULL, :IMPORTETOTAL); END IF (IMPORTEIVA <> 0) THEN BEGIN SELECT CONT_SUBCUENTAS.ID FROM CONT_SUBCUENTAS LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) WHERE CONT_CUENTAS.REF_CUENTA = 472 AND CONT_SUBCUENTAS.ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; IF (IMPORTETOTAL < 0) THEN BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 2, -1, 'Abono de proveedor: ' || :RAZON, :REFERENCIAFACTURA || ' (IVA)', NULL, -1*(:IMPORTEIVA)); END ELSE BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 2, -1, 'Factura de proveedor: ' || :RAZON, :REFERENCIAFACTURA || ' (IVA)', :IMPORTEIVA, NULL); END END IF (IMPORTERE <> 0) THEN BEGIN SELECT CONT_SUBCUENTAS.ID FROM CONT_SUBCUENTAS LEFT JOIN CONT_CUENTAS ON (CONT_CUENTAS.ID = CONT_SUBCUENTAS.ID_CUENTA) WHERE CONT_CUENTAS.REF_CUENTA = 470 AND CONT_SUBCUENTAS.ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; IF (IMPORTETOTAL < 0) THEN BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 3, -1, 'Abono de proveedor: ' || :RAZON, :REFERENCIAFACTURA || ' (RE)', NULL, -1*(:IMPORTERE)); END ELSE BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 3, -1, 'Factura de proveedor: ' || :RAZON, :REFERENCIAFACTURA || ' (RE)', :IMPORTERE, NULL); END END IF (BASEIMPONIBLE <> 0) THEN BEGIN IF (IMPORTETOTAL < 0) THEN BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :ID_SUBCUENTA_COMPRA, 4, -1, 'Abono de proveedor: ' || :RAZON, :REFERENCIAFACTURA || ' (Base imponible)', NULL, -1*(:BASEIMPONIBLE)); END ELSE BEGIN INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :ID_SUBCUENTA_COMPRA, 4, -1, 'Factura de proveedor: ' || :RAZON, :REFERENCIAFACTURA || ' (Base imponible)', :BASEIMPONIBLE, NULL); END END END suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_PAGO_CLI ( IDPAGO INTEGER, IDSUBCUENTAPAGO INTEGER) AS declare variable ignorarcontabilidad integer; declare variable referenciarecibo varchar(255); declare variable fechapago date; declare variable tipopago varchar(255); declare variable importe numeric(11,2); declare variable idsubcuenta integer; declare variable idasiento integer; declare variable idejercicio integer; declare variable orden integer; declare variable debe numeric(11,2); declare variable haber numeric(11,2); declare variable idempresa integer; declare variable idcontacto integer; declare variable concepto varchar(2000); begin /*BUSCAMOS EL PAGO PARA COMPROBAR SI HACER ASIENTO*/ SELECT PAGOS_CLIENTE.IGNORAR_CONTABILIDAD, RECIBOS_CLIENTE.ID_EMPRESA, RECIBOS_CLIENTE.ID_CLIENTE, RECIBOS_CLIENTE.REFERENCIA || ': ' || RECIBOS_CLIENTE.NOMBRE, PAGOS_CLIENTE.FECHA_PAGO, PAGOS_CLIENTE.TIPO, PAGOS_CLIENTE.TIPO || ': ' || COALESCE(RECIBOS_CLIENTE.DESCRIPCION, 'No hay descripción'), RECIBOS_CLIENTE.IMPORTE FROM PAGOS_CLIENTE LEFT JOIN RECIBOS_CLIENTE ON (RECIBOS_CLIENTE.ID = PAGOS_CLIENTE.ID_RECIBO) WHERE PAGOS_CLIENTE.ID = :IDPAGO INTO :IGNORARCONTABILIDAD, :IDEMPRESA, :IDCONTACTO, :REFERENCIARECIBO, :FECHAPAGO, :TIPOPAGO, :CONCEPTO, :IMPORTE; /*BUSCAMOS EL EJERCICIO ACTIVO PARA LA EMPRESA DE LA FACTURA*/ SELECT ID FROM CONT_EJERCICIOS WHERE ID_EMPRESA = :IDEMPRESA AND ACTIVO = 1 INTO :IDEJERCICIO; /*BUSCAMOS LA SUBCUENTA DEL EJERCICIO ACTIVO DE LA EMPRESA DE LA FACTURA PARA EL CLIENTE DE LA FACTURA*/ SELECT ID FROM CONT_SUBCUENTAS WHERE ID_CONTACTO = :IDCONTACTO AND ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; SELECT ID FROM CONT_ASIENTOS WHERE ID_PAGO = :IDPAGO AND TIPO = 'c' INTO :IDASIENTO; /*SIEMPRE ELIMIAREMOS LOS APUNTES EXISTENTES DEL ASIENTO PARA VOLVERLOS A GENERAR*/ DELETE FROM CONT_APUNTES WHERE ID_ASIENTO = :IDASIENTO; /*EN EL CASO DE QUE SE DESEE IGNORAR EL PAGO EN CONTABILIDAD BORRAMOS EL ASIENTO Y SE ACABO*/ if (IGNORARCONTABILIDAD <> 0) then BEGIN DELETE FROM CONT_ASIENTOS WHERE ID = :IDASIENTO; END /*EN EL DE CONTABILIZAR EL PAGO COMPROBAMOS SI EXISTE ASIENTO ASOCIADO AL PAGO*/ ELSE BEGIN /*MODIFICAMOS LOS DATOS DEL ASIENTO*/ IF (IDASIENTO <> 0) THEN BEGIN UPDATE CONT_ASIENTOS SET FECHA_ASIENTO = :FECHAPAGO WHERE ID = :IDASIENTO; END /*INSERTAMOS LOS DATOS DEL NUEVO ASIENTO*/ ELSE BEGIN SELECT GEN_ID(GEN_CONT_ASIENTOS_ID, 1), COALESCE(max(V_CONT_DIARIO.ORDEN_ASIENTO),0) + 1 FROM V_CONT_DIARIO WHERE V_CONT_DIARIO.ID_EJERCICIO = :IDEJERCICIO INTO :IDASIENTO, :ORDEN; INSERT INTO CONT_ASIENTOS (ID, FECHA_ASIENTO, ORDEN, ID_PAGO, TIPO) VALUES (:IDASIENTO, :FECHAPAGO, :ORDEN, :IDPAGO, 'c'); END /*INSERTAMOS LOS APUNTES*/ if (TIPOPAGO = 'Pago') then begin DEBE = NULL; HABER = :IMPORTE; end else begin DEBE = :IMPORTE; HABER = NULL; end INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 1, -1, :CONCEPTO, :REFERENCIARECIBO, :DEBE, :HABER); INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTAPAGO, 2, -1, :CONCEPTO, :REFERENCIARECIBO, :HABER, :DEBE); END suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_ASIENTO_PAGO_PROV ( IDPAGO INTEGER, IDSUBCUENTAPAGO INTEGER) AS declare variable ignorarcontabilidad integer; declare variable referenciarecibo varchar(255); declare variable fechapago date; declare variable tipopago varchar(255); declare variable importe numeric(11,2); declare variable idsubcuenta integer; declare variable idasiento integer; declare variable idejercicio integer; declare variable orden integer; declare variable debe numeric(11,2); declare variable haber numeric(11,2); declare variable idempresa integer; declare variable idcontacto integer; declare variable concepto varchar(2000); begin /*BUSCAMOS EL PAGO PARA COMPROBAR SI HACER ASIENTO*/ SELECT PAGOS_PROVEEDOR.IGNORAR_CONTABILIDAD, RECIBOS_PROVEEDOR.ID_EMPRESA, RECIBOS_PROVEEDOR.ID_PROVEEDOR, RECIBOS_PROVEEDOR.REFERENCIA || ': ' || RECIBOS_PROVEEDOR.NOMBRE, PAGOS_PROVEEDOR.FECHA_PAGO, PAGOS_PROVEEDOR.TIPO, PAGOS_PROVEEDOR.TIPO || ': ' || COALESCE(RECIBOS_PROVEEDOR.DESCRIPCION, 'No hay descripción'), RECIBOS_PROVEEDOR.IMPORTE FROM PAGOS_PROVEEDOR LEFT JOIN RECIBOS_PROVEEDOR ON (RECIBOS_PROVEEDOR.ID = PAGOS_PROVEEDOR.ID_RECIBO) WHERE PAGOS_PROVEEDOR.ID = :IDPAGO INTO :IGNORARCONTABILIDAD, :IDEMPRESA, :IDCONTACTO, :REFERENCIARECIBO, :FECHAPAGO, :TIPOPAGO, :CONCEPTO, :IMPORTE; /*BUSCAMOS EL EJERCICIO ACTIVO PARA LA EMPRESA DE LA FACTURA*/ SELECT ID FROM CONT_EJERCICIOS WHERE ID_EMPRESA = :IDEMPRESA AND ACTIVO = 1 INTO :IDEJERCICIO; /*BUSCAMOS LA SUBCUENTA DEL EJERCICIO ACTIVO DE LA EMPRESA DE LA FACTURA PARA EL CLIENTE DE LA FACTURA*/ SELECT ID FROM CONT_SUBCUENTAS WHERE ID_CONTACTO = :IDCONTACTO AND ID_EJERCICIO = :IDEJERCICIO INTO :IDSUBCUENTA; SELECT ID FROM CONT_ASIENTOS WHERE ID_PAGO = :IDPAGO AND TIPO = 'p' INTO :IDASIENTO; /*SIEMPRE ELIMIAREMOS LOS APUNTES EXISTENTES DEL ASIENTO PARA VOLVERLOS A GENERAR*/ DELETE FROM CONT_APUNTES WHERE ID_ASIENTO = :IDASIENTO; /*EN EL CASO DE QUE SE DESEE IGNORAR EL PAGO EN CONTABILIDAD BORRAMOS EL ASIENTO Y SE ACABO*/ if (IGNORARCONTABILIDAD <> 0) then BEGIN DELETE FROM CONT_ASIENTOS WHERE ID = :IDASIENTO; END /*EN EL DE CONTABILIZAR EL PAGO COMPROBAMOS SI EXISTE ASIENTO ASOCIADO AL PAGO*/ ELSE BEGIN /*MODIFICAMOS LOS DATOS DEL ASIENTO*/ IF (IDASIENTO <> 0) THEN BEGIN UPDATE CONT_ASIENTOS SET FECHA_ASIENTO = :FECHAPAGO WHERE ID = :IDASIENTO; END /*INSERTAMOS LOS DATOS DEL NUEVO ASIENTO*/ ELSE BEGIN SELECT GEN_ID(GEN_CONT_ASIENTOS_ID, 1), COALESCE(max(V_CONT_DIARIO.ORDEN_ASIENTO),0) + 1 FROM V_CONT_DIARIO WHERE V_CONT_DIARIO.ID_EJERCICIO = :IDEJERCICIO INTO :IDASIENTO, :ORDEN; INSERT INTO CONT_ASIENTOS (ID, FECHA_ASIENTO, ORDEN, ID_PAGO, TIPO) VALUES (:IDASIENTO, :FECHAPAGO, :ORDEN, :IDPAGO, 'p'); END /*INSERTAMOS LOS APUNTES*/ if (TIPOPAGO = 'Pago') then begin DEBE = :IMPORTE; HABER = NULL; end else begin DEBE = NULL; HABER = :IMPORTE; end INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTA, 1, -1, :CONCEPTO, :REFERENCIARECIBO, :DEBE, :HABER); INSERT INTO CONT_APUNTES (ID, ID_ASIENTO, ID_SUBCUENTA, NUM_ORDEN, PUNTEADO, CONCEPTO, DOCUMENTO, DEBE, HABER) VALUES (GEN_ID(GEN_CONT_APUNTES_ID, 1), :IDASIENTO, :IDSUBCUENTAPAGO, 2, -1, :CONCEPTO, :REFERENCIARECIBO, :HABER, :DEBE); END suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_CUENTAS ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER, ID_EPIGRAFE_COPIA INTEGER, ID_EPIGRAFE INTEGER) AS declare variable id_cuenta_especial integer; declare variable id_balance integer; declare variable id_cuenta integer; declare variable id_cuenta_copia integer; declare variable descripcion varchar(255); declare variable ref_cuenta varchar(10); begin if (id_ejercicio_copia = 0) then begin for select GEN_ID(gen_cont_cuentas_id, 1), ID, REF_CUENTA, DESCRIPCION, ID_BALANCE, ID_CUENTA_ESPECIAL from CONT_CUENTAS where (ID_EJERCICIO IS NULL) and (ID_EPIGRAFE = :id_epigrafe_copia) order by ID into :id_cuenta, :id_cuenta_copia, :ref_cuenta, :descripcion, :id_balance, :id_cuenta_especial do begin insert into CONT_CUENTAS (ID, REF_CUENTA, DESCRIPCION, ID_BALANCE, ID_CUENTA_ESPECIAL, ID_EJERCICIO, ID_EPIGRAFE) values (:id_cuenta, :ref_cuenta, :descripcion, :id_balance, :id_cuenta_especial, :id_ejercicio, :id_epigrafe); /*INSERTAR SUBCUENTAS*/ execute procedure proc_new_subcuentas :id_ejercicio_copia, :id_ejercicio, :id_cuenta_copia, :id_cuenta; end end else begin for select GEN_ID(gen_cont_cuentas_id, 1), ID, REF_CUENTA, DESCRIPCION, ID_BALANCE, ID_CUENTA_ESPECIAL from CONT_CUENTAS where (ID_EJERCICIO = :id_ejercicio_copia) and (ID_EPIGRAFE = :id_epigrafe_copia) order by ID into :id_cuenta, :id_cuenta_copia, :ref_cuenta, :descripcion, :id_balance, :id_cuenta_especial do begin insert into CONT_CUENTAS (ID, REF_CUENTA, DESCRIPCION, ID_BALANCE, ID_CUENTA_ESPECIAL, ID_EJERCICIO, ID_EPIGRAFE) values (:id_cuenta, :ref_cuenta, :descripcion, :id_balance, :id_cuenta_especial, :id_ejercicio, :id_epigrafe); /*INSERTAR SUBCUENTAS*/ execute procedure proc_new_subcuentas :id_ejercicio_copia, :id_ejercicio, :id_cuenta_copia, :id_cuenta; end end suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_EPIGRAFES ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER, ID_EPIGRAFE_COPIA INTEGER, ID_EPIGRAFE INTEGER, ID_PADRE INTEGER, REF_EPIGRAFE VARCHAR(6), DESCRIPCION VARCHAR(255)) AS begin insert into CONT_EPIGRAFES (ID, REF_EPIGRAFE, DESCRIPCION, ID_EJERCICIO) values (:id_epigrafe, :ref_epigrafe, :descripcion, :id_ejercicio); /*MIRAMOS EL NUEVO ID CORREPONDIENTE AL PADRE*/ if (id_padre <> 0) then begin select REF_EPIGRAFE from cont_epigrafes where (ID = :id_padre) into :ref_epigrafe; select ID from cont_epigrafes where (REF_EPIGRAFE = :ref_epigrafe and ID_EJERCICIO = :ID_ejercicio) into :id_padre; end /*ASIGNAMOS EL ID DEL PADRE*/ update cont_epigrafes set ID_PADRE = :id_padre where (ID = :id_epigrafe); /*INSERTAR CUENTAS*/ execute procedure proc_new_cuentas :id_ejercicio_copia, :id_ejercicio, :id_epigrafe_copia, :id_epigrafe; suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_PGC ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER) RETURNS ( RESULTADO INTEGER) AS declare variable id_epigrafe_copia integer; declare variable ref_epigrafe varchar(6); declare variable swhere integer; declare variable descripcion varchar(255); declare variable id_padre integer; declare variable id_epigrafe integer; declare variable id_ejercicio_acopiar integer; begin select ID from CONT_EJERCICIOS WHERE ID = :id_ejercicio_copia into :id_ejercicio_acopiar; /* SI EL EJERCICIO DE COPIA NO EXISTE COPIAMOS EL PGC BASICO*/ if (id_ejercicio_acopiar is null) then begin for select GEN_ID(gen_cont_epigrafes_id, 1), ID, REF_EPIGRAFE, DESCRIPCION, ID_PADRE from CONT_EPIGRAFES where (ID_EJERCICIO IS NULL) order by ID, ID_PADRE into :id_epigrafe, :id_epigrafe_copia, :ref_epigrafe, :descripcion, :id_padre do begin /*INSERTAR EPIGRAFES*/ execute procedure proc_new_epigrafes :id_ejercicio_copia, :id_ejercicio, :id_epigrafe_copia, :id_epigrafe, :id_padre, :ref_epigrafe, :descripcion; end end /* SI EL EJERCICIO DE COPIA EXISTE COPIAMOS EL PGC DEL EJERCICIO*/ else begin for select GEN_ID(gen_cont_epigrafes_id, 1), ID, REF_EPIGRAFE, DESCRIPCION, ID_PADRE from CONT_EPIGRAFES where (ID_EJERCICIO = :id_ejercicio_copia) order by ID, ID_PADRE into :id_epigrafe, :id_epigrafe_copia, :ref_epigrafe, :descripcion, :id_padre do begin /*INSERTAR EPIGRAFES*/ execute procedure proc_new_epigrafes :id_ejercicio_copia, :id_ejercicio, :id_epigrafe_copia, :id_epigrafe, :id_padre, :ref_epigrafe, :descripcion; end end suspend; end^ CREATE OR ALTER PROCEDURE PROC_NEW_SUBCUENTAS ( ID_EJERCICIO_COPIA INTEGER, ID_EJERCICIO INTEGER, ID_CUENTA_COPIA INTEGER, ID_CUENTA INTEGER) AS declare variable descripcion varchar(255); declare variable ref_subcuenta varchar(15); declare variable id_subcuenta integer; declare variable id_contacto integer; begin if (id_ejercicio_copia = 0) then begin for select GEN_ID(gen_cont_subcuentas_id, 1), REF_SUBCUENTA, DESCRIPCION from CONT_SUBCUENTAS where (ID_EJERCICIO IS NULL) and (ID_CUENTA = :id_cuenta_copia) order by ID into :id_subcuenta, :ref_subcuenta, :descripcion do begin insert into CONT_SUBCUENTAS (ID, REF_SUBCUENTA, DESCRIPCION, ID_EJERCICIO, ID_CUENTA) values (:id_subcuenta, :ref_subcuenta, :descripcion, :id_ejercicio, :id_cuenta); end end else begin for select GEN_ID(gen_cont_subcuentas_id, 1), REF_SUBCUENTA, DESCRIPCION, ID_CONTACTO from CONT_SUBCUENTAS where (ID_EJERCICIO = :id_ejercicio_copia) and (ID_CUENTA = :id_cuenta_copia) order by ID into :id_subcuenta, :ref_subcuenta, :descripcion, :id_contacto do begin insert into CONT_SUBCUENTAS (ID, REF_SUBCUENTA, DESCRIPCION, ID_EJERCICIO, ID_CUENTA, ID_CONTACTO) values (:id_subcuenta, :ref_subcuenta, :descripcion, :id_ejercicio, :id_cuenta, :id_contacto); end end suspend; end^ CREATE OR ALTER PROCEDURE PROC_PRE_CON_CAPITULOS ( AID INTEGER, TIPO VARCHAR(15)) RETURNS ( ID INTEGER, ID_PRE_CON INTEGER, POSICION INTEGER, TIPO_DETALLE VARCHAR(25), CONCEPTO VARCHAR(2000), IMPORTE_TOTAL NUMERIC(11,4), VISIBLE SMALLINT, TIPO_ARTICULO VARCHAR(2), DESCUENTO FLOAT, IMPORTE_DESCUENTO NUMERIC(11,4)) AS declare variable num_filas integer; declare variable contador integer; declare variable id_aux integer; declare variable id_aux_temp integer; declare variable total_acumulado numeric(11,2); declare variable posicion_aux integer; declare variable posicion_aux_temp integer; declare variable ultimo_tipo_detalle varchar(25); declare variable tipo_detalle_aux varchar(25); declare variable tipo_detalle_aux_temp varchar(25); declare variable concepto_aux varchar(2000); declare variable concepto_aux_temp varchar(2000); declare variable tipo_articulo_aux varchar(2); declare variable tipo_articulo_aux_temp varchar(2); declare variable importe_descuento_aux numeric(11,2); declare variable descuento_aux float; declare variable importe_aux numeric(11,2); begin total_acumulado = 0.0; importe_descuento_aux = 0.0; descuento_aux = 0.0; contador = 0; num_filas = 0; ID_AUX = -1; posicion_aux = -1; concepto_aux = 'General'; tipo_detalle_aux = 'Titulo'; tipo_articulo_aux = 'NA'; if (TIPO = 'Presupuesto') then begin /* ¿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 end else if (TIPO = 'Contrato') then begin /* ¿Existe el contrato? */ for select count(*) from contratos_cliente_detalles where id_contrato = :AID into :num_filas do begin if (num_filas = 0) then suspend; end end if (TIPO = 'Presupuesto') then begin for select id, id_presupuesto, posicion, tipo_detalle, tipo_articulo, F_RTFTOTEXT(concepto) as concepto, coalesce(descuento,0), coalesce(importe_total,0), coalesce(visible, 1) from presupuestos_cliente_detalles where id_presupuesto = :AID order by id_presupuesto, posicion into :ID, :ID_PRE_CON, :POSICION, :TIPO_DETALLE, :TIPO_ARTICULO, :CONCEPTO, :DESCUENTO, :IMPORTE_TOTAL, :VISIBLE do begin contador = contador + 1; /*CONCEPTO*/ if ((visible <> 0) and (tipo_detalle = 'Concepto')) then begin /*Escribimos capitulo anterior*/ if ((Importe_total > 0) and ((ultimo_tipo_detalle = 'Descuento') or (ultimo_tipo_detalle = 'Subtotal'))) then begin Importe_aux = Importe_total; id = id_aux; posicion = posicion_aux; tipo_detalle = tipo_detalle_aux; tipo_articulo = tipo_articulo_aux; concepto = concepto_aux; importe_total = total_acumulado; importe_descuento = importe_descuento_aux; descuento = descuento_aux; visible = 1; suspend; total_acumulado = 0.0; importe_descuento_aux = 0.0; descuento_aux = 0.0; /*Inicializamos*/ ID_AUX = -1; posicion_aux = -1; concepto_aux = 'General'; tipo_detalle_aux = 'Titulo'; tipo_articulo_aux = 'NA'; importe_total = Importe_aux; end total_acumulado = total_acumulado + importe_total; ultimo_tipo_detalle = tipo_detalle; end /*TITULO*/ else if ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo_opc')) then begin ultimo_tipo_detalle = tipo_detalle; id_aux_temp = id; posicion_aux_temp = posicion; tipo_detalle_aux_temp = tipo_detalle; tipo_articulo_aux_temp = tipo_articulo; concepto_aux_temp = concepto; /*Escribimos capitulo anterior*/ if (id_aux > 0) then begin id = id_aux; posicion = posicion_aux; tipo_detalle = tipo_detalle_aux; tipo_articulo = tipo_articulo_aux; concepto = concepto_aux; importe_total = total_acumulado; importe_descuento = importe_descuento_aux; descuento = descuento_aux; visible = 1; suspend; total_acumulado = 0.0; importe_descuento_aux = 0.0; descuento_aux = 0.0; end id_aux = id_aux_temp; posicion_aux = posicion_aux_temp; tipo_detalle_aux = tipo_detalle_aux_temp; tipo_articulo_aux = tipo_articulo_aux_temp; concepto_aux = concepto_aux_temp; end /*SUBTOTAL*/ else if (tipo_detalle = 'Subtotal') then begin ultimo_tipo_detalle = tipo_detalle; end else if (tipo_detalle = 'Descuento') then begin ultimo_tipo_detalle = tipo_detalle; importe_descuento_aux = importe_total; descuento_aux = descuento; end if (contador = num_filas) then begin id = id_aux; posicion = posicion_aux; tipo_detalle = tipo_detalle_aux; tipo_articulo = tipo_articulo_aux; concepto = concepto_aux; importe_total = total_acumulado; importe_descuento = importe_descuento_aux; descuento = descuento_aux; visible = 1; suspend; break; end end end else if (TIPO = 'Contrato') then begin for select id, id_contrato, posicion, tipo_detalle, tipo_articulo, F_RTFTOTEXT(concepto) as concepto, coalesce(descuento,0), coalesce(importe_total,0), coalesce(visible, 1) from contratos_cliente_detalles where id_contrato = :AID order by id_contrato, posicion into :ID, :ID_PRE_CON, :POSICION, :TIPO_DETALLE, :TIPO_ARTICULO, :CONCEPTO, :DESCUENTO, :IMPORTE_TOTAL, :VISIBLE do begin contador = contador + 1; /*CONCEPTO*/ if ((visible <> 0) and (tipo_detalle = 'Concepto')) then begin /*Escribimos capitulo anterior*/ if ((Importe_total > 0) and ((ultimo_tipo_detalle = 'Descuento') or (ultimo_tipo_detalle = 'Subtotal'))) then begin Importe_aux = Importe_total; id = id_aux; posicion = posicion_aux; tipo_detalle = tipo_detalle_aux; tipo_articulo = tipo_articulo_aux; concepto = concepto_aux; importe_total = total_acumulado; importe_descuento = importe_descuento_aux; descuento = descuento_aux; visible = 1; suspend; total_acumulado = 0.0; importe_descuento_aux = 0.0; descuento_aux = 0.0; /*Inicializamos*/ ID_AUX = -1; posicion_aux = -1; concepto_aux = 'General'; tipo_detalle_aux = 'Titulo'; tipo_articulo_aux = 'NA'; importe_total = Importe_aux; end total_acumulado = total_acumulado + importe_total; ultimo_tipo_detalle = tipo_detalle; end /*TITULO*/ else if ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo_opc')) then begin ultimo_tipo_detalle = tipo_detalle; id_aux_temp = id; posicion_aux_temp = posicion; tipo_detalle_aux_temp = tipo_detalle; tipo_articulo_aux_temp = tipo_articulo; concepto_aux_temp = concepto; /*Escribimos capitulo anterior*/ if (id_aux > 0) then begin id = id_aux; posicion = posicion_aux; tipo_detalle = tipo_detalle_aux; tipo_articulo = tipo_articulo_aux; concepto = concepto_aux; importe_total = total_acumulado; importe_descuento = importe_descuento_aux; descuento = descuento_aux; visible = 1; suspend; total_acumulado = 0.0; importe_descuento_aux = 0.0; descuento_aux = 0.0; end id_aux = id_aux_temp; posicion_aux = posicion_aux_temp; tipo_detalle_aux = tipo_detalle_aux_temp; tipo_articulo_aux = tipo_articulo_aux_temp; concepto_aux = concepto_aux_temp; end /*SUBTOTAL*/ else if (tipo_detalle = 'Subtotal') then begin ultimo_tipo_detalle = tipo_detalle; end else if (tipo_detalle = 'Descuento') then begin ultimo_tipo_detalle = tipo_detalle; importe_descuento_aux = importe_total; descuento_aux = descuento; end if (contador = num_filas) then begin id = id_aux; posicion = posicion_aux; tipo_detalle = tipo_detalle_aux; tipo_articulo = tipo_articulo_aux; concepto = concepto_aux; importe_total = total_acumulado; importe_descuento = importe_descuento_aux; descuento = descuento_aux; visible = 1; suspend; break; end end end end^ CREATE OR ALTER PROCEDURE PROC_PRE_CON_CAPITULOS_CONCEP ( AID INTEGER, TIPO VARCHAR(15)) RETURNS ( ID INTEGER, ID_PRE_CON INTEGER, POSICION INTEGER, TIPO_DETALLE VARCHAR(25), ID_CAPITULO INTEGER, TIPO_ARTICULO VARCHAR(2), ID_ARTICULO INTEGER, PROPIEDAD VARCHAR(50), CONCEPTO VARCHAR(2000), CANTIDAD NUMERIC(11,2), IMPORTE_UNIDAD NUMERIC(11,4), DESCUENTO NUMERIC(2,2), IMPORTE_PORTE NUMERIC(11,4), IMPORTE_TOTAL NUMERIC(11,4), VISIBLE2 SMALLINT, VISIBLE SMALLINT) AS declare variable CAPITULO_ACTUAL integer; begin capitulo_actual = -1; ID_CAPITULO = -1; if (TIPO = 'Presupuesto') then begin for select pre.id, pre.id_presupuesto, pre.posicion, pre.tipo_detalle, coalesce(pre.tipo_articulo,'NA'), pre.id_articulo, pre.propiedad, /* F_RTFTOTEXT(F_RTFTOTEXT(pre.CONCEPTO)) as CONCEPTO,*/ pre.CONCEPTO, pre.cantidad, /* 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), coalesce(pre.visible2, 1) from presupuestos_cliente_detalles pre where pre.id_presupuesto = :AID order by pre.id_presupuesto, pre.posicion into :ID, :ID_PRE_CON, :POSICION, :TIPO_DETALLE, :TIPO_ARTICULO, :ID_ARTICULO, :PROPIEDAD, :CONCEPTO, :CANTIDAD, :IMPORTE_UNIDAD, :DESCUENTO, :IMPORTE_PORTE, :IMPORTE_TOTAL, :VISIBLE, :VISIBLE2 do begin if ((:tipo_detalle = 'Titulo') or (:tipo_detalle = 'Titulo_opc')) then begin capitulo_actual = :ID; ID_CAPITULO = capitulo_actual; end else if ((:tipo_detalle = 'Subtotal') or (:tipo_detalle = 'Descuento')) then begin capitulo_actual = -1; ID_CAPITULO = capitulo_actual; end else if (:tipo_detalle = 'Concepto') then begin suspend; end end end else if (TIPO = 'Contrato') then begin for select pre.id, pre.id_contrato, pre.posicion, pre.tipo_detalle, coalesce(pre.tipo_articulo,'NA'), pre.id_articulo, pre.propiedad, /* F_RTFTOTEXT(F_RTFTOTEXT(pre.CONCEPTO)) as CONCEPTO,*/ pre.CONCEPTO, pre.cantidad, /* 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), coalesce(pre.visible2, 1) from contratos_cliente_detalles pre where pre.id_contrato = :AID order by pre.id_contrato, pre.posicion into :ID, :ID_PRE_CON, :POSICION, :TIPO_DETALLE, :TIPO_ARTICULO, :ID_ARTICULO, :PROPIEDAD, :CONCEPTO, :CANTIDAD, :IMPORTE_UNIDAD, :DESCUENTO, :IMPORTE_PORTE, :IMPORTE_TOTAL, :VISIBLE, :VISIBLE2 do begin if ((:tipo_detalle = 'Titulo') or (:tipo_detalle = 'Titulo_opc') ) then begin capitulo_actual = :ID; ID_CAPITULO = capitulo_actual; end else if ((:tipo_detalle = 'Subtotal') or (:tipo_detalle = 'Descuento')) then begin capitulo_actual = -1; ID_CAPITULO = capitulo_actual; end else if (:tipo_detalle = 'Concepto') then begin suspend; end end end end^ CREATE OR ALTER PROCEDURE PROC_SET_EJERCICIOS_NOACTIVOS ( ID_EMPRESA INTEGER) AS begin update CONT_EJERCICIOS set ACTIVO = 0 where ID_EMPRESA = :id_empresa; suspend; end^ SET TERM ; ^ /******************************************************************************/ /*** Descriptions ***/ /******************************************************************************/