PDF de programación - framework Dinámica - Cómo crear reportes ParentChild de N niveles

Imágen de pdf framework Dinámica - Cómo crear reportes ParentChild de N niveles

framework Dinámica - Cómo crear reportes ParentChild de N nivelesgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Noviembre del 2017)
975 visualizaciones desde el 23 de Noviembre del 2017
310,1 KB
12 paginas
Creado hace 13a (19/08/2010)
Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

Martín Córdova y Asociados C.A.
www.martincordova.com - [email protected]
RIF J-31134803-4 - Caracas/Venezuela

Cómo crear reportes ParentChild de N niveles
Última actualización: 2010-08-19







Contenido

Sumario ............................................................................................................................ 2
Requerimientos .................................................................................................................. 3
Cómo instalar y correr la demo ParentChild ........................................................................... 3
Estructura del módulo ......................................................................................................... 5
Clase utilizadas por cada Action ......................................................................................... 6
Cómo funciona ................................................................................................................... 7
Cómo reutilizar el módulo ParentChild ................................................................................... 8



Cómo crear reportes ParentChild de N niveles

Página 1 de 12



Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

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 de reporte de N niveles de agrupamiento que
incluye el framework Dinámica, partiendo de la demo prefabricada "ParentChild" que es 100%
declarativa y no requiere clases a la medida, y cuya salida HTML se muestra a continuación:






Cómo crear reportes ParentChild de N niveles

Página 2 de 12



Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

Martín Córdova y Asociados C.A.
www.martincordova.com - [email protected]
RIF J-31134803-4 - Caracas/Venezuela

Requerimientos

Requiere framework v2.2.2 en adelante. Debe tener creada y corriendo una webapp que utilice la
BD "demodb" de Dinámica.


Cómo instalar y correr la demo ParentChild

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":






Cómo crear reportes ParentChild de N niveles

Página 3 de 12



Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

Martín Córdova y Asociados C.A.
www.martincordova.com - [email protected]
RIF J-31134803-4 - Caracas/Venezuela

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".

Proceda a indicar un nombre para el módulo, una descripción, y seleccione la plantilla
"parentchild" 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/pchild/form, pero el Plugin de Dinámica provee
un mecanismo más fácil. Seleccione la carpeta raíz de su módulo (pchild), 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".




Cómo crear reportes ParentChild de N niveles

Página 4 de 12



Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

Martín Córdova y Asociados C.A.
www.martincordova.com - [email protected]
RIF J-31134803-4 - Caracas/Venezuela

Estructura del módulo

Action

/pchild/form

/pchild/notfound

/pchild/pdf

/pchild/picklist-multi/form

Descripción

Plantilla ParentChild - action de inicio
que sirve la página principal
Mensaje que aparece cuando no
encuentra data
Generar reporte PDF mostrando los N
niveles de agrupamiento
Picklist de tipo múltiple – action de
inicio

/pchild/picklist-multi/notfound Mensaje que aparece cuando no

encuentra data

/pchild/picklist-multi/search Ejecutar consulta y enrutar

/pchild/picklist-multi/view
/pchild/search

/pchild/view

dependiendo de que un recordset
tenga o no registros
Retorna el resultado de la consulta
Ejecutar consulta y enrutar
dependiendo de que un recordset
tenga o no registros
Retorna el resultado de la consulta con
los N niveles de agrupamiento





Cómo crear reportes ParentChild de N niveles

Página 5 de 12



Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

Martín Córdova y Asociados C.A.
www.martincordova.com - [email protected]
RIF J-31134803-4 - Caracas/Venezuela

Clase utilizadas por cada Action


Action

Clase Transaction

Clase Output

dinamica.GenericTransaction dinamica.GenericOutput
dinamica.GenericOutput
dinamica.GenericTransaction dinamica.PDFParentChild
dinamica.GenericTransaction dinamica.GenericOutput
dinamica.GenericOutput

/action/pchild/form
/action/pchild/notfound
/action/pchild/pdf
/action/pchild/picklist-multi/form
/action/pchild/picklist-multi/notfound
/action/pchild/picklist-multi/search dinamica.GenericTransaction
/action/pchild/picklist-multi/view
/action/pchild/search
/action/pchild/view

-ninguna-

dinamica.GenericTransaction dinamica.GenericOutput
dinamica.GenericTransaction
dinamica.ParentChildReader dinamica.ParentChildOutput

-ninguna-

-ninguna-

-ninguna-



Cómo crear reportes ParentChild de N niveles

Página 6 de 12



Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

Martín Córdova y Asociados C.A.
www.martincordova.com - [email protected]
RIF J-31134803-4 - Caracas/Venezuela

Cómo funciona



I

Action "form"

Action "search"

si

¿Hay
data?

Action "view"

no

Action "notfound"

Retorna página HTML
con el filtro de
búsqueda.

Retorna un fragmento
HTML con los niveles de
agrupamiento.

Este action contiene la
lógica que crea un
recordset principal el cual
contiene recordset hijos
los cuales tienen a su vez
recordset nietos.

Luego ese recordset es
exportado como una
salida de N niveles
definida previamente en
el archivo de
configuración.

Cómo crear reportes ParentChild de N niveles

Página 7 de 12





Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.

Producido por:

Martín Córdova y Asociados C.A.
www.martincordova.com - [email protected]
RIF J-31134803-4 - Caracas/Venezuela



paramName="customerid" recordsetId="customers" separatorChar=";"
colName="customer" colType="varchar" />

Cómo reutilizar el módulo ParentChild

1.- El primer paso es cambiar el archivo query.sql en el action /picklist-multi/search para que
retorne la lista de elementos con el que desea filtrar la consulta principal. Si deja los nombres de
campos intactos usando alias, entonces tendrá que cambiar mucho menos, se recomienda esta
práctica.

2.- El segundo paso no es obligatorio para los casos cuando se desea usar el filtro de búsqueda
del action “form” igual a como lo trae la plantilla. De no ser así se debe proceder a colocar los
campos (input, picklist, combo-box, etc) con el cual desee realizar su búsqueda y tener en cuenta
que los mismos deberán ser reflejados en el archivo validator.xml del action “search”.

3.- El tercer paso es cambiar los archivos master.sql y total.sql en el action "search". El archivo
validator.xml no es necesario cambiarlo si opto por dejar iguales los nombres del formulario del
action “form” de lo contrario tendrá que especificar los nombres de los parámetros y modificar el
custom validator ya sea el caso.

<parameter id="customerid" type="varchar" required="true" label="Customer ID"/>

<custom-validator classname="dinamica.validators.StringToRecordset"



Tener en cuenta que si su caso no requiere tener sumatoria de totales puede omitir el archivo
total.sql tanto del archivo config.xml como del action “search”

<transaction>
<classname>dinamica.GenericTransaction</classname>
<validator>true</validator>
<transaction>false</transaction>
<jdbc-log>false</jdbc-log>
<recordset id="customers" source="request" scope="transaction" />
<recordset params="customers" id="master.sql" source="sql" scope="session" on-empty-
return="1"/>
<recordset params="customers" id="total.sql" source="sql" scope="session"/>
</transaction>

El query master.sql es el query principal el cual a partir de él se obtienen los N niveles de
agrupamiento, note que el mismo es grabado en sesión si trajo registro, esto con la finalidad que
sea recuperado en el siguiente action “view” el cual realiza la lógica de armar los N niveles de
agrupamiento.

Por otro parte cada query contiene un marcador nuevo “${lst:}” para tratar los casos cuando se
desea realizar una búsqueda con cláusula IN en SQL, por ese motivo también se observa que el
validator.xml tiene un custom validator el cual toma el parámetro del request que contiene una
lista de elemento separado por “;” y lo añade a un record
  • Links de descarga
http://lwp-l.com/pdf7661

Comentarios de: framework Dinámica - Cómo crear reportes ParentChild de N niveles (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad