aprendendo rave

39
www.fiti.com.br Delphi Standard Delphi Standard Primeira Edição [Mês] [Ano] Impacta Tecnologia Ltda Av. Paulista, 1106 – 7º Andar Cerqueira César - Cep 01310-100 - São Paulo – SP

Upload: fabio160779

Post on 12-Jun-2015

2.883 views

Category:

Documents


2 download

DESCRIPTION

Primeiros passo com Rave Reports

TRANSCRIPT

Page 1: Aprendendo Rave

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Delphi Standard

Delphi Standard

Primeira Edição

[ M ê s ] [ A n o ]

Impacta Tecnologia Ltda

Av. Paulista, 1106 – 7º Andar

Cerqueira César - Cep 01310-100 - São Paulo –

SP

Tel: [11] 3285-5566 – Fax: [11] 288-0984

Page 2: Aprendendo Rave

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Índice

Page 3: Aprendendo Rave

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Objetivos do Treinamento

Page 4: Aprendendo Rave

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Capítulo 8

Relatórios com Rave Reports

Relatório Simples

Relatório com quebra de grupo

Totalizações

Neste capítulo, você

Page 5: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 6: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 7: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 8: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 9: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Na Árvore de Objetos, veremos todos os

campos de tbEmp. Selecione DataView1 e

altere as propriedades mostradas acima.

Comentários:_______________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

Page 10: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 11: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Page 12: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 13: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 14: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 15: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 16: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 17: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Page 18: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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

Page 19: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 20: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 21: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 22: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 23: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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

Primeira

página:

Última

página:

Page 24: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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 25: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

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;

Page 26: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

Exercícios de Fixação

1.Para exibir um título de relatório, você utiliza o componente

_________ que está na palheta ______________.

a) DataText, Standard

b) DataText, Report

c) Text, Standard

d) Text, Report

e) Label, Standard

2. Para exibir o conteúdo de um campo, você utiliza o componente

_______ que está na palheta ____________

a) DataText, Standard

b) DataText, Report

c) Text, Standard

d) Text, Report

e) Label, Standard

3. Para fazer uma totalização de grupo ou geral, você utiliza o

componente ________ da palheta __________.

a) DataText, Report

b) Text, Standard

c) CalcText, Report

d) CalcText, Drawing

e) CalcText, Standard

Page 27: Aprendendo Rave

Relatórios com Rave Reports8

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r

4. O componente Delphi chamado __________ é responsável pela

ligação entre o projeto Delphi e o projeto Rave.

a) RvDataSetConnection

b) RvSession

c) RvProject

d) RvRaveConnection

e) RvRaveProject

5. O componente Delphi chamado __________ exporta um DataSet do

Delphi para o projeto Rave.

a) RvDataSetConnection

b) RvSession

c) RvProject

d) RvRaveConnection

e) RvRaveProject

Page 28: Aprendendo Rave

w w w . fi t i . c o m . b r w w w . i m p a c t a . c o m . b r