Está en la página 1de 16

UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS

LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS


TUTOR: JHON JAIRO OROZCO D. Esp.

INTERFACES MIXTAS – ABM - ML

1.
RECORDAR: Construcción del ABM y ML por separado

ML – FORMULARIO MULTILINEA: Cuando la cantidad de registros que visualizará el


usuario final, NO sobrepasan la pantalla y NO requieren ser filtrados para buscar ya que
visualmente se encuentran al alcance del usuario.

ABM - FORMULARIOS: Cuando el tipo de operación es altamente repetitivo y que mostrará


gran volumen de registros, lo ideal es construir un ABM (altas, bajas y modificaciones,
también llamado CRUD). El asistente va a permitir definir la operación a alto nivel,
construyendo tanto los componentes como su código.
Cuando se crea un ABM, tenga muy en cuenta que se crearán los siguientes componentes:
 CN – CONTROLADOR: Componente principal con el cual el usuario interactuara
directamente, en otras palabras son los menús y sub-menús.
 CI – CONTROLADOR INTERFAZ: Contiene el código PHP Orientado a Objetos para
recibir y enviar al servidor

1
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

 DOS PANTALLAS: pant_selección (filtro y cuadro) y pant_edicion (formulario)


 FILTRO : Se encuentra en la parte superior, y permitirá realizar búsquedas por los campos
elegidos; sus eventos son FILTRAR y LIMPIAR
 CUADRO: Muestra los registros encontrados dependiendo de la búsqueda del filtro; sus
eventos son SELECCIÓN
 FORMULARIO: muestra los datos de un registro, sus eventos son: ALTA – BAJA –
MODIFICACIÓN, al crearlo por el asistente se debe tener tildada la opción de separar
selección y Edición.
 DATOS TABLA: Funciona a nivel del Cliente (navegador) y contiene los registros con que
el usuario está interactuando (marcando cada registro con A-B-M Adicionar, Borrar,
Actualizar respectivamente), para aplicar el CRUD a la BD, su evento es CARGAR –
SINCRONIZAR - RESET.
2.
INTERFACES MIXTAS ABM (PADRE) – ML (HIJA): La ventaja de utilizar la combinación
ABM (Tabla padre con PK) y ML (Tabla hija con FK), es que al momento de SINCRONIZAR o
GUARDAR, se almacenan simultáneamente los registros de ambas tablas en la base de
datos, asegurando la Integridad referencial y garantizando que los N registros de la tabla hija,
pertenecen al registro correspondiente a la tabla padre. Para el presente ejercicio a la factura
se le asociarán el detalle de la venta con los productos respectivos simultáneamente

Se explica la combinación entre las tablas Factura y Factura detalle, al finalizar se debe tener
la siguiente estructura

2
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.1. INTERFAZ PARA LA TABLA PADRE - ABM FACTURA:


 Se crea el ABM de la tabla padre, en este caso Factura por el Asistente normalmente;
 Tener presente de tildar la opción de separar Selección de Edición


 Si el ABM de la tabla padre en este caso FACTURA, se encuentra bien creado; se
procede a mejorar la interfaz para que dentro de una cabecera de Factura se adicionen en
un ML sus respectivos productos de la venta, sin necesidad de ir a otra interfaz.

2.2. DT-DATOS TABLA DE LA TABLA HIJA – DETALLE_FACTURA. Verificar que el DT-Datos


tabla detalle_factura se encuentre creada (mantener el mismo nombre que se tiene
desde el diseño), de lo contrario debe crearla, por el asistente DATOS-AGREGAR

3
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.3. ASOCIAR PK de la tabla padre, con la FK de la tabla hija: Se establece la misma


dependencia o Relación que se tiene desde el diseño, pero ahora en el FrameWork lo deberá
interpretar con nuestras instrucciones.

2.4. Establecer la Relación entre la PK y la FK de las tablas padre e hijo, esto es muy importante,
porque permitirá sincronizar todas las operaciones del CRUD entre las dos tablas de forma
simultánea.

4
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.5. Después de GUARDAR, edite el DR-Datos Relación y verificar que se cumple con todos los
pasos de la relación.

2.6. INTEFAZ ML – PARA LA TABLA HIJA:


 En la pantalla edición
 Crear un nuevo Objeto asociado a la pantalla
 Mantener el mismo nombre de la tabla hija, en este caso factura_detalle
 Crear el componente Formulario ML

5
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.7. Completar las propiedades del ML, para adicionar la botonera

6
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.8. Adicionar los campos (efs o elementos del formulario ML) de la tabla hija factura_detalle

7
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.9. Crear el EVENTO, que llevará la información del formulario y del datos tabla al Servidor de bases de datos
postgres, para el ML por defecto es el evento MODIFICACIÓN

8
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.10. Verificar la interfaz mixta, cumpla con el objetivo propuesto

2.11. CREACIÓN DEL COMBO: Como el ML se creó manualmente NO se crea el combo o cuadro
combinado de la FK producto en la interfaz de factura detalle; por lo tanto se debe crear.

9
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.12. TOTALIZAR CLUMNAS: para columnas que manejen valores numéricos, basta con tildar en
el campo respectivo la opción de TOTALIZAR.
 Adicionar al ML de factura detalle un nuevo campo para los subtotales (queda
pendiente totalizar por JavaScript) y totalizar.
 Totalizar también la columna del IVA

10
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.13. INSTANCIAR Y VERIFICAR


 Verificar que el combo despliegue la lista de productos de la tabla productos
 y que se tenga la columna de subtotal
 totalizar IVA
 Totalizar subtotal
 Todavía NO se guardan en la Base de datos

11
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.14. MODIFICANDO EL CODIGO; el evento que maneja el CRUD del ML es MODIFICACION,


como se observa en el último gráfico, por lo tanto, como no se creó por el asistente debemos
agregar el código respectivo en el CI Controlador; de lo contrario si bien muestra la interfaz
NO aplicará el CRUD sobre la Base de datos. Recordar que el datos tabla interiormente
marca los registros con A-B-M, dependiendo de la transacción (Adicionar – Borrar - Modificar)
 Abrir el archivo en que se trabaja la factura
c:\proyectos\toba_2_7\factura_venta\ci_factura_venta.php
 Con cuidado de NO dañar lo que ya funciona correctamente, al final antes de la última
llave que cierra la clase, copiar y pegar el código respectivo de ML, se explicara
posteriormente
 Seleccione toda la celda del código

12
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

//CODIGO PARA GUARDAR EL DETALLE DE LA FACTURA


function evt__factura_detalle__modificacion($datos)
{
$this->dep('datos')->tabla('factura_detalle')->procesar_filas($datos);
}

function conf__factura_detalle(toba_ei_formulario_ml $componente)


{
$componente->set_datos($this->dep('datos')->tabla('factura_detalle')->get_filas());
}

2.15. Verificar nuevamente Creando una Nueva Factura y/o adicionando productos a la venta de la
Factura.
 Con un script sql, verificar que se guardaron los datos de la factura
 Con un script sql, verificar que se guardaron los datos del detalle de la factura
 Con un script sql, verificar al mismo tiempo la factura y el detalle, agrupando por factura

13
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.16. Después de cada operación del CRUD, es importante avisar del éxito o fracaso de la
operación, para mostrar mensajes al usuario utilizamos la instrucción en el evento
GUARDAR:
toba::notificacion()->agregar('mi mensaje', 'info');
Agregar la línea correspondiente después de la línea de sincronizar
Y desactivar el resetear, para que se quede en la misma pantalla en lugar de regresar a la
interfaz del cuadro

function evt__guardar()
{
$this->dep('datos')->sincronizar();
$mensaje = utf8_decode("<center>OK operación exitosa"); //crear un mensaje
toba::notificacion()->agregar($mensaje, 'info'); //mostrar mensaje error warning
//$this->resetear(); //desactivo para que se quede en la misma interfaz
}

14
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

2.17. Guardar nuevamente y debe mostrar al GUARDAR el mensaje respectivo

3. SEGURIDAD: Es muy importante tomar precauciones con respecto a perdidas trabajo en el


Framework y de información de la base de datos
 En PGAdmin saque Backus, con el nombre y fecha de la base de factura_venta_11-
septiembre-2020
 Ejecutar el comando, para actualizar desde la BD del Framework, el directorio
METADATOS, lo de color es obligado
 toba proyecto exportar -p factura_venta -i desarrollo

15
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
LINEA ENFASIS III – ADMINISTRACIÓN DE BASES DE DATOS
TUTOR: JHON JAIRO OROZCO D. Esp.

TALLER DE APLICACIÓN
Recuerde que debe llevar el proyecto de la factura al día, cada semana es una nota de seguimiento.

16

También podría gustarte