FactuGES2/Database/scripts/SCRIPT_CONTABILIDAD.SQL

120 lines
3.6 KiB
Plaintext
Raw Normal View History

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 */,
ID_ASIENTO_COMPENSADO TIPO_ID,
ID_SUBCUENTA TIPO_ID,
FECHA_ASIENTO date,
CONCEPTO VARCHAR(255),
PUNTEADO SMALLINT,
DEBE TIPO_IMPORTE,
HABER TIPO_IMPORTE
);
ALTER TABLE CONT_ASIENTOS ADD CONSTRAINT PK_CONT_ASIENTOS 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)
;