git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@50 f4e31baf-9722-1c47-927c-6f952f962d4b
162 lines
5.2 KiB
SQL
162 lines
5.2 KiB
SQL
CREATE TABLE CONT_EJERCICIOS (
|
|
ID TIPO_ID NOT NULL,
|
|
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);
|
|
|
|
ALTER TABLE CONT_EJERCICIOS ADD CONSTRAINT PK_CONT_EJERCICIOS PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE TABLE CONT_CUENTAS_ESPECIALES (
|
|
ID TIPO_ID NOT NULL,
|
|
REFERENCIA varchar(6),
|
|
descripcion varchar(255));
|
|
|
|
ALTER TABLE CONT_CUENTAS_ESPECIALES ADD CONSTRAINT PK_CONT_CUENTAS_ESPECIALES PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE TABLE CONT_EPIGRAFES (
|
|
ID TIPO_ID NOT NULL,
|
|
REF_EPIGRAFE VARCHAR(6),
|
|
ID_PADRE TIPO_ID,
|
|
descripcion varchar(255),
|
|
ID_EJERCICIO TIPO_ID);
|
|
|
|
ALTER TABLE CONT_EPIGRAFES ADD CONSTRAINT PK_CONT_EPIGRAFES PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE TABLE CONT_BALANCES (
|
|
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
|
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));
|
|
|
|
ALTER TABLE CONT_BALANCES ADD CONSTRAINT PK_CONT_BALANCES PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE TABLE CONT_CUENTAS (
|
|
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
|
REF_CUENTA VARCHAR(10),
|
|
ID_EJERCICIO TIPO_ID /* TIPO_ID = INTEGER */,
|
|
ID_EPIGRAFE TIPO_ID /* TIPO_ID = INTEGER */,
|
|
DESCRIPCION VARCHAR(255),
|
|
ID_BALANCE TIPO_ID /* TIPO_ID = INTEGER */,
|
|
ID_CUENTA_ESPECIAL TIPO_ID /* TIPO_ID = INTEGER */
|
|
);
|
|
|
|
ALTER TABLE CONT_CUENTAS ADD CONSTRAINT PK_CONT_CUENTAS PRIMARY KEY (ID);
|
|
|
|
|
|
CREATE TABLE CONT_SUBCUENTAS (
|
|
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
|
REF_SUBCUENTA VARCHAR(15),
|
|
DESCRIPCION VARCHAR(255),
|
|
ID_CUENTA TIPO_ID /* TIPO_ID = INTEGER */,
|
|
ID_EJERCICIO TIPO_ID /* TIPO_ID = INTEGER */
|
|
);
|
|
|
|
ALTER TABLE CONT_SUBCUENTAS ADD CONSTRAINT PK_CONT_SUBCUENTAS PRIMARY KEY (ID);
|
|
|
|
CREATE TABLE CONT_ASIENTOS (
|
|
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
|
FECHA_ASIENTO DATE,
|
|
ORDEN INTEGER
|
|
);
|
|
ALTER TABLE CONT_ASIENTOS ADD CONSTRAINT PK_CONT_ASIENTOS PRIMARY KEY (ID);
|
|
|
|
CREATE TABLE CONT_APUNTES (
|
|
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
|
ID_ASIENTO TIPO_ID /* TIPO_ID = INTEGER */,
|
|
ID_SUBCUENTA TIPO_ID /* TIPO_ID = INTEGER */,
|
|
CONCEPTO VARCHAR(255),
|
|
PUNTEADO SMALLINT,
|
|
DEBE TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */,
|
|
HABER TIPO_IMPORTE /* TIPO_IMPORTE = NUMERIC(11,2) */,
|
|
ID_FACTURA TIPO_ID /* TIPO_ID = INTEGER */,
|
|
ID_RECIBO TIPO_ID /* TIPO_ID = INTEGER */
|
|
);
|
|
|
|
ALTER TABLE CONT_APUNTES ADD CONSTRAINT PK_CONT_APUNTES PRIMARY KEY (ID);
|
|
|
|
CREATE VIEW V_CONT_EPIGRAFES(
|
|
ID,
|
|
REF_EPIGRAFE,
|
|
DESCRIPCION,
|
|
ID_EJERCICIO,
|
|
ID_PADRE,
|
|
EPIGRAFE_PADRE)
|
|
AS
|
|
select CONT_EPI1.ID, CONT_EPI1.REF_EPIGRAFE, CONT_EPI1.DESCRIPCION, CONT_EPI1.ID_EJERCICIO,
|
|
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)
|
|
;
|
|
|
|
CREATE VIEW V_CONT_CUENTAS(
|
|
ID,
|
|
REF_CUENTA,
|
|
ID_EJERCICIO,
|
|
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_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)
|
|
;
|
|
|
|
|
|
|
|
DROP VIEW V_CONT_SUBCUENTAS;
|
|
DROP 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
|
|
;
|
|
|
|
CREATE VIEW V_CONT_SUBCUENTAS(
|
|
ID,
|
|
REF_SUBCUENTA,
|
|
DESCRIPCION,
|
|
ID_EJERCICIO,
|
|
ID_CUENTA,
|
|
CUENTA,
|
|
DEBE,
|
|
HABER,
|
|
SALDO)
|
|
AS
|
|
select CONT_SUBCUENTAS.ID, CONT_SUBCUENTAS.REF_SUBCUENTA, CONT_SUBCUENTAS.DESCRIPCION, CONT_SUBCUENTAS.ID_EJERCICIO,
|
|
CONT_SUBCUENTAS.ID_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)
|
|
; |