SlideShare una empresa de Scribd logo
1 de 14
Programa para generar pantallas en base de datos 502Paula espinosa bravo base de datos
Los Programas generadores de Pantalla, sirven para ayudar en la elaboración de otro programa. Así se evita consumir tiempo en diseñar la pantalla. Ayudan a la rapidez del prototipo. Son programas que se realizan en muy pocas horas.
Pantallas de Contexto: En cada una de ellas se puede identificar la siguiente estructura básica:   Encabezado (parte superior) , Pie (parte inferior) , Menú (parte izquierda) y Contenido (parte central y derecha) con las funciones que se especifican a continuación :   Encabezado: Es el área destinada a la identificación institucional de la DIAN, a la identificación del usuario que accede a los servicios y a la presentación del menú temático del portal de la entidad.    Pie: Es el área de la pantalla en la cual los usuarios deben prestar especial atención,  esta área se establece de acuerdo con el rol usado para “iniciar sesión”  en el portal de la DIAN, de manera que los servicios informáticos generarán y publicarán las alarmas o tareas correspondientes.    En el pie se encuentran las siguientes opciones:    Alarmas (n): Enlace que envía al usuario a una página donde se muestran avisos o mensajes importantes que debe conocer según su rol, relacionados principalmente con la proximidad de la caducidad del tiempo para la realización de tareas. Este enlace se conoce como “Bandeja de Alarmas” y el número (n) que acompaña al texto indica el número de alarmas que se tienen actualmente en la bandeja.    Tareas (n): Enlace que envía a la persona a una página donde se presentan las tareas que ésta debe efectuar según su rol, dentro de las responsabilidades que tiene frente a la DIAN. Este enlace se conoce como "Bandeja de Tareas” y el número (n) que acompaña al texto indica el número de tareas que se tienen actualmente en la bandeja.    La bandeja de tareas constituye la principal forma de cooperación y comunicación entre los usuarios y la DIAN.  A través de ella se lleva un control automático de la ejecución de las tareas y la interacción que sobre ellos realiza la DIAN.    El contenido de la pantalla de la bandeja de tareas está conformado por un encabezado,  un cuerpo y los botones de control de paginación.
Encabezado de la Bandeja de Tareas: Provee un conjunto de herramientas de búsqueda que le permite a la persona encontrar la tarea de su interés.   Cuerpo de la Bandeja de Tareas: Presenta una lista de tareas que satisfacen los criterios de búsqueda especificados por la persona. Dicha lista presenta las siguientes columnas de información:   Código: Es un número identificador de la tarea enviada al persona. Para ejecutar la tarea, la persona debe dar clic en el código y el sistema le deberá presentar las pantallas relacionadas con el trámite específico.    Descripción: En esta columna se describe el objetivo de la tarea.    Estado: Informa sobre el estado en el cual se encuentra una tarea, los cuales pueden ser  (A)ctiva, (C)ancelada o (T)erminada.    Fecha de asignación: Es la fecha en la que el sistema envió la tarea a la persona.    Fecha final prevista: Es la fecha límite que tiene la persona para efectuar el trámite especificado por la tarea.    Control de paginación: Son botones que permiten recorrer la lista de tareas cuando esta supera el número de registros que pueden presentarse en la pantalla. Están ubicados en la parte inferior de la pantalla y se conocen como “Anterior”, “Siguiente” o combo numérico.   Botón Anterior: Al presionar este botón, se realiza un desplazamiento a la página inmediatamente anterior.     Botón Siguiente: Al presionar este botón, se avanza a la siguiente página en la lista de tareas.    Combo numérico: Indica el número de página que la persona está viendo en pantalla. Al desplegar el combo y seleccionar un número diferente el sistema lo llevará a la página escogida
Cerrar Sesión: Mediante esta opción se invalida la sesión actual de la persona y se presenta nuevamente la pantalla para el establecimiento de una nueva sesión. La captura de información que no haya sido grabada al momento del cierre de sesión no será guardada por el sistema. Si la persona desea continuar con los servicios, deberá reingresar nuevamente al portal.    Las alarmas y tareas que aparecen en esta bandeja cuando la persona aún no se ha autenticado, son de interés general a todo visitante del portal de la DIAN.  Menú: En ésta área se presentan el conjunto de servicios informáticos electrónicos disponibles  para el usuario. Este responde a una estructura de árbol que se va armando dependiendo de los trámites a los cuales el interesado autenticado tiene acceso.  Es también conocido como el menú de servicios MUISCA.      Contenido: Es el área en la cual se presentan las diferentes pantallas sobre las cuales deben interactuar los interesados en ejercicio de sus funciones. También se emplea para presentar las opciones anidadas del menú con estructura de árbol junto con un texto informativo del contenido de dicha opción.   
Dependiendo del tipo de ventana seleccionado, el contenido de los ficheros será diferente. En el directorio igep/doc/plantillasTipo hay un modelo base a seguir de cada uno de los ficheros. En la siguiente tabla aparecen los diferentes patrones con los nombres de ficheros que deberemos buscar. Patrónplantilla Patrón Tabular / Tabular sin búsqueda P1M2(FIL-LIS) / P1M1(LIS) Patrón Registro / Registro sin búsqueda P1M2(FIL-EDI) / P1M1(EDI) Patrón Tabular-Registro P1M2(FIL-LIS-EDI) MD Maestro Tabular Detalle Registro P2M2(FIL-LIS)M1(EDI) MD Maestro Registro Detalle Registro P2M2(FIL-EDI)M1(EDI) MD Maestro Registro Detalle Tabular P2M2(FIL-EDI)M1(LIS) MD Maestro Registro Detalle Tabular-Registro P2M2(FIL-EDI)M1(LIS-EDI)
En primer lugar tenemos que crear tantos ficheros como paneles aparezcan en la pantalla. Si se trata de una ventana con varios paneles dependientes se debe consultar la página que indica como crear un maestro detalle. Si la ventana incluye un árbol, puedes consultar los pasos a seguir aquí. En caso contrario, lo que debemos hacer es crear un archivo php por cada panel (generalmente sólo uno) en la carpeta actions de nuestra estructura. En este archivo se creará una clase que heredará de gvHidraForm_DB que contiene el comportamiento general de un mantenimiento común (inserciones, modificaciones y borrados) contra un SGBD relacional. Un ejemplo tipo de esta clase podría ser el siguiente:<?php /* CLASE ESPECIFICA DEL PANEL Q MANEJA TINV_ESTADOS */ class TinvEstados extends gvHidraForm_DB { function TinvEstados() { /*manejador de conexión*/ $conf = ConfigFramework::getConfig(); $dsn = $conf->getDSN('dsn_id'); //Las tablas sobre las que trabaja $nombreTablas= array('tinv_estados'); parent::__construct($dsn,$nombreTablas); //La select que mostramos $this->setSelectForSearchQuery("SELECT cestado as amp;quot;codigoEstadoamp;quot;, destado as amp;quot;descEstadoamp;quot; FROM tinv_estados"); //El orden de presentación de los datos $this->setOrderByForSearchQuery("1"); /* Añadimos los Matching - Correspondecias elemento TPL <-> campo de BD */ $this->addMatching("filCodigoEstado","cestado","tinv_estados"); $this->addMatching("filDescEstado","destado","tinv_estados"); $this->addMatching("codigoEstado","cestado","tinv_estados"); $this->addMatching("descEstado","destado","tinv_estados"); } } ?>
El siguiente paso es indicarle a phrame que clase se va a encargar de realizar las distintas operaciones del panel y donde se debe ir dependiendo del resultado de la operación realizada. Para ello editamos el fichero mappings.php que se encuentra en el directorio include de la aplicación y añadimos las operaciones que correspondan a dicho panel. En primer lugar tenemos que utilizar la función _AddMapping que permite especificar que clase se encargará de gestionar que operación. De esta función los únicos parámetros importantes son los dos primeros. El primero indica el nombre de la operación. Éste está compuesto por el nombre del panel y, separado por dos subguiones, el nombre de la acción en si. El segundo parámetro de esta función _AddMapping indica el nombre de la clase que manejará estas operaciones (en el ejemplo TinvEstados). Por otro lado debemos indicarle a phrame donde debe volver (a que dirección) según el resultado de la operación. Para ello debemos utilizar la función _AddForward. Las acciones genéricas tienen unos retornos fijos que dependerán del resultado de la operación. Las acciones particulares tendran tantos retornos como el programador crea conveniente. A continuación mostramos la parte del mappings que correspondería a nuestro ejemplo:/*Estados*/ $this->_AddMapping('TinvEstados__operarBD', 'TinvEstados', '', 'IgepForm', 0); $this->_AddForward('TinvEstados__operarBD', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php&panel=listar'); $this->_AddForward('TinvEstados__operarBD', 'sinDatos', 'index.php?view=views/tablasMaestras/p_estados.php&panel=buscar'); $this->_AddMapping('TinvEstados__cancelarTodo', 'TinvEstados', 'index.php?view=views/mantenimientoFicha.php', 'IgepForm', 0); $this->_AddForward('TinvEstados__cancelarTodo', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php'); $this->_AddMapping('TinvEstados__iniciarVentana', 'TinvEstados', '', 'IgepForm', 0); $this->_AddForward('TinvEstados__iniciarVentana', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php'); $this->_AddForward('TinvEstados__iniciarVentana', 'incorrecto', 'index.php?view=igep/views/aplicacion.php'); $this->_AddMapping('TinvEstados__buscar', 'TinvEstados', '', 'IgepForm', 0); $this->_AddForward('TinvEstados__buscar', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php&panel=listar');
A continuación debemos crear un archivo php en el directorio views que controle la presentación. Este archivo, que es al que hace referencia la URL del mappings.php, contiene las asignaciones de los datos a la tpl. Si se trata de un comportamiento genérico, instanciando las clases IgepPantalla e IgepPanel con los argumentos pertinentes, se realizan las asignaciones a los valores comunes de las tpls quedando para el programador las asignaciones propias de la pantalla. Concretamente tendra que activar los modos de cada uno de los paneles de la ventana (método activarModo). A continuación mostramos un fichero de ejemplo de una ventana con un panel de dos modos:<?php global $g_aplicacion; //Creamos una pantalla $comportamientoVentana= new IgepPantalla(); //Creamos un panel $panel1 = new IgepPanel('TinvEstados',"smty_datosTabla"); //Activamos las pestañas que necesitamos $panel1->activarModo("fil","estado_fil"); $panel1->activarModo("lis","estado_lis"); //Agregamos el panel a la ventana $comportamientoVentana->agregarPanel($panel1); //Realizamos el display $s->display('tablasMaestras/p_estados.tpl'); ?>
Creamos la tpl de la pantalla en el directorio plantillas de la aplicación. En ella creamos los componentes necesarios con los nombres correspondientes. En cada uno de los paneles modificamos el nombre de las acciones haciendolos corresponder con los que hemos creado en el mappings.En estos ficheros hay que tener las siguientes precauciones: Los identificadores de campos pueden estar en cualquier combinación de mayúsculas y minúsculas, aunque no debe haber dos donde sólo cambie esto (es decir, case-insensitive).  Hay que evitar poner atributos o tags innecesarios, ya que eso se traduce en una página HTML de mayor peso. Por ejemplo, si una columna es oculta, no tiene sentido indicar su tamaño, obligatoriedad, ...  Los carácteres especiales como acentos o eñes conviene ponerlos usando entidades html, para que no hay problemas con la codificación.  No conviene usar el carácter '_' en las tpls. Mejor darle otro nombre mediante alias en la select.  Cuando en la tpl exista una ficha ({CWFicha}) habrá que distribuir los campos dentro de ella. En principio si son pocos campos con un simple salto de línea (<br>) se podrían dibujar, pero cuando se complica más se creará una tabla con los parámetros que se indican en el ejemplo, y luego distribuir los campos en celdas. <table class="formularios" width="100%" cellspacing="2" cellpadding="2">  Delante del primer campo de la celda no debemos poner ningún espacio en blanco ( )<tr>     <td>          {CWCampoTexto ...     </td> </tr> Solamente se pondrá en el caso de que se sitúen dos campos en una misma celda; así dejaríamos un espacio entre ellos. Ejemplo:<tr>     <td> {CWCampoTexto ...} {CWCampoTexto ...}     </td> </tr>
Ejemplo completo de una plantilla, hay que destacar que es importante no repetir identificadores de elementos de pantalla (nombres de los campos) dentro de una misma TPL, como vemos en el ejemplo, los conceptos estado y descripción estado corresponden a los campos filCodigoEstado y filDescEstado{CWVentanatipoAviso=$smty_tipoAvisocodAviso=$smty_codErrordescBreve = $smty_descBrevetextoAviso=$smty_textoAviso} {CWBarra usuario=$smty_usuariocodigo=$smty_codigo} {CWMenuLayername="$smty_nombre" cadenaMenu="$smty_cadenaMenu"} {/CWBarra} {CWMarcoPanelconPestanyas="true"} <!--*********** MODO fil ******************--> {CWPanel id="fil" action="buscar" method="post" estado="$estado_fil" claseManejadora="TinvEstados"} {CWBarraSupPanel titulo="Estados de los bienes"} {CWBotonTooltip imagen="04" titulo="Limpiar campos" funcion="limpiar" actuaSobre="ficha"} {/CWBarraSupPanel} {CWContenedor} {CWFicha} <br>   {CWCampoTexto nombre="filCodigoEstado" size="3" editable="true" textoAsociado="Código" dataType=$dataType_TinvEstados.filCodigoEstado} <br><br>   {CWCampoTexto nombre="filDescEstado" size="10" editable="true" textoAsociado="Descripción" dataType=$dataType_TinvEstados.filCodigoEstado} <br><br> {/CWFicha} {/CWContenedor} {CWBarraInfPanel} {CWBoton imagen="50" texto="Buscar" class="boton" accion="buscar" } {/CWBarraInfPanel} {/CWPanel} <!-- ****************** MODO lis ***********************--> {CWPanel id="lis" tipoComprobacion="envio" action="operarBD" method="post" estado="$estado_lis" claseManejadora="TinvEstados"} {CWBarraSupPanel titulo="Estados de los bienes"} {CWBotonTooltip imagen="01" titulo="Insertar registros" funcion="insertar" actuaSobre="tabla"} {CWBotonTooltip imagen="02" titulo="Modificar registros" funcion="modificar" actuaSobre="tabla"} {CWBotonTooltip imagen="03" titulo="Eliminar registros" funcion="eliminar" actuaSobre="tabla"} {/CWBarraSupPanel} {CWContenedor} {CWTablaconCheck="true" conCheckTodos="true" id="Tabla1" numPagInsertar="1" numFilasPantalla="10" datos=$smty_datosTabla} {CWFilatipoListado="false"} {CWCampoTexto nombre="codigoEstado" textoAsociado="Cód. Estado." longitudMaxima="2" editable="nuevo" size="2" obligatorio="true"} {CWCampoTexto nombre="descEstado" textoAsociado="Desc. Estado." longitudMaxima="8" editable="true" size="12"} {/CWFila} {CWPaginadorenlacesVisibles="3"} {/CWTabla} {/CWContenedor} {CWBarraInfPanel} {CWBoton imagen="41" texto="Guardar" class="boton" accion="submit"} {CWBoton imagen="42" texto="Cancelar" class="boton" accion="cancelar" action="cancelarTodo"} {/CWBarraInfPanel} {/CWPanel} <!-- ****************** PESTAÑAS ************************--> {CWContenedorPestanyas} {CWPestanya tipo="fil" estado=$estado_fil} {CWPestanya tipo="lis" estado=$estado_lis} {/CWContenedorPestanyas} {/CWMarcoPanel} {/CWVentana}
permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos.  si existen dos o más archivos con la misma información, los cambios que se hagan a éstos deberán hacerse a todas las copias del archivo de facturas.  Permite compartir información.  Permite mantener la integridad en la información
Programa

Más contenido relacionado

La actualidad más candente

Manual de las herramientas del software arena unidad 4
Manual de las herramientas del software arena unidad 4Manual de las herramientas del software arena unidad 4
Manual de las herramientas del software arena unidad 4phyeni
 
Manual del programador fox pro
Manual del programador fox proManual del programador fox pro
Manual del programador fox prohmosquera
 
Visual fox pro-manual-del-programador-completo.www.freelibros.com
Visual fox pro-manual-del-programador-completo.www.freelibros.comVisual fox pro-manual-del-programador-completo.www.freelibros.com
Visual fox pro-manual-del-programador-completo.www.freelibros.comFredy Alvarez Lamas
 
Tutorial de Visual Basic 6.0
Tutorial de Visual Basic 6.0Tutorial de Visual Basic 6.0
Tutorial de Visual Basic 6.0Maripel80
 
A toda máquina con herencia visual
A toda máquina con herencia visualA toda máquina con herencia visual
A toda máquina con herencia visualIgnacio Monllor
 
ALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's ManualALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's ManualJuan Cols
 
programacion. visual basic 6.0
programacion. visual basic 6.0programacion. visual basic 6.0
programacion. visual basic 6.0dicnorimar cedeño
 
Wam navegacion basica sap rev a
Wam   navegacion basica sap rev aWam   navegacion basica sap rev a
Wam navegacion basica sap rev aMartin Garcia
 
Presentación slideshare -_computación_II
Presentación slideshare -_computación_IIPresentación slideshare -_computación_II
Presentación slideshare -_computación_IIvivianarangel9
 

La actualidad más candente (19)

Manual de las herramientas del software arena unidad 4
Manual de las herramientas del software arena unidad 4Manual de las herramientas del software arena unidad 4
Manual de las herramientas del software arena unidad 4
 
Manual del programador fox pro
Manual del programador fox proManual del programador fox pro
Manual del programador fox pro
 
95511389 visual-foxpro-trucos
95511389 visual-foxpro-trucos95511389 visual-foxpro-trucos
95511389 visual-foxpro-trucos
 
VISUAL BASIC 6.0
VISUAL BASIC 6.0VISUAL BASIC 6.0
VISUAL BASIC 6.0
 
Manual TéCnico
Manual TéCnicoManual TéCnico
Manual TéCnico
 
Visual fox pro-manual-del-programador-completo.www.freelibros.com
Visual fox pro-manual-del-programador-completo.www.freelibros.comVisual fox pro-manual-del-programador-completo.www.freelibros.com
Visual fox pro-manual-del-programador-completo.www.freelibros.com
 
Tutorial de Visual Basic 6.0
Tutorial de Visual Basic 6.0Tutorial de Visual Basic 6.0
Tutorial de Visual Basic 6.0
 
A toda máquina con herencia visual
A toda máquina con herencia visualA toda máquina con herencia visual
A toda máquina con herencia visual
 
ALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's ManualALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's Manual
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Formularios En Visual Fox Pro
Formularios En Visual Fox ProFormularios En Visual Fox Pro
Formularios En Visual Fox Pro
 
Visual 6.0
Visual 6.0Visual 6.0
Visual 6.0
 
Visual basic
Visual basicVisual basic
Visual basic
 
programacion. visual basic 6.0
programacion. visual basic 6.0programacion. visual basic 6.0
programacion. visual basic 6.0
 
Guia de uso del software arena
Guia de uso del software arenaGuia de uso del software arena
Guia de uso del software arena
 
Wam navegacion basica sap rev a
Wam   navegacion basica sap rev aWam   navegacion basica sap rev a
Wam navegacion basica sap rev a
 
Unidad 1 margara
Unidad 1 margaraUnidad 1 margara
Unidad 1 margara
 
Presentación slideshare -_computación_II
Presentación slideshare -_computación_IIPresentación slideshare -_computación_II
Presentación slideshare -_computación_II
 

Destacado

Destacado (20)

Navidades 2009
Navidades 2009Navidades 2009
Navidades 2009
 
Imágenes para presentaciones orales sobre conectivismo
Imágenes para  presentaciones orales sobre conectivismo Imágenes para  presentaciones orales sobre conectivismo
Imágenes para presentaciones orales sobre conectivismo
 
Diagnostico
DiagnosticoDiagnostico
Diagnostico
 
Plan estrategico muni freire
Plan estrategico muni freirePlan estrategico muni freire
Plan estrategico muni freire
 
Balaguer. la expedición filantrópica. resumen
Balaguer. la expedición filantrópica. resumenBalaguer. la expedición filantrópica. resumen
Balaguer. la expedición filantrópica. resumen
 
Domingo 6 de Febrero del 2011
Domingo 6 de Febrero del 2011Domingo 6 de Febrero del 2011
Domingo 6 de Febrero del 2011
 
Medidas
MedidasMedidas
Medidas
 
Tertulies culturals
Tertulies culturalsTertulies culturals
Tertulies culturals
 
El comercio
El comercioEl comercio
El comercio
 
Pinar Canario
Pinar    CanarioPinar    Canario
Pinar Canario
 
Médicos
MédicosMédicos
Médicos
 
VoA folleto informativo
VoA folleto informativoVoA folleto informativo
VoA folleto informativo
 
Tu Seras Presidente De Mexico
Tu Seras Presidente De MexicoTu Seras Presidente De Mexico
Tu Seras Presidente De Mexico
 
404672 634109449894030000
404672 634109449894030000404672 634109449894030000
404672 634109449894030000
 
Rubén. Apolo
Rubén. ApoloRubén. Apolo
Rubén. Apolo
 
Iskandar Nabila 3 1 2 Trabajoo[1]
Iskandar Nabila 3 1 2 Trabajoo[1]Iskandar Nabila 3 1 2 Trabajoo[1]
Iskandar Nabila 3 1 2 Trabajoo[1]
 
PRAE y PEGR EN LA IETAC DE CAMPECHE
PRAE y PEGR EN LA IETAC DE CAMPECHEPRAE y PEGR EN LA IETAC DE CAMPECHE
PRAE y PEGR EN LA IETAC DE CAMPECHE
 
Biblio recreos
Biblio recreosBiblio recreos
Biblio recreos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Caza Ut2
Caza Ut2Caza Ut2
Caza Ut2
 

Similar a Programa

Visual basic
Visual basicVisual basic
Visual basicjosser96
 
Manual de usuario Regisoft Activos Fijos
Manual de usuario Regisoft Activos FijosManual de usuario Regisoft Activos Fijos
Manual de usuario Regisoft Activos FijosRegisoft
 
TAREA 2: LOS SISTEMAS OPERATIVOS
TAREA 2: LOS SISTEMAS OPERATIVOSTAREA 2: LOS SISTEMAS OPERATIVOS
TAREA 2: LOS SISTEMAS OPERATIVOSinstructorabelquis
 
Tarea de tecnología de la información y la comunicación 2
Tarea de tecnología de la información y la comunicación 2Tarea de tecnología de la información y la comunicación 2
Tarea de tecnología de la información y la comunicación 2alicia gomez rosario
 
Manual de herramienta de arena unidad 4
Manual de herramienta de arena unidad 4Manual de herramienta de arena unidad 4
Manual de herramienta de arena unidad 4Sisney Gonzalez
 
Manual de-herramienta-de-arena
Manual de-herramienta-de-arenaManual de-herramienta-de-arena
Manual de-herramienta-de-arenaBerenice Velazquez
 
Trabajo
TrabajoTrabajo
Trabajoqwz123
 
sistema operativo grafico de windows XP
sistema operativo grafico de windows XPsistema operativo grafico de windows XP
sistema operativo grafico de windows XPguest162190
 
Trabajo tic. xabi y jesús
Trabajo tic. xabi y jesúsTrabajo tic. xabi y jesús
Trabajo tic. xabi y jesúsb2bticjdomine
 
Tutorial de Windows Phone 7.1 Basico
Tutorial de Windows Phone 7.1 BasicoTutorial de Windows Phone 7.1 Basico
Tutorial de Windows Phone 7.1 BasicoCarola Velazquez
 
Desarrollas aplicaciones de escritorio:)
Desarrollas aplicaciones de escritorio:)Desarrollas aplicaciones de escritorio:)
Desarrollas aplicaciones de escritorio:)LuisSlz
 
Sesión5 applets
Sesión5 appletsSesión5 applets
Sesión5 appletsUniversidad
 
Grupo 2 y 5 so y computador
Grupo 2 y 5 so y computadorGrupo 2 y 5 so y computador
Grupo 2 y 5 so y computadorzproano
 

Similar a Programa (20)

Visual basic
Visual basicVisual basic
Visual basic
 
Manual de usuario Regisoft Activos Fijos
Manual de usuario Regisoft Activos FijosManual de usuario Regisoft Activos Fijos
Manual de usuario Regisoft Activos Fijos
 
TAREA 2: LOS SISTEMAS OPERATIVOS
TAREA 2: LOS SISTEMAS OPERATIVOSTAREA 2: LOS SISTEMAS OPERATIVOS
TAREA 2: LOS SISTEMAS OPERATIVOS
 
Espec alan001
Espec alan001Espec alan001
Espec alan001
 
1 utn frba manual access 2010 introducción
1  utn frba manual access 2010   introducción1  utn frba manual access 2010   introducción
1 utn frba manual access 2010 introducción
 
Parte 1
Parte 1Parte 1
Parte 1
 
Tarea de tecnología de la información y la comunicación 2
Tarea de tecnología de la información y la comunicación 2Tarea de tecnología de la información y la comunicación 2
Tarea de tecnología de la información y la comunicación 2
 
office
officeoffice
office
 
Manual de herramienta de arena unidad 4
Manual de herramienta de arena unidad 4Manual de herramienta de arena unidad 4
Manual de herramienta de arena unidad 4
 
Manual de-herramienta-de-arena
Manual de-herramienta-de-arenaManual de-herramienta-de-arena
Manual de-herramienta-de-arena
 
Parte 1
Parte  1Parte  1
Parte 1
 
Trabajo
TrabajoTrabajo
Trabajo
 
sistema operativo grafico de windows XP
sistema operativo grafico de windows XPsistema operativo grafico de windows XP
sistema operativo grafico de windows XP
 
Trabajo tic. xabi y jesús
Trabajo tic. xabi y jesúsTrabajo tic. xabi y jesús
Trabajo tic. xabi y jesús
 
Tutorial de Windows Phone 7.1 Basico
Tutorial de Windows Phone 7.1 BasicoTutorial de Windows Phone 7.1 Basico
Tutorial de Windows Phone 7.1 Basico
 
Desarrollas aplicaciones de escritorio:)
Desarrollas aplicaciones de escritorio:)Desarrollas aplicaciones de escritorio:)
Desarrollas aplicaciones de escritorio:)
 
Uapa tarea
Uapa tareaUapa tarea
Uapa tarea
 
Programacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_IProgramacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_I
 
Sesión5 applets
Sesión5 appletsSesión5 applets
Sesión5 applets
 
Grupo 2 y 5 so y computador
Grupo 2 y 5 so y computadorGrupo 2 y 5 so y computador
Grupo 2 y 5 so y computador
 

Más de pau

redes pau
redes pauredes pau
redes paupau
 
Funciones
FuncionesFunciones
Funcionespau
 
Blog blog
Blog blogBlog blog
Blog blogpau
 
blog
blogblog
blogpau
 
Base De Datos Expocicion
Base De Datos ExpocicionBase De Datos Expocicion
Base De Datos Expocicionpau
 
Parcial1bdd
Parcial1bddParcial1bdd
Parcial1bddpau
 

Más de pau (6)

redes pau
redes pauredes pau
redes pau
 
Funciones
FuncionesFunciones
Funciones
 
Blog blog
Blog blogBlog blog
Blog blog
 
blog
blogblog
blog
 
Base De Datos Expocicion
Base De Datos ExpocicionBase De Datos Expocicion
Base De Datos Expocicion
 
Parcial1bdd
Parcial1bddParcial1bdd
Parcial1bdd
 

Programa

  • 1. Programa para generar pantallas en base de datos 502Paula espinosa bravo base de datos
  • 2. Los Programas generadores de Pantalla, sirven para ayudar en la elaboración de otro programa. Así se evita consumir tiempo en diseñar la pantalla. Ayudan a la rapidez del prototipo. Son programas que se realizan en muy pocas horas.
  • 3. Pantallas de Contexto: En cada una de ellas se puede identificar la siguiente estructura básica:   Encabezado (parte superior) , Pie (parte inferior) , Menú (parte izquierda) y Contenido (parte central y derecha) con las funciones que se especifican a continuación :   Encabezado: Es el área destinada a la identificación institucional de la DIAN, a la identificación del usuario que accede a los servicios y a la presentación del menú temático del portal de la entidad.    Pie: Es el área de la pantalla en la cual los usuarios deben prestar especial atención,  esta área se establece de acuerdo con el rol usado para “iniciar sesión”  en el portal de la DIAN, de manera que los servicios informáticos generarán y publicarán las alarmas o tareas correspondientes.    En el pie se encuentran las siguientes opciones:    Alarmas (n): Enlace que envía al usuario a una página donde se muestran avisos o mensajes importantes que debe conocer según su rol, relacionados principalmente con la proximidad de la caducidad del tiempo para la realización de tareas. Este enlace se conoce como “Bandeja de Alarmas” y el número (n) que acompaña al texto indica el número de alarmas que se tienen actualmente en la bandeja.    Tareas (n): Enlace que envía a la persona a una página donde se presentan las tareas que ésta debe efectuar según su rol, dentro de las responsabilidades que tiene frente a la DIAN. Este enlace se conoce como "Bandeja de Tareas” y el número (n) que acompaña al texto indica el número de tareas que se tienen actualmente en la bandeja.    La bandeja de tareas constituye la principal forma de cooperación y comunicación entre los usuarios y la DIAN.  A través de ella se lleva un control automático de la ejecución de las tareas y la interacción que sobre ellos realiza la DIAN.   El contenido de la pantalla de la bandeja de tareas está conformado por un encabezado,  un cuerpo y los botones de control de paginación.
  • 4. Encabezado de la Bandeja de Tareas: Provee un conjunto de herramientas de búsqueda que le permite a la persona encontrar la tarea de su interés.   Cuerpo de la Bandeja de Tareas: Presenta una lista de tareas que satisfacen los criterios de búsqueda especificados por la persona. Dicha lista presenta las siguientes columnas de información:   Código: Es un número identificador de la tarea enviada al persona. Para ejecutar la tarea, la persona debe dar clic en el código y el sistema le deberá presentar las pantallas relacionadas con el trámite específico.    Descripción: En esta columna se describe el objetivo de la tarea.    Estado: Informa sobre el estado en el cual se encuentra una tarea, los cuales pueden ser  (A)ctiva, (C)ancelada o (T)erminada.    Fecha de asignación: Es la fecha en la que el sistema envió la tarea a la persona.    Fecha final prevista: Es la fecha límite que tiene la persona para efectuar el trámite especificado por la tarea.    Control de paginación: Son botones que permiten recorrer la lista de tareas cuando esta supera el número de registros que pueden presentarse en la pantalla. Están ubicados en la parte inferior de la pantalla y se conocen como “Anterior”, “Siguiente” o combo numérico.   Botón Anterior: Al presionar este botón, se realiza un desplazamiento a la página inmediatamente anterior.     Botón Siguiente: Al presionar este botón, se avanza a la siguiente página en la lista de tareas.    Combo numérico: Indica el número de página que la persona está viendo en pantalla. Al desplegar el combo y seleccionar un número diferente el sistema lo llevará a la página escogida
  • 5. Cerrar Sesión: Mediante esta opción se invalida la sesión actual de la persona y se presenta nuevamente la pantalla para el establecimiento de una nueva sesión. La captura de información que no haya sido grabada al momento del cierre de sesión no será guardada por el sistema. Si la persona desea continuar con los servicios, deberá reingresar nuevamente al portal.    Las alarmas y tareas que aparecen en esta bandeja cuando la persona aún no se ha autenticado, son de interés general a todo visitante del portal de la DIAN.  Menú: En ésta área se presentan el conjunto de servicios informáticos electrónicos disponibles  para el usuario. Este responde a una estructura de árbol que se va armando dependiendo de los trámites a los cuales el interesado autenticado tiene acceso.  Es también conocido como el menú de servicios MUISCA.      Contenido: Es el área en la cual se presentan las diferentes pantallas sobre las cuales deben interactuar los interesados en ejercicio de sus funciones. También se emplea para presentar las opciones anidadas del menú con estructura de árbol junto con un texto informativo del contenido de dicha opción.   
  • 6.
  • 7. Dependiendo del tipo de ventana seleccionado, el contenido de los ficheros será diferente. En el directorio igep/doc/plantillasTipo hay un modelo base a seguir de cada uno de los ficheros. En la siguiente tabla aparecen los diferentes patrones con los nombres de ficheros que deberemos buscar. Patrónplantilla Patrón Tabular / Tabular sin búsqueda P1M2(FIL-LIS) / P1M1(LIS) Patrón Registro / Registro sin búsqueda P1M2(FIL-EDI) / P1M1(EDI) Patrón Tabular-Registro P1M2(FIL-LIS-EDI) MD Maestro Tabular Detalle Registro P2M2(FIL-LIS)M1(EDI) MD Maestro Registro Detalle Registro P2M2(FIL-EDI)M1(EDI) MD Maestro Registro Detalle Tabular P2M2(FIL-EDI)M1(LIS) MD Maestro Registro Detalle Tabular-Registro P2M2(FIL-EDI)M1(LIS-EDI)
  • 8. En primer lugar tenemos que crear tantos ficheros como paneles aparezcan en la pantalla. Si se trata de una ventana con varios paneles dependientes se debe consultar la página que indica como crear un maestro detalle. Si la ventana incluye un árbol, puedes consultar los pasos a seguir aquí. En caso contrario, lo que debemos hacer es crear un archivo php por cada panel (generalmente sólo uno) en la carpeta actions de nuestra estructura. En este archivo se creará una clase que heredará de gvHidraForm_DB que contiene el comportamiento general de un mantenimiento común (inserciones, modificaciones y borrados) contra un SGBD relacional. Un ejemplo tipo de esta clase podría ser el siguiente:<?php /* CLASE ESPECIFICA DEL PANEL Q MANEJA TINV_ESTADOS */ class TinvEstados extends gvHidraForm_DB { function TinvEstados() { /*manejador de conexión*/ $conf = ConfigFramework::getConfig(); $dsn = $conf->getDSN('dsn_id'); //Las tablas sobre las que trabaja $nombreTablas= array('tinv_estados'); parent::__construct($dsn,$nombreTablas); //La select que mostramos $this->setSelectForSearchQuery("SELECT cestado as amp;quot;codigoEstadoamp;quot;, destado as amp;quot;descEstadoamp;quot; FROM tinv_estados"); //El orden de presentación de los datos $this->setOrderByForSearchQuery("1"); /* Añadimos los Matching - Correspondecias elemento TPL <-> campo de BD */ $this->addMatching("filCodigoEstado","cestado","tinv_estados"); $this->addMatching("filDescEstado","destado","tinv_estados"); $this->addMatching("codigoEstado","cestado","tinv_estados"); $this->addMatching("descEstado","destado","tinv_estados"); } } ?>
  • 9. El siguiente paso es indicarle a phrame que clase se va a encargar de realizar las distintas operaciones del panel y donde se debe ir dependiendo del resultado de la operación realizada. Para ello editamos el fichero mappings.php que se encuentra en el directorio include de la aplicación y añadimos las operaciones que correspondan a dicho panel. En primer lugar tenemos que utilizar la función _AddMapping que permite especificar que clase se encargará de gestionar que operación. De esta función los únicos parámetros importantes son los dos primeros. El primero indica el nombre de la operación. Éste está compuesto por el nombre del panel y, separado por dos subguiones, el nombre de la acción en si. El segundo parámetro de esta función _AddMapping indica el nombre de la clase que manejará estas operaciones (en el ejemplo TinvEstados). Por otro lado debemos indicarle a phrame donde debe volver (a que dirección) según el resultado de la operación. Para ello debemos utilizar la función _AddForward. Las acciones genéricas tienen unos retornos fijos que dependerán del resultado de la operación. Las acciones particulares tendran tantos retornos como el programador crea conveniente. A continuación mostramos la parte del mappings que correspondería a nuestro ejemplo:/*Estados*/ $this->_AddMapping('TinvEstados__operarBD', 'TinvEstados', '', 'IgepForm', 0); $this->_AddForward('TinvEstados__operarBD', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php&panel=listar'); $this->_AddForward('TinvEstados__operarBD', 'sinDatos', 'index.php?view=views/tablasMaestras/p_estados.php&panel=buscar'); $this->_AddMapping('TinvEstados__cancelarTodo', 'TinvEstados', 'index.php?view=views/mantenimientoFicha.php', 'IgepForm', 0); $this->_AddForward('TinvEstados__cancelarTodo', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php'); $this->_AddMapping('TinvEstados__iniciarVentana', 'TinvEstados', '', 'IgepForm', 0); $this->_AddForward('TinvEstados__iniciarVentana', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php'); $this->_AddForward('TinvEstados__iniciarVentana', 'incorrecto', 'index.php?view=igep/views/aplicacion.php'); $this->_AddMapping('TinvEstados__buscar', 'TinvEstados', '', 'IgepForm', 0); $this->_AddForward('TinvEstados__buscar', 'correcto', 'index.php?view=views/tablasMaestras/p_estados.php&panel=listar');
  • 10. A continuación debemos crear un archivo php en el directorio views que controle la presentación. Este archivo, que es al que hace referencia la URL del mappings.php, contiene las asignaciones de los datos a la tpl. Si se trata de un comportamiento genérico, instanciando las clases IgepPantalla e IgepPanel con los argumentos pertinentes, se realizan las asignaciones a los valores comunes de las tpls quedando para el programador las asignaciones propias de la pantalla. Concretamente tendra que activar los modos de cada uno de los paneles de la ventana (método activarModo). A continuación mostramos un fichero de ejemplo de una ventana con un panel de dos modos:<?php global $g_aplicacion; //Creamos una pantalla $comportamientoVentana= new IgepPantalla(); //Creamos un panel $panel1 = new IgepPanel('TinvEstados',"smty_datosTabla"); //Activamos las pestañas que necesitamos $panel1->activarModo("fil","estado_fil"); $panel1->activarModo("lis","estado_lis"); //Agregamos el panel a la ventana $comportamientoVentana->agregarPanel($panel1); //Realizamos el display $s->display('tablasMaestras/p_estados.tpl'); ?>
  • 11. Creamos la tpl de la pantalla en el directorio plantillas de la aplicación. En ella creamos los componentes necesarios con los nombres correspondientes. En cada uno de los paneles modificamos el nombre de las acciones haciendolos corresponder con los que hemos creado en el mappings.En estos ficheros hay que tener las siguientes precauciones: Los identificadores de campos pueden estar en cualquier combinación de mayúsculas y minúsculas, aunque no debe haber dos donde sólo cambie esto (es decir, case-insensitive). Hay que evitar poner atributos o tags innecesarios, ya que eso se traduce en una página HTML de mayor peso. Por ejemplo, si una columna es oculta, no tiene sentido indicar su tamaño, obligatoriedad, ... Los carácteres especiales como acentos o eñes conviene ponerlos usando entidades html, para que no hay problemas con la codificación. No conviene usar el carácter '_' en las tpls. Mejor darle otro nombre mediante alias en la select. Cuando en la tpl exista una ficha ({CWFicha}) habrá que distribuir los campos dentro de ella. En principio si son pocos campos con un simple salto de línea (<br>) se podrían dibujar, pero cuando se complica más se creará una tabla con los parámetros que se indican en el ejemplo, y luego distribuir los campos en celdas. <table class="formularios" width="100%" cellspacing="2" cellpadding="2"> Delante del primer campo de la celda no debemos poner ningún espacio en blanco ( )<tr>     <td>          {CWCampoTexto ...     </td> </tr> Solamente se pondrá en el caso de que se sitúen dos campos en una misma celda; así dejaríamos un espacio entre ellos. Ejemplo:<tr>     <td> {CWCampoTexto ...} {CWCampoTexto ...}     </td> </tr>
  • 12. Ejemplo completo de una plantilla, hay que destacar que es importante no repetir identificadores de elementos de pantalla (nombres de los campos) dentro de una misma TPL, como vemos en el ejemplo, los conceptos estado y descripción estado corresponden a los campos filCodigoEstado y filDescEstado{CWVentanatipoAviso=$smty_tipoAvisocodAviso=$smty_codErrordescBreve = $smty_descBrevetextoAviso=$smty_textoAviso} {CWBarra usuario=$smty_usuariocodigo=$smty_codigo} {CWMenuLayername="$smty_nombre" cadenaMenu="$smty_cadenaMenu"} {/CWBarra} {CWMarcoPanelconPestanyas="true"} <!--*********** MODO fil ******************--> {CWPanel id="fil" action="buscar" method="post" estado="$estado_fil" claseManejadora="TinvEstados"} {CWBarraSupPanel titulo="Estados de los bienes"} {CWBotonTooltip imagen="04" titulo="Limpiar campos" funcion="limpiar" actuaSobre="ficha"} {/CWBarraSupPanel} {CWContenedor} {CWFicha} <br>   {CWCampoTexto nombre="filCodigoEstado" size="3" editable="true" textoAsociado="Código" dataType=$dataType_TinvEstados.filCodigoEstado} <br><br>   {CWCampoTexto nombre="filDescEstado" size="10" editable="true" textoAsociado="Descripción" dataType=$dataType_TinvEstados.filCodigoEstado} <br><br> {/CWFicha} {/CWContenedor} {CWBarraInfPanel} {CWBoton imagen="50" texto="Buscar" class="boton" accion="buscar" } {/CWBarraInfPanel} {/CWPanel} <!-- ****************** MODO lis ***********************--> {CWPanel id="lis" tipoComprobacion="envio" action="operarBD" method="post" estado="$estado_lis" claseManejadora="TinvEstados"} {CWBarraSupPanel titulo="Estados de los bienes"} {CWBotonTooltip imagen="01" titulo="Insertar registros" funcion="insertar" actuaSobre="tabla"} {CWBotonTooltip imagen="02" titulo="Modificar registros" funcion="modificar" actuaSobre="tabla"} {CWBotonTooltip imagen="03" titulo="Eliminar registros" funcion="eliminar" actuaSobre="tabla"} {/CWBarraSupPanel} {CWContenedor} {CWTablaconCheck="true" conCheckTodos="true" id="Tabla1" numPagInsertar="1" numFilasPantalla="10" datos=$smty_datosTabla} {CWFilatipoListado="false"} {CWCampoTexto nombre="codigoEstado" textoAsociado="Cód. Estado." longitudMaxima="2" editable="nuevo" size="2" obligatorio="true"} {CWCampoTexto nombre="descEstado" textoAsociado="Desc. Estado." longitudMaxima="8" editable="true" size="12"} {/CWFila} {CWPaginadorenlacesVisibles="3"} {/CWTabla} {/CWContenedor} {CWBarraInfPanel} {CWBoton imagen="41" texto="Guardar" class="boton" accion="submit"} {CWBoton imagen="42" texto="Cancelar" class="boton" accion="cancelar" action="cancelarTodo"} {/CWBarraInfPanel} {/CWPanel} <!-- ****************** PESTAÑAS ************************--> {CWContenedorPestanyas} {CWPestanya tipo="fil" estado=$estado_fil} {CWPestanya tipo="lis" estado=$estado_lis} {/CWContenedorPestanyas} {/CWMarcoPanel} {/CWVentana}
  • 13. permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos. si existen dos o más archivos con la misma información, los cambios que se hagan a éstos deberán hacerse a todas las copias del archivo de facturas. Permite compartir información. Permite mantener la integridad en la información