Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Plantilla CRUD Master/Detail Ingreso y edición del registro maestro y N registros detalle Última actualización: 2010-08-19
Contenido
Sumario ........................... ........................................ ........................ ......................... ........................... .......................... ........................ ......................... ...................... ........ 2 Requerimientos ......................... ..................................... ......................... .......................... ........................... ......................... ........................ .......................... ............. 3 Cómo instalar y correr la demo CRUDMasterDetail ........................ ..................................... .......................... ........................ ................ ..... 3 Estructura del modulo ......................... ..................................... ......................... .......................... .......................... ......................... ......................... ................. .... 5 Clases utilizadas por cada Action ......................... ...................................... .......................... ........................... ......................... ...................... ........... 6 Cómo funciona .......................... ...................................... ......................... .......................... ........................... ......................... ........................ .......................... .............7 Mecanismo para generar el recordset del detalle ........................ ..................................... .......................... ........................ ................ ..... 8 Mecanismo para insertar registro maestro y N detalles .............. ............................ ........................... ........................ ................ ..... 8 Cómo utilizar el plugin AmaterasERD para crear un modulo CRUD Master/Detail Mast er/Detail ........................ ........................ 9
Plantilla CRUD MasterDetail
Página 1 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Sumario Este documento explica como reutilizar el módulo CRUD Master/Detail, que sirve para registrar y editar un registro maestro y N registros detalles. Es 100% declarativa, no requiere código Java.
Plantilla CRUD MasterDetail
Página 2 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Requerimientos Requiere framework v2.2.5 en adelante. Debe tener creada y corriendo una webapp que utilice la BD "demodb" de Dinámica.
Cómo instalar y correr la demo CRUDMasterDetail Dentro de su proyecto, navegar a la carpeta "action" dentro de la carpeta "WEB-INF":
Seleccionar esta carpeta y ejecutar el comando "New":
Seleccionar la opción "Reutilizar plantilla" dentro de la categoría "Framework Dinámica":
Es muy importante que cuando vaya a usar esta opción haya seleccionado la carpeta "action" o una subcarpeta dentro de "action". Los módulos de Dinámica solo pueden existir a partir de la carpeta "action".
Plantilla CRUD MasterDetail
Página 3 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Proceda a indicar un nombre para el módulo, una descripción, y seleccione la plantilla "crud-md" que sirve para hacer reportes estadísticos con gráficos.
Haga clic en el botón "Finish" para crear el módulo. Su proyecto se actualizará con la estructura de carpetas que aparece a la derecha. Cada carpeta es un Action, la unidad modular en el modelo de programación declarativa de Dinámica. Para probar el módulo puede navegar con el browser con una ruta como: http://localhost/demo/action/crud-md/form, pero el Plugin de Dinámica provee un mecanismo más fácil. Seleccione la carpeta raíz de su módulo (crud-md), haga clic en el botón derecho y seleccione el comando "Navegar".
Para usar este comando es indispensable que el módulo contenga un Action llamado "form".
Plantilla CRUD MasterDetail
Página 4 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Estructura del modulo Action /addnew /delete /detail/delete /detail/edit
Descripción Limpiar de la session el recordset de detalle Eliminar registro Eliminar un registro de recordset en sesion Leer registro de recordset en sesion y retornar javascript que llena un formulario con los datos del registro /detail/insert Añadir registro en recordset en sesion /detail/update Actualziar registro en recordset en sesion /detail/view Ver resultado de consulta del detalle /edit Leer registro y retornar javascript que llena un formulario con los datos del registro /excel Exportar documento excel directo al browser /form CRUD Master/Detail form /insert Inserta un registro y los registros detalles del mismo /notfound Mensaje que aparece cuando no encuentra data /pdf Generar reporte generico PDF /picklist/ciudad/form Ciudades /picklist/ciudad/notfound Mensaje que aparece cuando no encuentra data /picklist/ciudad/search Ejecutar consulta y enrutar dependiendo del resultado /picklist/ciudad/view Ver resultado de la consulta en grid paginado /search Ejecutar consulta y enrutar dependiendo de que un recordset tenga o no registros /update Actualiza un registro y los registros detalles del mismo /view Ver resultado de consulta paginado
Plantilla CRUD MasterDetail
Página 5 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Clases utilizadas por cada Action Action
Clase Transaction
/addnew
/delete
dinamica.GenericTransaction
dinamica.GenericOutput
dinamica.GenericTableManager
dinamica.GenericOutput
dinamica.CachedTable -Ninguna-
/detail/delete
/detail/edit
Clase Output
dinamica.CachedTable
dinamica.GenericOutput
/detail/insert
dinamica.CachedTable -Ninguna-
/detail/update
dinamica.CachedTable -Ninguna-
/detail/view
/edit
/excel
dinamica.GenericTransaction dinamica.GenericTransaction
/form
dinamica.GenericTransaction
dinamica.GenericTransaction
/insert
dinamica.GenericTableManager -Ninguna-
/notfound
/pdf
/picklist/ciudad/form
/picklist/ciudad/search
/picklist/ciudad/view
/search
/update
/view
Plantilla CRUD MasterDetail
dinamica.GenericOutput dinamica.GenericExcelOutput dinamica.GenericOutput dinamica.GenericOutput
dinamica.GenericOutput
dinamica.GenericTransaction
/picklist/ciudad/notfound
dinamica.GenericOutput
dinamica.GenericTransaction -Ninguna-
dinamica.PDFSimpleTable dinamica.GenericOutput
dinamica.GenericOutput
dinamica.GenericTransaction dinamica.GenericTransaction
-Ninguna-
dinamica.GenericOutput
-Ningunadinamica.GenericTransaction
dinamica.GenericTableManager dinamica.GenericTransaction
dinamica.GenericOutput dinamica.GenericOutput
Página 6 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Cómo funciona I
Retorna página HTML con el formulario de registro.
Action "form"
Action "Detail/edit"
Action "edit"
Retorna JavaScript para completar los datos del formulario.
Ejecuta en el onLoad llamada AJAX
Action "Detail/insert"
Action "Detail/update"
Action "Detail/view"
Action "delete" Action "search"
Elimina registro.
Motor de búsqueda que ejecuta un query y realiza un forward según retorne registros o no. El recordset resultante es almacenado en sesión
Action "Detail/delete"
Action "update Actualiza registro.
Action "insert" Inserta registro.
si Hay data?
Action "view"
Retorna un fragmento HTML con la tabla páginada.
no Action "notfound"
Plantilla CRUD MasterDetail
Página 7 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Mecanismo para generar el recordset del detalle El action “detail” contiene un conjunto de actions que se encargan de añadir,actualizar o eliminar un registro en un recordset detalle que se encuentra en sesión. Usando una clase genérica del Framework que proporciona estas funcionalidades, esto quiere decir que es 100% declarativa.
insert detail.sql dinamica.CachedTable true false false
Mecanismo para insertar registro maestro y N detalles Al recuperar el recordset del detalle que se encuentra en la sesión es posible inyectarlo como parámetros en la plantilla de query detalle. Previamente ya fue ejecutado el query maestro para así poder recuperar de la transacción la secuencia generada y usarla para unir el registro maestro con el del detalle.
dinamica.GenericTableManager true true false insert.sql insert-detail.sql
Plantilla CRUD MasterDetail
Página 8 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Cómo utilizar el plugin AmaterasERD para crear un modulo CRUD Master/Detail 1.- Asumiendo que ya tiene un modelo ERD en Amateras, creado o importado desde una base de datos, procedemos a seleccionar las tablas con la que deseamos crear el modulo de tipo CRUD Master/Detail y hacemos clic derecho sobre una de ellas, es recomendable que tenga correctamente comentado cada campo de la tabla, para ahorrar trabajo.
2- Especificar la ruta y nombre de action para su modulo, es probable que deba crear una carpeta con el nombre de su modulo.
Plantilla CRUD MasterDetail
Página 9 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
3- Especificar si el modulo tendrá modalidad de edición de registros.
4.- Editar los nombres de las etiquetas de cada pestaña y sumario si lo requiere, recuerde que estos nombres serán reflejados en su modulo una vez que este creado. Cada detalle está separado por pestañas en el generador.
Plantilla CRUD MasterDetail
Página 10 de 11
Dinámica
Producido por:
Framework para desarrollo fácil TM de aplicaciones web con Java y Ajax. En producción desde el año 2004.
Martín Córdova y Asociados C.A. www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
5.- Una vez culminados los pasos anteriores puede hacer clic en el botón “OK” y verificar que su módulo ha sido creado.
Plantilla CRUD MasterDetail
Página 11 de 11