Difference between revisions of "LazReport Tutorial/es"

From Free Pascal wiki
Jump to navigationJump to search
Line 113: Line 113:
  
 
Debes hacer click en el tipo de banda que necesitas crear. Selecciona '''Report title''' y haz click en OK.
 
Debes hacer click en el tipo de banda que necesitas crear. Selecciona '''Report title''' y haz click en OK.
 +
 +
  
 
{| BORDER="1" CELLSPACING="0" style="text-align: center;" align="center"
 
{| BORDER="1" CELLSPACING="0" style="text-align: center;" align="center"

Revision as of 12:45, 21 October 2014

Descripción

Esta página comenzó como una traducción de un escrito en Portugés Tutorial de LazReport (el cual a su vez parece una traducción de un documento en Francés). Fué actualizado para Lazreport (en vez de para FastReport) para Lazarus (en lugar de para Delphi), utilizando T*Connection en lugar de una tabla de DBase.

Comenzando con LazReport

Vamos a utilizar una base de datos de demo que provee Delphi (DBDEMOS). Necesitas crear una nueva aplicación con un formulario principal Form1.

Aquí se asume que se tiene la base de datos establecida tal como se especifica en SQLdb Tutorial0. En caso contrario, por favor realiza dicho paso primero.

Estableciendo tu formulario (form)

Sitúa los siguientes componentes en el formulario principal:

  • Un T*Connection, e.g. TIBConnection:
    • DatabaseName := tu base de datos, e.g. C:\Program Files\Firebird\Firebird_2_5\examples\empbuild\EMPLOYEE.FDB
    • Nombre de usurio(UserName), contraseña (Password), nombre de equipo (HostName): apropiadamente (e.g. SYSDBA,password,<none> para Firebird embebido)
    • Transaction: TSQLTransaction1
  • TSQLTransaction
  • TSQLQuery:
    • Active: true
    • SQL: SELECT * FROM employee
  • TDataSource
    • DataSource1.DataSet := SQLQuery1
  • TfrDBDataSet
    • frDbDataSet.DataSource := DataSource1
  • TfrReport
  • TfrDesigner
  • 2 TButton
  • Button1.Caption := 'Edición'
  • Button2.Caption := 'Vista previa'

Esto dará el resultado siguiente:


lazreptut01.png

Haz Doble-click en el icono TfrReport (or right-click, Design Report) para traer al frente el diseñador de reporter:


lazreptut01b.png


Estableciendo variables

LazReport permite enlazar nombres de variables a bases de datos o valores del sistema, evitando así a los usuarios finales tener que descifrar nombres de campo crípticos. En nuestro ejemplo vamos a crear unas variables para nuestros campos de la base de datos FIRST_NAME, LAST_NAME etc.

En el menú de ficheros, haz click en Variables list. Ahora se obtiene una descripción de las variables definidas:


lazreptutvariableseditor.png


Pulsa en el botón Variables en orden a definir algunas variables. Escribe el contenido de acuerdo a la siguiente imagen. "Demo Variables" representa una categoría y las otras entradas (campos xxx) representan variables. Para diferenciar ambas, las variables comienzan con un espacio.

lazreptutdefinevariables.png


Finalmente haz click en OK para confirmar tus entradas, y entonces verás esto:


lazreptutvariablesdefined.png


Como puedes ver, la categoría que hemos definido se muestra en el ComboBox above de las variables. Cada variable debe enlazarse con su campo correspondiente. Para hacer esto, selecciona la variable y a continuación el campo. Realizar esto para todas las variables; el pantallazo muestra el enlace para Hire date:


lazreptutvarhiredatetofield.png

Estableciendo variables

LazReport permite enlazar nombres de variables a bases de datos o valores del sistema, evitando así a los usuarios finales tener que descifrar nombres de campo crípticos. En nuestro ejemplo vamos a crear unas variables para nuestros campos de la base de datos FIRST_NAME, LAST_NAME etc.

En el menú de ficheros, haz click en Variables list. Ahora se obtiene una descripción de las variables definidas:


lazreptutvariableseditor.png

Pulsa en el botón Variables en orden a definir algunas variables. Escribe el contenido de acuerdo a la siguiente imagen. "Demo Variables" representa una categoría y las otras entradas (campos xxx) representan variables. Para diferenciar ambas, las variables comienzan con un espacio.

lazreptutdefinevariables.png


Finalmente haz click en OK para confirmar tus entradas, y entonces verás esto:


lazreptutvariablesdefined.png

Como puedes ver, la categoría que hemos definido se muestra en el ComboBox above de las variables. Cada variable debe enlazarse con su campo correspondiente. Para hacer esto, selecciona la variable y a continuación el campo. Realizar esto para todas las variables; el pantallazo muestra el enlace para Hire date:


lazreptutvarhiredatetofield.png

Objetos y bandas

Después de cerrar el editor de variables volvemos a nuestro diseñador de reporters. Habrás notado que aparece un pequeño número de objetos en la barra de la izquierda de la superficie de reporter. Estos son:

  • El icono del puntero del ratón.
  • El objeto rectángulo.
  • Banda.
  • Objeto picture.
  • Subreport
  • Dibujar líneas.
  • Insertar objeto de código de barras (barcode).


lazreptut01b.png


Haz Click en el icono de banda, ve a la superficie del report y haz click en el para depositar el objeto banda.

lazreptutinsertnewband.png

Debes hacer click en el tipo de banda que necesitas crear. Selecciona Report title y haz click en OK.


Tipo de banda Uso
Report title Muestra solamente la primera página
Report summary Mustra solamente la última página
Page header Muestra al comienzo de cada página
Page footer Muestra al final de cada página
Master header Shown at the beginning of the first detail band/level
Master data First detail level data; repeated for each record in dataset
Master footer Shown at the end of the first detail band/level
Detail header Shown at the beginning of the second detail band/level
Detail data Second detail level data
Detail footer Shown at the end of the second detail band/level
Subdetail header Shown at the beginning of the third detail band/level
Subdetail data Third detail level data
Subdetail footer Shown at the end of the third detail band/level
Overlay Shown once on each page lower layer
Column header Muestra al principio de cada columna
Column footer Muestra al fondo de cada columna
Group header Shown at the top of every group
Group footer Muestra al fondo de cada grupo
Cross header Shown at the top of cross tables/pivot tables
Cross data Shows cross tables/pivot table data
Cross footer Shown at the bottom of cross tables/pivot tables

Titulo del reporter

En la banda del editor de reportes, añade un rectángulo. Aparecerá el editor de texto. En la primera línea se debe indicar el título del reporte, añade un rectángulo.

En la segunda se necesita añadir la fecha y la hora. Ambas se obtienen haciendo click en Variable y a continuación en Category Other, seguido de un doble click en la variable deseada (una vez que te has familiarizado con las variables puedes también teclearlas). Ahora tenemos:


lazreptutreporttitle.png


Haz Click en OK para salir del editor y a continuación ajusta el rectángulo del título al tamaño deseado. Escoge un color para el fondo con el pulsadorC Bucket Fill de la barra de utilidades.

El evento principal: mostrando datos en la banda de datos maestra

Vamos a insertar una banda de datos maestra. Lazreport pregunta por una fuente de datos; escoge frDBDataSet1, para nuestro ejemplo. La banda maestra se repetirá para cada registro de la fuente de datos. Puedes hacer doble click posteriormente en la banda si se necesita cambiar dicha fuente de datos.


lazreptutbanddatasource.png


En la mitad izquierda de la banda insertamos un rectángulo y hacemos un doble click. Aparece el editor de texto que ya nos resulta familiar.

Ahora vamos a añadir varios campos en un rectángulo. En caso necesario se puede utilizar un rectángulo por campo para aplicar diferentes formatos etc.


La primera línea Name [Full name field] se obtiene escribiendo Name y a continuación, con el pulsador Variable, entrar la variable [Field Name]. Alternativamente, tal como se indicó antes, se puede escribir directamente el texto resultante.

La siguiente línea Salary [Salary field] se escribe de manera similar.

La tercera línea - Salary divided by job grade [[Salary field]/[Job grade field]] - se realiza de igual modo. Esto muestra que se pueden realizar cálculos con los campos que tenemos en la fuente de datos. Fíjate en el conjunto extra de corchetes alrrededor del cálculo. Como puedes intuir, no solamente se pueden utilizar las variables listadas a través del pulsador Variable , sino también las de los campos de la base de datos a través de DB Field.


lazreptutmasterdata.png

Puedes utilizar todo tipo de operadores y funciones en los cálculos; ver LazReport Documentation#Documentation para una descripción.