relatórios com rave reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · para...

20
Relatórios com Rave Reports Relatório Simples Relatório com quebra de grupo Totalizações Neste tutorial, você aprenderá:

Upload: lecong

Post on 18-Jan-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Relatório Simples

Relatório com quebra de grupo

Totalizações

Neste tutorial, você aprenderá:

Page 2: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Preparando a Aplicação

Tomando como base a nossa aplicação final, vamos selecionar o Data Module dmEmp

e colocar nele 3 componentes da palheta Rave:

RvProject: Responsável pela ligação entre o projeto Delphi e o projeto de

relatórios Rave.

RvDataSetConnection: Exporta um DataSet do projeto Delphi para o projeto

Rave.

RvSystem:Responsável pelo envio do relatório para a impressora ou para a tela

de Preview.

Configuração dos componentes Rave na aplicação Delphi

RvDataSetConnection Name: rvdsEmp

DataSet: tbEmp

RvSystem Name: rvsysEmp

TitlePreview: Previsão do Relatório

TitleSetup: Opções de Impressão

TitleStatus: Status de Impressão

RvProject Name: rvprjEmp

Engine: rvsysEmp

Agora execute um duplo clique sobre o componente RvProject para abrir o

Rave Visual Designer.

Page 3: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Rave Visual Designer

Configurações Gerais

File - New

File Save: Empregados.rav

Painel da Árvore de objetos

Painel de Propriedades

Explicação sobre a propr. atual

A Página

Palhetas de componentes Barra de

ferramentas

Page 4: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Na Árvore de Objetos, selecione RaveProject e, no Painel de Propriedades, altere a

propriedade Units para unMM (milímetros)

Na Árvore de Objetos, selecione Report Library, e dentro dele selecione Report1. No Painel

de Propriedades, altere as propriedades:

FullName: Relatório Geral de Empregados

Name: rptEmpGeral

Ainda na Árvore de Objetos, selecione Page1 e no Painel de Propriedades, configure as

seguintes propriedades.

Page 5: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Acesso aos Dados

Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para

isso você seleciona File - New Data Object, ou então clica no botão correspondente da barra

de ferramentas - . Aparecerá a tela:

Selecione Direct Data View. Isto nos dará acesso

aos DataSets criados dentro do nosso projeto

Delphi. Depois clique Next.

Aparecerão todos os componentes

RvDataSetConnection que colocamos no projeto

Delphi, no nosso caso, apenas 1. Selecione-o e

clique Finish.

Page 6: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Na Árvore de Objetos, veremos todos os campos

de tbEmp. Selecione DataView1 e altere as

propriedades mostradas acima.

Comentários:_______________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

Page 7: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Desenhando o Relatório

Nas palhetas de componentes, selecione a palheta Report e traga para a Página um

componente Region . Ele determina e delimita a área de impressão da página.

Redimensione o componente Region de modo que ocupe quase toda a área da folha. Deixe

uma área livre no final da página, lá criaremos nosso rodapé de página.

Nas palhetas de componentes, selecione a palheta Report e traga para Region1 um objeto

Band - - e um objeto DataBand - . Eles serão usados para criarmos as áreas de

impressão do relatório.

rodapé de página

componente Region redimensionado

Page 8: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Eles aparecerão no topo de Region1.

Com o objeto Band1 selecionado, altere as seguintes propriedades:

BandStyle:

ControllerBand: DataBand1

Name: PageHeader

Selecione:

Body Header (Cabeçalho)

First (Primeira página)

New Page (Nova página)

Page 9: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Selecione o objeto Band2 e altere as propriedades:

DataView: dvEmp

Name: Detalhe

Os ícones à esquerda de cada banda mudarão, como mostra a figura.

Traga um componente BitMap da palheta Standard

e coloque sobre a banda de cabeçalho.

Altere a sua propriedade Image, selecionando uma figura do disco. Altere também a

propriedade MatchSide para msBoth, isto fará a figura ocupar toda a área do

componente.

Page 10: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Para colocar os títulos no cabeçalho de página, utilize o componente Text - -da palheta

Standard. Altere as propriedades:

Text: RELATÓRIO GERAL DE FUNCIONÁRIOS

FontJustify: pjCenter

Font: Aumente o tamanho da fonte, o seu nome e estilo de acordo com a sua

preferência.

Aumente a largura e a posição do componente Text para que fique centralizado

horizontalmente.

Coloque um subtítulo com o nome da sua empresa.

Para exibir a data de impressão do relatório, traga para o cabeçalho um componente

DataText da palheta Report. Na sua propriedade DataField, clique nos pontinhos...

Em Report Variables, selecione DateShort

Page 11: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Clique no botão Insert Report Var e a variável selecionada será inserida no quadro

Data Text.

Depois escreva em Data Text, um título para a variável que foi inserida.

Para colocarmos uma linha separando o cabeçalho do restante da página, selecione a

palheta Drawing e traga um componente HLine - . Utilize as propriedades

LineWidth, Color etc.. para configurá-la como desejado.

Page 12: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Agora vamos montar a banda de detalhe. Este relatório será um relatório no formato de

ficha, semelhante a um crachá. Por isso não teremos cabeçalho de colunas.

Traga para a banda de detalhe, um componente BitMap da palheta Standard. Altere seu

tamanho e posição como mostra a figura.

Altere as propriedades:

DataView: dvEmp

DataField: FOTO

Vamos agora montar os títulos dos campos que aparecerão na banda de detalhe. Para isso,

traga 6 componentes Text da palheta Standard e configure-os como mostra a figura.

Com a tecla CONTROL pressionada, arraste cada

campo da Árvore de Objetos, para a posição

correspondente na banda de detalhe.

Aparecerá um componente DataText, devidamente

configurado para exibir o campo.

Page 13: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Pressione a tecla F9 para ver como está o resultado do relatório.

Page 14: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Para colocar uma numeração de página no final de cada página, coloque um componente

DataText (Report) no final da página e fora de Region1. Na sua propriedade DataField

coloque:

'Página ' + Report.CurrentPage + '/' + Report.TotalPages

Page 15: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Relatório com Quebra de Grupo

No mesmo projeto de relatório (Empregados.rav) criaremos um segundo relatório. Selecione

File - New Report.

Na árvore de objetos (à direita), selecione o novo relatório (Report1) e altere as

propriedades:

FullName: Empregados Por Departamento

Name: frmEmpDepto

Verifique também as medidas da folha em Page1.

Traga para a página, um componente Region (Pág. Report). e traga para dentro dele:

2 componentes Band (Report)

1 componente DataBand (Report)

2 componentes Band (Report)

Page 16: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Altere as suas propriedades Name (de cima para baixo) para:

PageHeader Cabeçalho de página

GroupHeader Cabeçalho de grupo

Detail Detalhe

GroupFooter Rodapé de grupo

ReportFooter Rodapé de relatório

Para cada banda, altere as seguintes propriedades:

PageHeader: BandStyle - Selecione Body Header e First

ControllerBand - Detail

GroupHeader: BandStyle - Selecione Group Header e First

ControllerBand - Detail

GroupDataView - dvEmpregados

GroupKey - COD_DEPTO

StartNewPage - True

Detail: DataView - dvEmp

GroupFooter: BandStyle - Group Footer e First

ControllerBand - Detail

GroupDataView - dvEmpregados

GroupKey - COD_DEPTO

ReportFooter: BandStyle - Body Footer

ControllerBand: Detail

Page 17: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Monte a banda PageHeader de forma semelhante ao que foi feito no relatório geral. Altere

apenas o título principal.

A banda GroupHeader terá a seguinte aparência:

Para a banda de detalhe, segure a tecla CONTROL e arraste os campos desejados para

dentro da banda. Utiliza a propriedade FontJustify para alinhar os campos CODFUN e

SALARIO à direita.

Para as bandas GroupFooter e ReportFooter, utilize o componente CalcText - - da

palheta Report para efetuar os cálculos de totalização.

Altere as propriedades: CalcType: ctSum

ControllerBand: Detail

DataView: dvEmp

DataField: SALARIO

DisplayFormat: #,##0.00

FontJustify: pjRight

Text (Standard) DataText (Report) HLine (Drawing)

Text (Standard)

Page 18: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

A aparência final do relatório ficará como mostra a figura: Primeira página:

Última página:

Page 19: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Imprimindo o Relatório no Delphi

Retorne ao Delphi e selecione o Data Module dmEmp. Selecione o componente RvProject

(rvprjEmp), e na sua propriedade ProjectFile, selecione o arquivo Empregados.rav que

acabamos de gerar no Rave Visual Designer.

Em seguida, vamos pedir para armazenar o arquivo RAV dentro do projeto Delphi, desta

forma, não precisaremos instalar o arquivo RAV na máquina do usuário. Selecione a

propriedade StoreRAV e clique no botão Load para que ele leia o arquivo.

Obs.: Se houver qualquer alteração posterior do arquivo RAV, este processo deverá

ser repetido.

Page 20: Relatórios com Rave Reportslarback.com.br/adm/anexos/05102011185144.apostila_rave.pdf · Para termos acesso aos dados que iremos imprimir, precisamos criar um Data Object. Para isso

Relatórios com Rave Reports

Vamos agora crias as procedures para os Actions actRelGeral e actRelDepto:

procedure TfrmEmp.actRelGeralExecute(Sender: TObject);

begin

dmEmp.rvprjEmp.ExecuteReport('rptEmpGeral');

end;

procedure TfrmEmp.actRelDepExecute(Sender: TObject);

var sIndice: string;

begin

sIndice := dmEmp.tbEmp.IndexFieldNames;

dmEmp.tbEmp.IndexFieldNames:='COD_DEPTO';

//------------------------------------

dmEmp.rvprjEmp.ExecuteReport('rptEmpDepto');

//------------------------------------

dmEmp.tbEmp.IndexFieldNames := sIndice

end;