2011-11-14 17:40:41 +00:00
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Generated by IBExpert 2007.05.03 14 / 03 / 2008 10:23:14 * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
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_CONCEPTO AS
VARCHAR ( 2000 ) ;
CREATE DOMAIN TIPO_ID AS
INTEGER ;
CREATE DOMAIN TIPO_IMPORTE AS
NUMERIC ( 11 , 2 ) ;
CREATE DOMAIN TIPO_NOTAS AS
BLOB SUB_TYPE 1 SEGMENT SIZE 80 ;
CREATE DOMAIN TIPO_PERFIL AS
VARCHAR ( 15 ) ;
CREATE DOMAIN TIPO_PORCENTAJE AS
FLOAT ;
CREATE DOMAIN TIPO_USUARIO AS
VARCHAR ( 30 ) ;
CREATE DOMAIN TIPO_CANTIDAD AS
NUMERIC ( 11 , 2 ) ;
2012-07-11 15:39:13 +00:00
CREATE DOMAIN TIPO_FAMILIA AS
VARCHAR ( 255 ) CHARACTER SET ISO8859_1
COLLATE ISO8859_1 ;
2011-11-14 17:40:41 +00:00
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Generators * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
CREATE GENERATOR GEN_ALBARANES_CLI_DETALLES_ID ;
SET GENERATOR GEN_ALBARANES_CLI_DETALLES_ID TO 1 ;
CREATE GENERATOR GEN_ALBARANES_CLI_ID ;
SET GENERATOR GEN_ALBARANES_CLI_ID TO 1 ;
CREATE GENERATOR GEN_ALBARANES_PRO_DETALLES_ID ;
SET GENERATOR GEN_ALBARANES_PRO_DETALLES_ID TO 1 ;
CREATE GENERATOR GEN_ALBARANES_PRO_ID ;
SET GENERATOR GEN_ALBARANES_PRO_ID TO 1 ;
CREATE GENERATOR GEN_ALMACENES_ID ;
SET GENERATOR GEN_ALMACENES_ID TO 1 ;
CREATE GENERATOR GEN_ARTICULOS_ID ;
SET GENERATOR GEN_ARTICULOS_ID TO 1 ;
CREATE GENERATOR GEN_BALANCES_ID ;
SET GENERATOR GEN_BALANCES_ID TO 1 ;
CREATE GENERATOR GEN_CATEGORIAS_ID ;
SET GENERATOR GEN_CATEGORIAS_ID TO 1 ;
CREATE GENERATOR GEN_CLIENTES_DTOS_PROV_ID ;
SET GENERATOR GEN_CLIENTES_DTOS_PROV_ID TO 1 ;
CREATE GENERATOR GEN_CLIENTES_GRUPOS_ID ;
SET GENERATOR GEN_CLIENTES_GRUPOS_ID TO 1 ;
CREATE GENERATOR GEN_CLIENTES_PROCEDENCIAS_ID ;
SET GENERATOR GEN_CLIENTES_PROCEDENCIAS_ID TO 1 ;
CREATE GENERATOR GEN_COMISIONES_LIQUID_ID ;
SET GENERATOR GEN_COMISIONES_LIQUID_ID TO 1 ;
CREATE GENERATOR GEN_COMISIONES_VENDEDORES_ID ;
SET GENERATOR GEN_COMISIONES_VENDEDORES_ID TO 1 ;
CREATE GENERATOR GEN_CONFIGURACION_ID ;
SET GENERATOR GEN_CONFIGURACION_ID TO 1 ;
CREATE GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID ;
SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1 ;
CREATE GENERATOR GEN_CONTACTOS_DIR_ID ;
SET GENERATOR GEN_CONTACTOS_DIR_ID TO 1 ;
CREATE GENERATOR GEN_CONTACTOS_ID ;
SET GENERATOR GEN_CONTACTOS_ID TO 1 ;
CREATE GENERATOR GEN_CONTACTOS_PERSONAL_ID ;
SET GENERATOR GEN_CONTACTOS_PERSONAL_ID TO 1 ;
CREATE GENERATOR GEN_CONT_APUNTES_ID ;
SET GENERATOR GEN_CONT_APUNTES_ID TO 1 ;
CREATE GENERATOR GEN_CONT_ASIENTOS_ID ;
SET GENERATOR GEN_CONT_ASIENTOS_ID TO 1 ;
CREATE GENERATOR GEN_CONT_BALANCES_ID ;
SET GENERATOR GEN_CONT_BALANCES_ID TO 1 ;
CREATE GENERATOR GEN_CONT_CUENTAS_ESP_ID ;
SET GENERATOR GEN_CONT_CUENTAS_ESP_ID TO 1 ;
CREATE GENERATOR GEN_CONT_CUENTAS_ID ;
SET GENERATOR GEN_CONT_CUENTAS_ID TO 1 ;
CREATE GENERATOR GEN_CONT_EJERCICIOS_ID ;
SET GENERATOR GEN_CONT_EJERCICIOS_ID TO 1 ;
CREATE GENERATOR GEN_CONT_EPIGRAFES_ID ;
SET GENERATOR GEN_CONT_EPIGRAFES_ID TO 1 ;
CREATE GENERATOR GEN_CONT_SUBCUENTAS_ID ;
SET GENERATOR GEN_CONT_SUBCUENTAS_ID TO 1 ;
CREATE GENERATOR GEN_EJERCICIOS_ID ;
SET GENERATOR GEN_EJERCICIOS_ID TO 1 ;
CREATE GENERATOR GEN_EMPRESAS_CONTACTOS_ID ;
SET GENERATOR GEN_EMPRESAS_CONTACTOS_ID TO 1 ;
CREATE GENERATOR GEN_EMPRESAS_DATOS_BANCO_ID ;
SET GENERATOR GEN_EMPRESAS_DATOS_BANCO_ID TO 1 ;
CREATE GENERATOR GEN_EMPRESAS_ID ;
SET GENERATOR GEN_EMPRESAS_ID TO 1 ;
CREATE GENERATOR GEN_EMPRESAS_TIENDAS_ID ;
SET GENERATOR GEN_EMPRESAS_TIENDAS_ID TO 1 ;
CREATE GENERATOR GEN_EMPRESAS_USUARIOS_ID ;
SET GENERATOR GEN_EMPRESAS_USUARIOS_ID TO 1 ;
CREATE GENERATOR GEN_FACTURAS_CLIENTE_ID ;
SET GENERATOR GEN_FACTURAS_CLIENTE_ID TO 1 ;
CREATE GENERATOR GEN_FACTURAS_PROVEEDOR_ID ;
SET GENERATOR GEN_FACTURAS_PROVEEDOR_ID TO 1 ;
CREATE GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID ;
SET GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID TO 1 ;
CREATE GENERATOR GEN_FACTURAS_PROV_CONTRATOS_ID ;
SET GENERATOR GEN_FACTURAS_PROV_CONTRATOS_ID TO 1 ;
CREATE GENERATOR GEN_FACTURA_PROV_DETALLES_ID ;
SET GENERATOR GEN_FACTURA_PROV_DETALLES_ID TO 1 ;
CREATE GENERATOR GEN_FAMILIAS_ID ;
SET GENERATOR GEN_FAMILIAS_ID TO 1 ;
2013-04-25 17:15:39 +00:00
CREATE GENERATOR GEN_SUBFAMILIAS_ID ;
SET GENERATOR GEN_SUBFAMILIAS_ID TO 1 ;
2011-11-14 17:40:41 +00:00
CREATE GENERATOR GEN_FORMAS_PAGO_ID ;
SET GENERATOR GEN_FORMAS_PAGO_ID TO 1 ;
CREATE GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID ;
SET GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID TO 1 ;
CREATE GENERATOR GEN_INFORMES_ID ;
SET GENERATOR GEN_INFORMES_ID TO 1 ;
CREATE GENERATOR GEN_MOVIMIENTOS_ID ;
SET GENERATOR GEN_MOVIMIENTOS_ID TO 1 ;
CREATE GENERATOR GEN_PAGOS_CLIENTE_ID ;
SET GENERATOR GEN_PAGOS_CLIENTE_ID TO 1 ;
CREATE GENERATOR GEN_PAGOS_PROVEEDOR_ID ;
SET GENERATOR GEN_PAGOS_PROVEEDOR_ID TO 1 ;
CREATE GENERATOR GEN_PEDIDOS_CLI_DETALLES_ID ;
SET GENERATOR GEN_PEDIDOS_CLI_DETALLES_ID TO 1 ;
CREATE GENERATOR GEN_PEDIDOS_CLI_ID ;
SET GENERATOR GEN_PEDIDOS_CLI_ID TO 1 ;
CREATE GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID ;
SET GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID TO 1 ;
CREATE GENERATOR GEN_PEDIDOS_PROV_ID ;
SET GENERATOR GEN_PEDIDOS_PROV_ID TO 1 ;
CREATE GENERATOR GEN_PERMISOSEX_ID ;
SET GENERATOR GEN_PERMISOSEX_ID TO 1 ;
CREATE GENERATOR GEN_PERMISOS_ID ;
SET GENERATOR GEN_PERMISOS_ID TO 1 ;
CREATE GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID ;
SET GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID TO 1 ;
CREATE GENERATOR GEN_CONTRATOS_CLI_ID ;
SET GENERATOR GEN_CONTRATOS_CLI_ID TO 1 ;
CREATE GENERATOR GEN_CONTRATOS_CLI_DETALLE_ID ;
SET GENERATOR GEN_CONTRATOS_CLI_DETALLE_ID TO 1 ;
CREATE GENERATOR GEN_PRESUPUESTOS_CLI_ID ;
SET GENERATOR GEN_PRESUPUESTOS_CLI_ID TO 1 ;
CREATE GENERATOR GEN_PROVEEDORES_GRUPOS_ID ;
SET GENERATOR GEN_PROVEEDORES_GRUPOS_ID TO 1 ;
CREATE GENERATOR GEN_RECIBOS_CLIENTE_ID ;
SET GENERATOR GEN_RECIBOS_CLIENTE_ID TO 1 ;
CREATE GENERATOR GEN_RECIBOS_PROVEEDOR_ID ;
SET GENERATOR GEN_RECIBOS_PROVEEDOR_ID TO 1 ;
CREATE GENERATOR GEN_REMESAS_CLIENTE_ID ;
SET GENERATOR GEN_REMESAS_CLIENTE_ID TO 1 ;
CREATE GENERATOR GEN_REMESAS_PROVEEDOR_ID ;
SET GENERATOR GEN_REMESAS_PROVEEDOR_ID TO 1 ;
CREATE GENERATOR GEN_TIENDA_WEB_ID ;
SET GENERATOR GEN_TIENDA_WEB_ID TO 1 ;
CREATE GENERATOR GEN_TIPOS_IVA_ID ;
SET GENERATOR GEN_TIPOS_IVA_ID TO 1 ;
CREATE GENERATOR GEN_UNIDADES_MEDIDA_ID ;
SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 1 ;
CREATE GENERATOR GEN_USUARIOS_ID ;
SET GENERATOR GEN_USUARIOS_ID TO 1 ;
2012-07-11 15:39:13 +00:00
CREATE GENERATOR GEN_PRESUPUESTOS_CLIENTE_CAPITU ;
SET GENERATOR GEN_PRESUPUESTOS_CLIENTE_CAPITU TO 100 ;
2011-11-14 17:40:41 +00:00
SET TERM ^ ;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Stored Procedures * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
CREATE PROCEDURE PROC_CIERRE_APERTURA (
ID_EJERCICIO_CIERRE INTEGER ,
ID_EJERCICIO_APERTURA INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_DELETE_ASIENTO_FACTURA (
IDFACTURA INTEGER ,
TIPO VARCHAR ( 1 ) )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_DELETE_ASIENTO_PAGO (
IDPAGO INTEGER ,
TIPO VARCHAR ( 1 ) )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_NEW_ASIENTO_FACTURA_CLI (
IDFACTURA INTEGER ,
ID_SUBCUENTA_VENTA INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_NEW_ASIENTO_FACTURA_PROV (
IDFACTURA INTEGER ,
ID_SUBCUENTA_COMPRA INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_NEW_ASIENTO_PAGO_CLI (
IDPAGO INTEGER ,
IDSUBCUENTAPAGO INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_NEW_ASIENTO_PAGO_PROV (
IDPAGO INTEGER ,
IDSUBCUENTAPAGO INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_NEW_CUENTAS (
ID_EJERCICIO_COPIA INTEGER ,
ID_EJERCICIO INTEGER ,
ID_EPIGRAFE_COPIA INTEGER ,
ID_EPIGRAFE INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE 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 PROCEDURE PROC_NEW_PGC (
ID_EJERCICIO_COPIA INTEGER ,
ID_EJERCICIO INTEGER )
RETURNS (
RESULTADO INTEGER )
AS
BEGIN
SUSPEND ;
END ^
CREATE PROCEDURE PROC_NEW_SUBCUENTAS (
ID_EJERCICIO_COPIA INTEGER ,
ID_EJERCICIO INTEGER ,
ID_CUENTA_COPIA INTEGER ,
ID_CUENTA INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_SET_EJERCICIOS_NOACTIVOS (
ID_EMPRESA INTEGER )
AS
BEGIN
EXIT ;
END ^
CREATE PROCEDURE PROC_PRE_CON_CAPITULOS (
aid integer , tipo varchar ( 15 ) )
as
begin
exit ;
end ^
CREATE PROCEDURE PROC_PRE_CON_CAPITULOS_CONCEP (
aid integer , tipo varchar ( 15 ) )
as
begin
exit ;
end ^
SET TERM ; ^
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Tables * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
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 ALBARANES_CLIENTE (
ID TIPO_ID NOT NULL ,
ID_EMPRESA TIPO_ID ,
ID_CLIENTE TIPO_ID ,
FECHA_ALBARAN DATE ,
ID_ALMACEN TIPO_ID ,
ID_PEDIDO TIPO_ID ,
ID_FACTURA TIPO_ID ,
TIPO VARCHAR ( 1 ) ,
REFERENCIA VARCHAR ( 255 ) ,
ID_DIRECCION TIPO_ID ,
CALLE VARCHAR ( 255 ) ,
CODIGO_POSTAL VARCHAR ( 10 ) ,
POBLACION VARCHAR ( 255 ) ,
PROVINCIA VARCHAR ( 255 ) ,
PERSONA_CONTACTO VARCHAR ( 255 ) ,
TELEFONO VARCHAR ( 25 ) ,
MOVIL VARCHAR ( 25 ) ,
IMPORTE_NETO TIPO_IMPORTE ,
IMPORTE_PORTE TIPO_IMPORTE ,
DESCUENTO TIPO_PORCENTAJE ,
IMPORTE_DESCUENTO TIPO_IMPORTE ,
BASE_IMPONIBLE TIPO_IMPORTE ,
ID_TIPO_IVA TIPO_ID ,
IVA TIPO_PORCENTAJE ,
IMPORTE_IVA TIPO_IMPORTE ,
IMPORTE_TOTAL TIPO_IMPORTE ,
OBSERVACIONES TIPO_NOTAS ,
INCIDENCIAS TIPO_NOTAS ,
INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL ,
FECHA_ALTA TIMESTAMP ,
FECHA_MODIFICACION TIMESTAMP ,
USUARIO TIPO_USUARIO ,
ID_FORMA_PAGO TIPO_ID ,
FECHA_ENVIO DATE ,
FECHA_RECEPCION DATE ,
FECHA_PREVISTA_ENVIO DATE ,
REFERENCIA_CLIENTE VARCHAR ( 255 ) ,
ID_TIENDA 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 ,
ID_TIPO_IVA TIPO_ID ,
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
) ;
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 ,
2012-07-11 15:39:13 +00:00
PRECIO_PVP TIPO_IMPORTE ,
2011-11-14 17:40:41 +00:00
DESCUENTO TIPO_PORCENTAJE ,
PRECIO_NETO TIPO_IMPORTE ,
PRECIO_PORTE 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 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 ,
2013-04-25 17:15:39 +00:00
DESCUENTO_LINEA TIPO_PORCENTAJE ,
2011-11-14 17:40:41 +00:00
CODIGO_ASIGNADO VARCHAR ( 255 ) ,
IGNORAR_CONTABILIDAD TIPO_ID ,
TIENE_SUBCUENTA TIPO_ID ,
PROCEDENCIA_CLIENTE VARCHAR ( 255 ) ,
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_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 NOT NULL ,
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 ) ,
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_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_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_DIRECCIONES (
ID TIPO_ID NOT NULL ,
ID_CONTACTO TIPO_ID NOT NULL ,
NIF_CIF VARCHAR ( 15 ) ,
CALLE VARCHAR ( 255 ) ,
POBLACION VARCHAR ( 255 ) ,
PROVINCIA VARCHAR ( 255 ) ,
CODIGO_POSTAL VARCHAR ( 10 ) ,
PERSONA_CONTACTO VARCHAR ( 255 ) ,
NOMBRE VARCHAR ( 255 ) ,
TELEFONO VARCHAR ( 25 ) ,
MOVIL VARCHAR ( 25 ) ,
FAX VARCHAR ( 25 ) ,
EMAIL VARCHAR ( 255 ) ,
NOTAS TIPO_NOTAS ,
PORTE TIPO_IMPORTE ,
FECHA_ALTA TIMESTAMP ,
FECHA_MODIFICACION TIMESTAMP
) ;
CREATE TABLE VENDEDORES_DATOS (
ID_VENDEDOR TIPO_ID NOT NULL ,
COMISION TIPO_PORCENTAJE ,
ID_USUARIO TIPO_ID ) ;
CREATE TABLE EMPRESAS (
ID TIPO_ID NOT NULL ,
NIF_CIF VARCHAR ( 15 ) ,
NOMBRE VARCHAR ( 255 ) ,
RAZON_SOCIAL VARCHAR ( 255 ) ,
CALLE VARCHAR ( 255 ) ,
POBLACION VARCHAR ( 255 ) ,
PROVINCIA VARCHAR ( 255 ) ,
CODIGO_POSTAL VARCHAR ( 10 ) ,
TELEFONO_1 VARCHAR ( 25 ) ,
TELEFONO_2 VARCHAR ( 25 ) ,
MOVIL_1 VARCHAR ( 25 ) ,
MOVIL_2 VARCHAR ( 25 ) ,
FAX VARCHAR ( 25 ) ,
EMAIL_1 VARCHAR ( 255 ) ,
EMAIL_2 VARCHAR ( 255 ) ,
PAGINA_WEB VARCHAR ( 255 ) ,
NOTAS TIPO_NOTAS ,
FECHA_ALTA TIMESTAMP ,
FECHA_MODIFICACION TIMESTAMP ,
USUARIO TIPO_USUARIO ,
LOGOTIPO TIPO_BINARIO ,
REGISTRO_MERCANTIL VARCHAR ( 255 ) ,
ID_TIPO_IVA SMALLINT ,
ID_FORMA_PAGO SMALLINT ,
2013-04-25 17:15:39 +00:00
VALIDEZ_PRESUPUESTOS SMALLINT ,
PRECIO_PUNTO TIPO_IMPORTE
2011-11-14 17:40:41 +00:00
) ;
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 ,
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 )
) ;
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
) ;
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 ,
FECHA_VENCIMIENTO DATE ,
BASE_IMPONIBLE TIPO_IMPORTE ,
DESCUENTO TIPO_PORCENTAJE ,
IMPORTE_DESCUENTO TIPO_IMPORTE ,
IVA TIPO_PORCENTAJE ,
IMPORTE_IVA TIPO_IMPORTE ,
2011-12-29 12:03:02 +00:00
IRPF TIPO_PORCENTAJE ,
IMPORTE_IRPF TIPO_IMPORTE ,
2011-11-14 17:40:41 +00:00
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 ,
2012-02-01 16:08:10 +00:00
ID_TIENDA TIPO_ID ,
ID_TIPO_FACTURA TIPO_ID
2011-11-14 17:40:41 +00:00
) ;
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 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 FAMILIAS (
ID TIPO_ID NOT NULL ,
2012-07-11 15:39:13 +00:00
DESCRIPCION TIPO_FAMILIA
2011-11-14 17:40:41 +00:00
) ;
2013-04-25 17:15:39 +00:00
CREATE TABLE SUBFAMILIAS (
ID TIPO_ID NOT NULL ,
DESCRIPCION TIPO_FAMILIA
) ;
2011-11-14 17:40:41 +00:00
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 ) ,
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
) ;
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_CAPITULOS (
ID TIPO_ID NOT NULL ,
POSICION INTEGER ,
TIPO_DETALLE VARCHAR ( 10 ) ,
TIPO_ARTICULO VARCHAR ( 2 ) COLLATE ES_ES ,
2012-07-11 15:39:13 +00:00
CONCEPTO TIPO_FAMILIA
2011-11-14 17:40:41 +00:00
) ;
CREATE TABLE PRESUPUESTOS_VALORES (
ID TIPO_ID NOT NULL ,
ID_PROPIEDAD TIPO_ID ,
DESCRIPCION TIPO_CONCEPTO
) ;
CREATE TABLE PRESUPUESTOS_PROPIEDADES (
ID TIPO_ID NOT NULL ,
DESCRIPCION VARCHAR ( 50 ) ,
ID_PADRE TIPO_ID
) ;
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 )
) ;
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 ,
2012-07-11 15:39:13 +00:00
TIPO_ARTICULO VARCHAR ( 2 ) COLLATE ES_ES ,
PROPIEDAD TIPO_FAMILIA ,
CONCEPTO TIPO_CONCEPTO ,
2011-11-14 17:40:41 +00:00
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 CONTRATOS_CLIENTE (
ID TIPO_ID NOT NULL ,
ID_EMPRESA TIPO_ID ,
ID_CLIENTE TIPO_ID ,
NIF_CIF VARCHAR ( 15 ) ,
NOMBRE VARCHAR ( 255 ) ,
ID_DIRECCION TIPO_ID ,
CALLE VARCHAR ( 255 ) ,
POBLACION VARCHAR ( 255 ) ,
PROVINCIA VARCHAR ( 255 ) ,
CODIGO_POSTAL VARCHAR ( 10 ) ,
TELEFONO VARCHAR ( 25 ) ,
MOVIL VARCHAR ( 25 ) ,
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 ,
TIPO_CONTRATO VARCHAR ( 255 )
) ;
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 ,
2012-07-11 15:39:13 +00:00
TIPO_ARTICULO VARCHAR ( 2 ) COLLATE ES_ES ,
PROPIEDAD TIPO_FAMILIA ,
CONCEPTO TIPO_CONCEPTO ,
2011-11-14 17:40:41 +00:00
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 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 )
) ;
CREATE TABLE REMESAS_CLIENTE (
ID TIPO_ID NOT NULL ,
ID_EMPRESA TIPO_ID ,
REFERENCIA VARCHAR ( 255 ) ,
FECHA_REMESA DATE ,
IMPORTE_TOTAL TIPO_IMPORTE ,
DESCRIPCION VARCHAR ( 255 ) ,
FECHA_ALTA DATE ,
FECHA_MODIFICACION DATE ,
USUARIO TIPO_USUARIO ,
ID_DATOS_BANCO TIPO_ID ,
TIPO VARCHAR ( 40 )
) ;
CREATE TABLE REMESAS_PROVEEDOR (
ID TIPO_ID NOT NULL ,
ID_EMPRESA TIPO_ID ,
REFERENCIA VARCHAR ( 255 ) ,
FECHA_REMESA DATE ,
IMPORTE_TOTAL TIPO_IMPORTE ,
DESCRIPCION VARCHAR ( 255 ) ,
FECHA_ALTA DATE ,
FECHA_MODIFICACION DATE ,
USUARIO TIPO_USUARIO ,
ID_DATOS_BANCO TIPO_ID ,
TIPO VARCHAR ( 40 )
) ;
CREATE TABLE TIENDA_WEB (
ID TIPO_ID NOT NULL ,
ID_EMPRESA TIPO_ID NOT NULL ,
TIENDA_ACTIVA TIPO_BOOLEANO DEFAULT 0 NOT NULL ,
ULTIMA_ACTUALIZACION TIMESTAMP ,
BDSERVER VARCHAR ( 255 ) ,
BDPORT VARCHAR ( 20 ) ,
BDNAME VARCHAR ( 255 ) ,
BDUSER VARCHAR ( 255 ) ,
BDPASS VARCHAR ( 255 )
) ;
CREATE TABLE TIPOS_IVA (
ID TIPO_ID NOT NULL ,
REFERENCIA VARCHAR ( 255 ) ,
DESCRIPCION VARCHAR ( 255 ) ,
IVA TIPO_PORCENTAJE ,
RE TIPO_PORCENTAJE
) ;
CREATE TABLE UNIDADES_MEDIDA (
ID TIPO_ID NOT NULL ,
DESCRIPCION VARCHAR ( 255 )
) ;
CREATE TABLE USUARIOS (
ID TIPO_ID NOT NULL ,
USERNAME VARCHAR ( 30 ) ,
LOGIN TIPO_USUARIO ,
PASS VARCHAR ( 250 ) ,
PASSEXPIRED DATE ,
BLOQUEADO TIPO_BOOLEANO ,
EMAIL VARCHAR ( 150 ) ,
USERDAYSSUN INTEGER ,
PRIVILEGED INTEGER ,
TIPO CHAR ( 1 ) ,
ID_PERFIL TIPO_ID ,
CHECKSUM VARCHAR ( 250 )
) ;
CREATE TABLE USUARIOS_EVENTOS (
APLICACION VARCHAR ( 250 ) ,
ID_USUARIO TIPO_ID ,
FECHA CHAR ( 10 ) ,
HORA CHAR ( 8 ) ,
FORM VARCHAR ( 250 ) ,
TITULO_FORM VARCHAR ( 100 ) ,
EVENTO VARCHAR ( 50 ) ,
NOTAS TIPO_NOTAS ,
TNAME VARCHAR ( 20 )
) ;
CREATE TABLE USUARIOS_LOGON (
LOGONID CHAR ( 38 ) NOT NULL ,
ID_USUARIO TIPO_ID ,
APLICACION VARCHAR ( 50 ) ,
EQUIPO VARCHAR ( 50 ) ,
DATA VARCHAR ( 14 )
) ;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Views * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* View: V_ALB_CLI_SITUACION */
CREATE VIEW V_ALB_CLI_SITUACION (
ID ,
SITUACION )
AS
SELECT ALBARANES_CLIENTE . ID ,
case when ( FECHA_RECEPCION is not null ) then ' SERVIDO '
when ( FECHA_ENVIO is null ) then ' PENDIENTE '
when ( FECHA_ENVIO < = current_date ) then ' ENVIADO '
when ( FECHA_ENVIO > current_date ) then ' PENDIENTE '
else ' N/A '
end as SITUACION
FROM ALBARANES_CLIENTE
;
/* View: V_ALB_CLI_DETALLES */
CREATE VIEW V_ALB_CLI_DETALLES (
ID_ALBARAN ,
ID_PEDIDO ,
SITUACION ,
ID_ALMACEN ,
ID_ARTICULO ,
CANTIDAD )
AS
SELECT ALBARANES_CLIENTE_DETALLES . ID_ALBARAN ,
ALBARANES_CLIENTE . 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<61> logo con el fin de no falsear la situaci<63> 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<61> logo con el fin de no falsear la situaci<63> 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_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 )
AS
SELECT
ALBARANES_CLIENTE . ID ,
ALBARANES_CLIENTE . ID_EMPRESA ,
ALBARANES_CLIENTE . ID_CLIENTE ,
CONTACTOS . NOMBRE ,
ALBARANES_CLIENTE . FECHA_ALBARAN ,
ALBARANES_CLIENTE . REFERENCIA ,
ALBARANES_CLIENTE . REFERENCIA_CLIENTE ,
ALBARANES_CLIENTE . TIPO ,
TRIM ( V_ALB_CLI_SITUACION . SITUACION ) ,
ALBARANES_CLIENTE . ID_ALMACEN ,
ALMACENES . NOMBRE AS NOMBRE_ALMACEN ,
ALBARANES_CLIENTE . ID_PEDIDO ,
PEDIDOS_CLIENTE . REFERENCIA AS REF_PEDIDO ,
ALBARANES_CLIENTE . ID_FACTURA ,
FACTURAS_CLIENTE . REFERENCIA AS REF_FACTURA ,
ALBARANES_CLIENTE . ID_DIRECCION ,
ALBARANES_CLIENTE . CALLE ,
ALBARANES_CLIENTE . CODIGO_POSTAL ,
ALBARANES_CLIENTE . POBLACION ,
ALBARANES_CLIENTE . PROVINCIA ,
ALBARANES_CLIENTE . PERSONA_CONTACTO ,
ALBARANES_CLIENTE . TELEFONO ,
ALBARANES_CLIENTE . 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 ( EMPRESAS_TIENDAS . NOMBRE , ' Todas ' ) AS TIENDA
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 FACTURAS_CLIENTE ON ( FACTURAS_CLIENTE . ID = ALBARANES_CLIENTE . ID_FACTURA )
LEFT OUTER JOIN ALMACENES ON ( ALMACENES . ID = ALBARANES_CLIENTE . ID_ALMACEN )
LEFT OUTER JOIN EMPRESAS_TIENDAS ON ( EMPRESAS_TIENDAS . ID = ALBARANES_CLIENTE . ID_TIENDA )
;
/* 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 ( EMPRESAS_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 EMPRESAS_TIENDAS ON ( EMPRESAS_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 ,
INVENTARIABLE ,
ID_PROVEEDOR ,
NOMBRE_PROVEEDOR ,
ELIMINADO )
AS
SELECT ARTICULOS . ID , ARTICULOS . ID_EMPRESA , ARTICULOS . REFERENCIA , ARTICULOS . DESCRIPCION ,
ARTICULOS . FAMILIA , ARTICULOS . IMAGEN , ARTICULOS . COMISIONABLE , ARTICULOS . FECHA_ALTA ,
ARTICULOS . FECHA_MODIFICACION , ARTICULOS . USUARIO ,
ARTICULOS . REFERENCIA_PROV ,
ARTICULOS . PRECIO_COSTE ,
ARTICULOS . PRECIO_PORTE ,
ARTICULOS . DESCUENTO ,
ARTICULOS . PRECIO_NETO ,
ARTICULOS . INVENTARIABLE ,
ARTICULOS . ID_PROVEEDOR ,
CONTACTOS . NOMBRE AS NOMBRE_PROVEEDOR ,
ARTICULOS . ELIMINADO
FROM ARTICULOS
LEFT OUTER JOIN CONTACTOS ON ( CONTACTOS . ID = ARTICULOS . ID_PROVEEDOR )
WHERE ( ARTICULOS . ELIMINADO = 0 )
;
/* 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 ( EMPRESAS_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 EMPRESAS_TIENDAS ON ( EMPRESAS_TIENDAS . ID = CONTACTOS . ID_TIENDA )
;
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 ,
2013-04-25 17:15:39 +00:00
VENCIMIENTO_FACTURAS_1 ,
VENCIMIENTO_FACTURAS_2 ,
VENCIMIENTO_FACTURAS_3 ,
DESCUENTO ,
DESCUENTO_LINEA )
2011-11-14 17:40:41 +00:00
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 ,
2013-04-25 17:15:39 +00:00
CLIENTES_DATOS . VENCIMIENTO_FACTURAS_3 ,
CLIENTES_DATOS . DESCUENTO ,
CLIENTES_DATOS . DESCUENTO_LINEA
2011-11-14 17:40:41 +00:00
FROM V_CONTACTOS
LEFT OUTER JOIN CLIENTES_DATOS ON ( V_CONTACTOS . ID = CLIENTES_DATOS . ID_CLIENTE )
WHERE
V_CONTACTOS . ID_CATEGORIA = 1
;
/* 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_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 )
;
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_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 ) ;
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 ) ;
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 )
;
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_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_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_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 ;
;
2012-01-18 18:40:25 +00:00
CREATE VIEW V_REC_CLI_PAGOS (
ID_REC ,
ID_PAG )
AS
SELECT RECIBOS_CLIENTE . ID ,
CASE WHEN RECIBOS_CLIENTE . ID_RECIBO_COMPENSADO IS NULL THEN PAGOS_CLIENTE . ID_RECIBO
2012-02-01 16:08:10 +00:00
ELSE case when PAGOS_CLIENTE . ID_RECIBO is null then PAGOS_COMPENSADOS . ID_RECIBO
else PAGOS_CLIENTE . ID_RECIBO
end
2012-01-18 18:40:25 +00:00
END
FROM RECIBOS_CLIENTE
LEFT JOIN PAGOS_CLIENTE ON ( PAGOS_CLIENTE . ID_RECIBO = RECIBOS_CLIENTE . ID )
LEFT JOIN PAGOS_CLIENTE PAGOS_COMPENSADOS ON ( PAGOS_COMPENSADOS . ID_RECIBO = RECIBOS_CLIENTE . ID_RECIBO_COMPENSADO )
;
2011-11-14 17:40:41 +00:00
/* Create view: V_REC_CLI_SITUACION */
CREATE VIEW V_REC_CLI_SITUACION (
2012-01-18 18:40:25 +00:00
ID_RECIBO ,
SITUACION )
AS
2011-11-14 17:40:41 +00:00
SELECT RECIBOS_CLIENTE . ID ,
2012-01-18 18:40:25 +00:00
CASE WHEN ( COUNT ( V_REC_CLI_PAGOS . ID_PAG ) = 0 ) THEN ' PENDIENTE '
WHEN ( MOD ( COUNT ( V_REC_CLI_PAGOS . ID_PAG ) , 2 ) = 0 ) THEN ' DEVUELTO '
ELSE ' COBRADO '
END
2011-11-14 17:40:41 +00:00
FROM RECIBOS_CLIENTE
2012-01-18 18:40:25 +00:00
LEFT JOIN V_REC_CLI_PAGOS
ON ( V_REC_CLI_PAGOS . ID_REC = RECIBOS_CLIENTE . ID )
2011-11-14 17:40:41 +00:00
GROUP BY RECIBOS_CLIENTE . ID ;
/* Create 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 ;
;
/* Create 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 ;
/* Create 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 ;
;
/* Create 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 ;
;
/* Create 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 ;
/* Create 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 ;
/* Create 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 ,
2012-02-07 17:19:35 +00:00
REFERENCIA_CLIENTE ,
2011-11-14 17:40:41 +00:00
NOMBRE_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 ,
SIN_COMISION )
AS
SELECT FACTURAS_CLIENTE . ID ,
FACTURAS_CLIENTE . ID_EMPRESA ,
FACTURAS_CLIENTE . REFERENCIA ,
CASE WHEN ( FACTURAS_CLIENTE . IMPORTE_TOTAL < 0 ) THEN ' A ' ELSE ' F ' END AS TIPO ,
FACTURAS_CLIENTE . ID_COMISION_LIQUIDADA ,
FACTURAS_CLIENTE . FECHA_FACTURA ,
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 ,
2012-02-07 17:19:35 +00:00
CONTACTOS . REFERENCIA ,
2011-11-14 17:40:41 +00:00
CONTACTOS . NOMBRE ,
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 ( EMPRESAS_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 ,
FACTURAS_CLIENTE . SIN_COMISION
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 EMPRESAS_TIENDAS ON ( EMPRESAS_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 )
;
/* Create 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 ,
2011-12-29 12:03:02 +00:00
IRPF ,
IMPORTE_IRPF ,
2011-11-14 17:40:41 +00:00
RE ,
IMPORTE_RE ,
IMPORTE_TOTAL ,
OBSERVACIONES ,
ID_PROVEEDOR ,
2012-02-09 11:00:58 +00:00
REF_PROVEEDOR ,
2011-11-14 17:40:41 +00:00
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 ,
2012-02-01 16:08:10 +00:00
ASIENTO_PUNTEADO ,
ID_TIPO_FACTURA )
2011-11-14 17:40:41 +00:00
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 ,
2011-12-29 12:03:02 +00:00
FACTURAS_PROVEEDOR . IRPF ,
FACTURAS_PROVEEDOR . IMPORTE_IRPF ,
2011-11-14 17:40:41 +00:00
FACTURAS_PROVEEDOR . RE ,
FACTURAS_PROVEEDOR . IMPORTE_RE ,
FACTURAS_PROVEEDOR . IMPORTE_TOTAL ,
FACTURAS_PROVEEDOR . OBSERVACIONES ,
FACTURAS_PROVEEDOR . ID_PROVEEDOR ,
2012-02-09 11:00:58 +00:00
CONTACTOS . REFERENCIA ,
2011-11-14 17:40:41 +00:00
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 ( EMPRESAS_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 ,
2012-02-01 16:08:10 +00:00
V_CONT_FAC_PRO_COMPRAS . ASIENTO_PUNTEADO ,
FACTURAS_PROVEEDOR . ID_TIPO_FACTURA
2011-11-14 17:40:41 +00:00
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 EMPRESAS_TIENDAS
ON ( EMPRESAS_TIENDAS . ID = FACTURAS_PROVEEDOR . ID_TIENDA )
2012-02-01 16:08:10 +00:00
LEFT JOIN V_CONT_FAC_PRO_COMPRAS ON ( V_CONT_FAC_PRO_COMPRAS . ID_FACTURA = FACTURAS_PROVEEDOR . ID )
2012-02-07 17:19:35 +00:00
;
2011-11-14 17:40:41 +00:00
/* Create 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_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<63> n de cliente ' | | ALBARANES_CLIENTE . REFERENCIA
ELSE ' Albar<EFBFBD> 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<63> n ' | | ALBARANES_PROVEEDOR . REFERENCIA
ELSE ' Albar<EFBFBD> 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<EFBFBD> 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 <EFBFBD> n es decir albaranes libres
que el albaran este pendiente ( los articulos estan reservados en el almacen )
aquellos que no se correspondan con art <EFBFBD> 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<61> logo con el fin de no falsear la situaci<63> 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_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 )
AS
SELECT
PEDIDOS_PROVEEDOR . ID ,
PEDIDOS_PROVEEDOR . ID_EMPRESA ,
PEDIDOS_PROVEEDOR . ID_PROVEEDOR ,
CONTACTOS . NOMBRE ,
PEDIDOS_PROVEEDOR . REFERENCIA ,
TRIM ( V_PED_PROV_SITUACION . SITUACION ) ,
PEDIDOS_PROVEEDOR . FECHA_ENVIO ,
PEDIDOS_PROVEEDOR . FECHA_PEDIDO ,
PEDIDOS_PROVEEDOR . FECHA_CONFIRMACION ,
PEDIDOS_PROVEEDOR . FECHA_ENTREGA ,
PEDIDOS_PROVEEDOR . ID_ALMACEN ,
ALMACENES . NOMBRE AS NOMBRE_ALMACEN ,
PEDIDOS_PROVEEDOR . OBSERVACIONES ,
PEDIDOS_PROVEEDOR . IMPORTE_TOTAL ,
PEDIDOS_PROVEEDOR . INCIDENCIAS ,
PEDIDOS_PROVEEDOR . INCIDENCIAS_ACTIVAS ,
PEDIDOS_PROVEEDOR . CALLE ,
PEDIDOS_PROVEEDOR . POBLACION ,
PEDIDOS_PROVEEDOR . PROVINCIA ,
PEDIDOS_PROVEEDOR . CODIGO_POSTAL ,
PEDIDOS_PROVEEDOR . PERSONA_CONTACTO ,
PEDIDOS_PROVEEDOR . TELEFONO ,
PEDIDOS_PROVEEDOR . FECHA_ALTA ,
PEDIDOS_PROVEEDOR . FECHA_MODIFICACION ,
PEDIDOS_PROVEEDOR . USUARIO ,
PEDIDOS_PROVEEDOR . ID_PEDIDO_CLIENTE ,
PEDIDOS_CLIENTE . REFERENCIA AS REF_PED_CLIENTE ,
PEDIDOS_PROVEEDOR . IMPORTE_NETO ,
PEDIDOS_PROVEEDOR . IMPORTE_PORTE ,
PEDIDOS_PROVEEDOR . DESCUENTO ,
PEDIDOS_PROVEEDOR . IMPORTE_DESCUENTO ,
PEDIDOS_PROVEEDOR . BASE_IMPONIBLE ,
PEDIDOS_PROVEEDOR . IVA ,
PEDIDOS_PROVEEDOR . IMPORTE_IVA ,
PEDIDOS_PROVEEDOR . ID_FORMA_PAGO ,
PEDIDOS_PROVEEDOR . ID_TIENDA ,
COALESCE ( EMPRESAS_TIENDAS . NOMBRE , ' Todas ' ) AS TIENDA
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 EMPRESAS_TIENDAS ON ( EMPRESAS_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
;
/* View: V_PRESUPUESTOS_CLIENTE */
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 )
AS
SELECT
PRESUPUESTOS_CLIENTE . ID ,
2013-05-16 17:17:31 +00:00
PRESUPUESTOS_CLIENTE . ID_EMPRESA ,
2011-11-14 17:40:41 +00:00
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 ( EMPRESAS_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
FROM
PRESUPUESTOS_CLIENTE
LEFT OUTER JOIN CONTACTOS ON ( PRESUPUESTOS_CLIENTE . ID_CLIENTE = CONTACTOS . ID )
LEFT OUTER JOIN CONTACTOS CONTACTOS2 ON ( PRESUPUESTOS_CLIENTE . ID_VENDEDOR = CONTACTOS2 . ID )
LEFT OUTER JOIN EMPRESAS_TIENDAS ON ( EMPRESAS_TIENDAS . ID = PRESUPUESTOS_CLIENTE . ID_TIENDA )
LEFT OUTER JOIN CONTRATOS_CLIENTE ON ( CONTRATOS_CLIENTE . ID = PRESUPUESTOS_CLIENTE . ID_CONTRATO )
;
/* 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 )
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 ( EMPRESAS_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
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 EMPRESAS_TIENDAS ON ( EMPRESAS_TIENDAS . ID = CONTRATOS_CLIENTE . ID_TIENDA )
;
/* 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
;
/* Create view: V_REC_PRO_COMPENSADOS (ViwData.CreateDependDef) */
CREATE VIEW V_REC_PRO_COMPENSADOS (
ID_RECIBO ,
IMPORTE_TOTAL_COMPENSADO )
AS
select ID_RECIBO_COMPENSADO , SUM ( ( IMPORTE + OTROS_GASTOS ) ) as IMPORTE_TOTAL
from RECIBOS_PROVEEDOR
where ID_RECIBO_COMPENSADO is not null
group by ID_RECIBO_COMPENSADO ;
/* Create view: V_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 ,
2012-01-18 18:40:25 +00:00
IMPORTE_COMPENSADO ,
IMPORTE_SIN_COMPENSAR ,
2011-11-14 17:40:41 +00:00
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 )
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 )
2012-02-01 16:08:10 +00:00
ELSE CASE WHEN ( TRIM ( V_REC_CLI_SITUACION . SITUACION ) = ' COBRADO ' ) THEN TRIM ( V_REC_CLI_SITUACION . SITUACION )
ELSE TRIM ( RECIBO_COMPENSADO2 . SITUACION )
END
2011-11-14 17:40:41 +00:00
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 ,
2012-01-18 18:40:25 +00:00
COALESCE ( RECIBOS_CLIENTE . IMPORTE , 0 ) + COALESCE ( RECIBOS_CLIENTE . OTROS_GASTOS , 0 ) as IMPORTE_TOTAL ,
COALESCE ( V_REC_CLI_COMPENSADOS . IMPORTE_TOTAL_COMPENSADO , 0 ) as IMPORTE_COMPENSADO ,
CASE
WHEN V_REC_CLI_COMPENSADOS . IMPORTE_TOTAL_COMPENSADO > 0 THEN COALESCE ( RECIBOS_CLIENTE . IMPORTE , 0 ) + COALESCE ( RECIBOS_CLIENTE . OTROS_GASTOS , 0 ) - COALESCE ( V_REC_CLI_COMPENSADOS . IMPORTE_TOTAL_COMPENSADO , 0 )
ELSE 0
END AS IMPORTE_SIN_COMPENSAR ,
2011-11-14 17:40:41 +00:00
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 ( EMPRESAS_TIENDAS . NOMBRE , ' Todas ' ) AS TIENDA
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 EMPRESAS_TIENDAS
2012-01-18 18:40:25 +00:00
ON ( EMPRESAS_TIENDAS . ID = RECIBOS_CLIENTE . ID_TIENDA )
2011-11-14 17:40:41 +00:00
;
/* Create view: V_RECIBOS_PROVEEDOR (ViwData.CreateDependDef) */
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 ( EMPRESAS_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 EMPRESAS_TIENDAS
ON ( EMPRESAS_TIENDAS . ID = RECIBOS_PROVEEDOR . ID_TIENDA ) ;
;
/* Create 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 ;
;
/* Create view: V_REMESAS_PROVEEDOR (ViwData.CreateDependDef) */
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 ;
;
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 ;
;
2012-03-01 16:15:06 +00:00
CREATE VIEW V_CONTRATOS_FACTURAS_CLIENTE (
ID_CONTRATO ,
IMPORTE_FACTURAS_CLIENTE )
AS
select ID_CONTRATO , SUM ( BASE_IMPONIBLE ) as IMPORTE_FACTURAS_CLIENTE
from facturas_cliente
where ID_CONTRATO is not null
group by 1
;
CREATE VIEW V_CONTRATOS_FACTURAS_PROVEEDOR (
ID_CONTRATO ,
IMPORTE )
2011-11-14 17:40:41 +00:00
AS
select ID_CONTRATO , SUM ( IMPORTE ) as IMPORTE_GASTOS_PROVEEDORES
from facturas_proveedor_contratos
2012-03-01 16:15:06 +00:00
group by 1
;
2011-11-14 17:40:41 +00:00
2012-03-01 16:15:06 +00:00
CREATE VIEW V_CONTRATOS_BENEFICIOS (
ID ,
REFERENCIA ,
FECHA_CONTRATO ,
NOMBRE ,
NIF_CIF ,
IMPORTE_NETO ,
IMPORTE_DESCUENTO ,
BASE_IMPONIBLE ,
IMPORTE_FACTURAS_CLIENTE ,
IMPORTE_FACTURAS_PROVEEDOR ,
IMPORTE_BENEFICIO ,
PORCENTAJE_BENEFICIO ,
IMPORTE_BENEFICIO_REAL ,
PORCENTAJE_BENEFICIO_REAL )
2011-11-14 17:40:41 +00:00
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 ,
2012-03-01 16:15:06 +00:00
contratos_cliente . base_imponible ,
v_contratos_facturas_cliente . importe_facturas_cliente ,
v_contratos_facturas_proveedor . importe as importe_facturas_proveedor ,
2011-11-14 17:40:41 +00:00
( 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
2012-03-01 16:15:06 +00:00
else ( ( ( contratos_cliente . base_imponible - coalesce ( v_contratos_facturas_proveedor . importe , 0 ) ) * 100 ) / contratos_cliente . base_imponible )
end as porcentaje_beneficio ,
( v_contratos_facturas_cliente . importe_facturas_cliente - coalesce ( v_contratos_facturas_proveedor . importe , 0 ) ) as importe_beneficio_real ,
case when ( v_contratos_facturas_cliente . importe_facturas_cliente - coalesce ( v_contratos_facturas_proveedor . importe , 0 ) ) = 0 then 0
else ( ( ( v_contratos_facturas_cliente . importe_facturas_cliente - coalesce ( v_contratos_facturas_proveedor . importe , 0 ) ) * 100 ) / v_contratos_facturas_cliente . importe_facturas_cliente )
end as porcentaje_beneficio_real
2011-11-14 17:40:41 +00:00
from contratos_cliente
left join v_contratos_facturas_proveedor
2012-03-01 16:15:06 +00:00
on ( v_contratos_facturas_proveedor . ID_CONTRATO = contratos_cliente . ID )
left join v_contratos_facturas_cliente
on ( v_contratos_facturas_cliente . ID_CONTRATO = contratos_cliente . ID )
;
2011-11-14 17:40:41 +00:00
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Primary Keys * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
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 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_DIRECCIONES ADD CONSTRAINT PK_CONTACTOS_DIR PRIMARY KEY ( ID ) ;
ALTER TABLE CONTACTOS_DATOS_PERSONAL ADD CONSTRAINT PK_CONTACTOS_DATOS_PER 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 VENDEDORES_DATOS ADD CONSTRAINT PK_VENDEDORES_DATOS PRIMARY KEY ( ID_VENDEDOR ) ;
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_DETALLES ADD CONSTRAINT PK_FACTURAS_PROVEEDOR_DETALLES PRIMARY KEY ( ID ) ;
ALTER TABLE FACTURAS_PROVEEDOR_CONTRATOS ADD CONSTRAINT PK_FACTURAS_PROVEEDOR_CONTRATOS PRIMARY KEY ( ID ) ;
ALTER TABLE FAMILIAS ADD CONSTRAINT PK_FAMILIAS PRIMARY KEY ( ID ) ;
2013-04-25 17:15:39 +00:00
ALTER TABLE SUBFAMILIAS ADD CONSTRAINT PK_SUBFAMILIAS PRIMARY KEY ( ID ) ;
2011-11-14 17:40:41 +00:00
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_PROPIEDADES ADD CONSTRAINT PK_PRESUPUESTOS_PROPIEDADES PRIMARY KEY ( ID ) ;
ALTER TABLE PRESUPUESTOS_VALORES ADD CONSTRAINT PK_PRESUPUESTOS_VALORES PRIMARY KEY ( ID ) ;
ALTER TABLE PRESUPUESTOS_CLIENTE_CAPITULOS ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE_CAPITUL PRIMARY KEY ( ID ) ;
ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE PRIMARY KEY ( ID ) ;
ALTER TABLE PRESUPUESTOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE_DETALLE PRIMARY KEY ( ID ) ;
ALTER TABLE 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 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 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 REFERENCIAS ADD CONSTRAINT PK_REFERENCIAS PRIMARY KEY ( ID ) ;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * 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_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 ;
2013-05-10 10:59:32 +00:00
ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_2 FOREIGN KEY ( ID_CLIENTE ) REFERENCES CONTACTOS ( ID ) ;
ALTER TABLE CONTRATOS_CLIENTE ADD CONSTRAINT FK_CONTRATOS_CLIENTE_2 FOREIGN KEY ( ID_CLIENTE ) REFERENCES CONTACTOS ( ID ) ;
2011-11-14 17:40:41 +00:00
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 ;
2013-05-10 10:59:32 +00:00
ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT FK_FACTURAS_CLIENTE_2 FOREIGN KEY ( ID_CLIENTE ) REFERENCES CONTACTOS ( ID ) ;
2011-11-14 17:40:41 +00:00
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 ;
2013-05-10 10:59:32 +00:00
ALTER TABLE FACTURAS_PROVEEDOR ADD CONSTRAINT FK_FACTURAS_PROVEEDOR_2 FOREIGN KEY ( ID_PROVEEDOR ) REFERENCES CONTACTOS ( ID ) ;
2011-11-14 17:40:41 +00:00
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 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 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 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 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 ;
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 ) ;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Indices * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
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_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_DIR_ID_CONTACTO ON CONTACTOS_DIRECCIONES ( ID_CONTACTO ) ;
CREATE INDEX IDX_CONTACTOS_PER_ID_CONTACTO ON CONTACTOS_DATOS_PERSONAL ( 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 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 ) ;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * Stored Procedures * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
SET TERM ^ ;
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
^
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
^
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
^
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
^
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
2012-02-01 16:08:10 +00:00
/* BUSCAMOS EL PAGO PARA COMPROBAR SI HACER ASIENTO */
SELECT PAGOS_CLIENTE . IGNORAR_CONTABILIDAD , V_RECIBOS_CLIENTE . ID_EMPRESA , V_RECIBOS_CLIENTE . ID_CLIENTE ,
V_RECIBOS_CLIENTE . REFERENCIA | | ' : ' | | V_RECIBOS_CLIENTE . NOMBRE ,
2011-11-14 17:40:41 +00:00
PAGOS_CLIENTE . FECHA_PAGO , PAGOS_CLIENTE . TIPO ,
2012-02-01 16:08:10 +00:00
PAGOS_CLIENTE . TIPO | | ' ' | | V_RECIBOS_CLIENTE . NOMBRE | | ' ( ' | | CONTACTOS . REFERENCIA | | ' ) ' | | COALESCE ( V_RECIBOS_CLIENTE . DESCRIPCION , ' No hay descripci<63> n ' ) ,
CASE WHEN ( V_RECIBOS_CLIENTE . IMPORTE_SIN_COMPENSAR = 0 ) then V_RECIBOS_CLIENTE . IMPORTE
ELSE V_RECIBOS_CLIENTE . IMPORTE_SIN_COMPENSAR
END AS IMPORTE
2011-11-14 17:40:41 +00:00
FROM PAGOS_CLIENTE
2012-02-01 16:08:10 +00:00
LEFT JOIN V_RECIBOS_CLIENTE ON ( V_RECIBOS_CLIENTE . ID = PAGOS_CLIENTE . ID_RECIBO )
LEFT JOIN CONTACTOS ON ( CONTACTOS . ID = V_RECIBOS_CLIENTE . ID_CLIENTE )
2011-11-14 17:40:41 +00:00
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
^
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<63> 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
^
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
^
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
^
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
^
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
^
ALTER PROCEDURE PROC_SET_EJERCICIOS_NOACTIVOS (
ID_EMPRESA INTEGER )
AS
begin
update CONT_EJERCICIOS
set ACTIVO = 0
where ID_EMPRESA = : id_empresa ;
suspend ;
end
^
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
^
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
/* <20> 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
/* <20> 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 ^
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 ) ,
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 ,
2012-07-11 15:39:13 +00:00
coalesce ( pre . tipo_articulo , ' NA ' ) , pre . id_articulo , pre . propiedad ,
2011-11-14 17:40:41 +00:00
/* F_RTFTOTEXT(F_RTFTOTEXT(pre.CONCEPTO)) as CONCEPTO, */
pre . CONCEPTO ,
pre . cantidad ,
2013-04-25 17:15:39 +00:00
pre . importe_unidad ,
/*
2011-11-14 17:40:41 +00:00
case
2013-04-25 17:15:39 +00:00
when ( pre . descuento < > 0 ) then ( pre . importe_total / pre . cantidad )
else
pre . importe_unidad
2011-11-14 17:40:41 +00:00
end as importe_unidad ,
2013-04-25 17:15:39 +00:00
* /
2011-11-14 17:40:41 +00:00
pre . descuento , pre . importe_porte ,
pre . importe_total , coalesce ( pre . visible , 1 )
from presupuestos_cliente_detalles pre
left join presupuestos_propiedades on ( pre . id_articulo = presupuestos_propiedades . id )
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
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 ,
2012-07-11 15:39:13 +00:00
coalesce ( pre . tipo_articulo , ' NA ' ) , pre . id_articulo , pre . propiedad ,
2011-11-14 17:40:41 +00:00
/* 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 )
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
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 ^
SET TERM ; ^