lunes, 11 de noviembre de 2013

Smartform a 3 Niveles - parte 2

Bueno, con la parte de la obtensión de los datos cubierta, ahora entramos de lleno a la estructura del smartform en si.

NOTA: Quiero resaltar que para este taller se toma en cuenta los conocimientos básicos en cuanto a esta herramienta (el smartform), y que para una completa ejecución, se recomienda que se cree un programa con el cual pueda hacer la llamada al smartform dentro de un bucle que recorra una tabla interna de campeonatos. Revisar el Taller: Impresión de varios Smartforms en un SPOOL.

También por aquí podemos ir a la primera parte.

Pues bien veamos de manera general con qué y cómo está formado nuestro ejemplo:




Como ya sabemos, la parte de parametrizaciones globales no lo tocamos porque ya lo hicimos (Definiciones globales, el resto no se tocó).

PÁGINAS Y VENTANAS:
En definición podemos decir que uno puede crear dentro de un smartform cuantos formatos de páginas se necesite, en este ejemplo solo estamos necesitando un solo formato con el cual vamos a mostrar toda la información de los distintos campeonatos que se ingresen.

Página PG_PRINCIPAL:
Esta página consta de 2 ventanas:
Se toma en cuenta que esta pagina es de tamaño A4 (DINA4)  de modo apaisado (horizontal). Esto se define en la misma carpeta (dando doble click), pestaña opciones de salida, seleccionando el radiobutton de Formato apaisado. Más de esto no he configurado para la página.


Las dimenciones de una página A4:
Apaisado
29.70 CM de Ancho.
21.00 CM de Largo.

El margen general que se desea es:
Superior e Inferior:    1.00 CM
Izquierdo y Derecho: 1.35 CM

Ahora las dimensiones de las ventanas:
CABECERA: 27.00 CM Ancho;   9.00 CM Largo.
MAIN:           27.00 CM Ancho; 11.50 CM Largo.

Cabe resaltar que estamos utilizando una imagen a manera de logo para el ejemplo, que tiene como dimensiones:
LOGO
Nombre CP22A 
Objeto   GRAPHICS
Id           BMAP
Trama     BCOL
Resol      100 DPI
2.13 CM Ancho.
1.52 CM Largo.
Este logo respeta las margenes establecidas.


Como ya hemos establecido de manera general las dimenciones del documento, veamos el contenido de las ventanas, dejando de lado un poco las medidas internas ya que al final podrán descargar el ejemplo el cual van a poder instalarlo a manera de prueba en cualquier servidor que necesiten.


Ventana CABECERA:
Esta ventana es una ventana Auxiliar, dicho sea de paso es una ventana estática que facilita mostrar datos tipo cabecera o pie de página o cualquier dato que se necesite repetir en caso de que la ventana MAIN llene toda su longitud (en el largo) y genere una nueva página.

Al contenido de esta ventana se le ha puesto dentro de una carpeta llamada CAMPEONATOS, el cual sirve sólo a manera de orden y descripción.

Dentro de la carpeta, vamos a observar 3 máscaras de edición:
La primera que va a ser la encargada de mostrar los datos principales de los campeonatos, la segunda que va a generar las líneas de espacio que va a existir entren la cabecera y el detalle, y la tercera que va a ser el rótulo de los detalles. En este caso, la cabecera son los datos del campeonato, el espacio son 2 líneas de separación y el rótulo es la cabecera de la tabla para los equipos.


  

CAB_CAMP:


Para este caso ya que la distribución de la grilla en la cual vamos a presentar la cabecera tiene columnas iguales para todas sus filas, entonces creamos una linea dibujandole las columnas en la máscara de edición para que dentro de detalles, en los campos: "De" y "A" coloquemos cuantas líneas se van a replicar (en el ejemplo 4 líneas). También para los casos donde las líneas tienen columnas diferentes aun de diferentes tamaños, lo recomendable es crear cada línea según la necesidad.

Se ha agrupado por carpetas las columnas que van a contener los textos (tanto los estáticos como los dinámicos). Se hace mención que la primera columna de la máscara no se usa y esta vacía para que haya espacio para la imágen

Creo que vale mencionar también que la manera de colocar los textos en determinadas celdas se realiza de la siguiente manera:


Ya que nuestra línea de cabecera tiene 4 líneas replicadas con sus respectivas columnas, en el texto tenemos que indicar la coordenada de la celda a la que va a ir a parar el texto; en este caso este texto va a ir en la columna 2 de la primera línea (la que se encuentra arriba).

De esta manera para todos los textos, se irán indicando sus respectivas posiciones en la máscara de edición que corresponde a la cabecera.



ESPACIO1:
Esta máscara de edición funciona como líneas vacías para dar espacio entre los elementos que queremos mostrar en la página. Tiene 4 líneas y en una de ellas se encuentra un párrafo.




TABLA_CAB_DET1:
Esta máscara es la encargada de ser la cabecera de nuestra tabla de detalle (donde se han de mostrar los equipos), se coloca en la ventana CABECERA ya que la idea del reporte es que cada pagina que se genere, se haga por que el equipo en su respectiva página llenó su sub-detalle (que viene a ser su plantel). Se toma en cuenta que lo que se va a repetir en todo caso seria el campeonato.


Para terminar esta parte vale decir que las dimenciones necesarias para estas últimas máscaras pueden ser referenciadas en base a la primera (CAB_CAMP) ya que se busca en el ejemplo que entre mácaras pueda existir una simetría, por lo menos en el ancho.

Vamos a la tercera parte.

No hay comentarios:

Publicar un comentario