SIU-Guarani/Version3.11.0/personalizaciones/extender tablas

De SIU
Saltar a: navegación, buscar

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:

  1. Verificar si existe un esquema de negocio propio en la base de Guaraní
    Se recomienda mantener las tablas de las personalizaciones en un esquema propio, dentro de la base de negocio de Guaraní. Si no existe, crearlo. Ejemplo:
    CREATE SCHEMA negocio_pers;
    No olvidar incluir el nuevo esquema en la fuente "guarani".
    G3 fuente datos.png
  2. 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.
    Los campos a agregar en la nueva tabla no deben tener el mismo nombre que los campos de la tabla de la cual extiende.
    -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -- 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 ++++++++++++++++++++++++++++++++++
  3. 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
    G3 dt 01.png
    En la solapa "Columnas", indicar cómo se relacionan las tablas mediante el "Editor de Foreign Keys". Presionar el botón "Guardar" para que los cambios tengan efecto.
    G3 dt 02.png
  4. Inclusión del nuevo campo en el formulario :
    Localizar la operación donde se encuentra el formulario, abrir el mismo para edición (1), agregar una nueva fila (2), definir el EF (3) y guardar para que persistan los cambios (4).
    G3 form 01.png