https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.18.0/personalizaciones/extender_tablas&feed=atom&action=historySIU-Guarani/Version3.18.0/personalizaciones/extender tablas - Historial de revisiones2024-03-29T10:32:20ZHistorial de revisiones para esta página en el wikiMediaWiki 1.30.0https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.18.0/personalizaciones/extender_tablas&diff=65063&oldid=prevAdelu en 14:30 13 oct 20162016-10-13T14:30:23Z<p></p>
<p><b>Página nueva</b></p><div>__NOTOC__<br />
== Extensión de tablas ==<br />
<br />
=== Situación === <br />
En un formulario se necesita recolectar algún dato no provisto en la versión entregada por el SIU.<br />
<br />
=== Caso de ejemplo === <br />
Se necesita registrar la hora del evento de colación en la operación Egresados » Actualizaciones » Colaciones<br />
<br />
=== Solución ===<br />
Deben seguirse los siguientes pasos:<br />
#Verificar si existe un esquema de negocio propio en la base de Guaraní<br />
#: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:<br />
#:<source lang="php" enclose="div"><br />
CREATE SCHEMA negocio_pers;<br />
</source><br />
#:No olvidar incluir el nuevo esquema en la fuente "guarani".<br />
#:[[File:G3_fuente_datos.png]]<br />
#Creación de una nueva tabla en la base de datos que extienda a la original<br />
#:Este paso implica crear una nueva tabla, cuyo ID referencie al de la tabla que deseamos extender mediante una foreign key. <br><br />
#:Los campos de la nueva tabla no deben tener el mismo nombre que campos de la tabla de la cual extiende.<br><br />
#:<source lang="php" enclose="div"><br />
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />
-- PERSONALIZACIÓN<br />
-- SIU-GUARANI 3 - Sistema de Gestión Académica<br />
-- Versión 3.X.Y<br />
-- PERSONALIZACIÓN Tabla: sga_colaciones_ext<br />
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />
<br />
SET SEARCH_PATH = 'negocio_pers';<br />
<br />
CREATE TABLE sga_colaciones_ext<br />
(<br />
id_colacion INTEGER NOT NULL, <br />
hora TIME<br />
);<br />
<br />
-- PRIMARY KEY<br />
ALTER TABLE sga_colaciones_ext ADD CONSTRAINT pk_sga_colaciones_ext PRIMARY KEY (id_colacion);<br />
<br />
-- FOREIGN KEY<br />
CREATE INDEX ifk_sga_colaciones_ext_sga_colaciones ON sga_colaciones_ext (id_colacion);<br />
<br />
ALTER TABLE sga_colaciones_ext <br />
ADD CONSTRAINT fk_sga_colaciones_ext_sga_colaciones FOREIGN KEY (id_colacion) <br />
REFERENCES negocio.sga_colaciones (colacion) on update restrict on delete restrict;<br />
<br />
-- +++++++++++++++++ Fin tabla sga_colaciones_ext ++++++++++++++++++++++++++++++++++<br />
</source><br />
#Extensión del datos tabla correspondiente<br />
#: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:<br />
#*Tipo de persistencia: DB – Multitabla<br />
#*Esquema Tabla Ext.: el esquema donde se tiene la extensión de la tabla; en el ejemplo, negocio_pers<br />
#*Tabla de extensión: la tabla; en el ejemplo, sga_colaciones_ext<br />
#:[[File:G3_dt_01.png]]<br />
#: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.<br />
#:[[File:G3_dt_02.png]]<br />
#Inclusión del nuevo campo en el formulario :<br />
#: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).<br />
#:[[File:G3_form_01.png]]<br />
<br />
=== Anexo ===<br />
En el caso de que el datos tabla anteriormente modificado además forme parte de un datos relación seguir los siguiente pasos:<br />
#Encontrar el/los datos relación de los cuales forma parte el datos tabla en cuestión, esto se puede verificar en la solapa propiedades básicas, tal como indica la imagen.<br />
#:[[Archivo:G3_controlador_dt.png]]<br />
#Verificar si las relaciones entre los datos tabla están correctamente asignados (1), si no hay ninguna fila en el multilínea significa que la relación debe volver a ser definida agregando una nueva linea (2) y seleccionando las columnas por la cual se relacionan las tablas (3), finalmente guardar para persistir los cambios (4).<br />
#:[[Archivo:G3_redefinir_dr.png]]<br />
#Realizar el mismo procedimiento por cada una de las filas de la solapa relaciones.</div>Adelu