SIU-Guarani/Version3.11.0/personalizaciones/extender tablas
Revisión del 12:49 2 oct 2015 de Mchilczenko (discusión | contribuciones)
Extensión de tablas
Situación
En un formulario se necesita recolectar algún dato no provisto en la versión entregada por el SIU.
Caso de ejemplo
Se necesita registrar la hora del evento de colación en la operación Egresados » Actualizaciones » Colaciones
Solución
Deben seguirse los siguientes pasos:
- Verificar si existe un esquema de negocio propio en la base de Guaraní
- Creación de una nueva tabla en la base de datos que extienda a la original
- Este paso implica crear una nueva tabla, cuyo ID referencie al de la tabla que deseamos extender mediante una foreign key.
- -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- PERSONALIZACIÓN
-- SIU-GUARANI 3 - Sistema de Gestión Académica
-- Versión 3.X.Y
-- PERSONALIZACIÓN Tabla: sga_colaciones_ext
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SET SEARCH_PATH = 'negocio_pers';
CREATE TABLE sga_colaciones_ext
(
id_colacion INTEGER NOT NULL,
hora TIME
);
-- PRIMARY KEY
ALTER TABLE sga_colaciones_ext ADD CONSTRAINT pk_sga_colaciones_ext PRIMARY KEY (id_colacion);
-- FOREIGN KEY
CREATE INDEX ifk_sga_colaciones_ext_sga_colaciones ON sga_colaciones_ext (id_colacion);
ALTER TABLE sga_colaciones_ext
ADD CONSTRAINT fk_sga_colaciones_ext_sga_colaciones FOREIGN KEY (id_colacion)
REFERENCES negocio.sga_colaciones (colacion) on update restrict on delete restrict;
-- +++++++++++++++++ Fin tabla sga_colaciones_ext ++++++++++++++++++++++++++++++++++
- Extensión del datos tabla correspondiente
- En la solapa "Datos" del Editor Toba, sección "Tablas", debe localizarse la tabla a extender y abrirla para edición. Luego, en las propiedades básicas, configurar:
- Tipo de persistencia: DB – Multitabla
- Esquema Tabla Ext.: el esquema donde se tiene la extensión de la tabla; en el ejemplo, negocio_pers
- Tabla de extensión: la tabla; en el ejemplo, sga_colaciones_ext
- Inclusión del nuevo campo en el formulario :