Relatórios com
Rave Reports
Neste tutorial, você aprenderá:
Relatório Simples
Relatório com quebra de grupo
Totalizações
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.
Relatórios com Rave Reports
Rave Visual Designer
Configurações Gerais
File - New
File Save: Empregados.rav
Barra de
ferramentas
Palhetas de
componentes
Painel da
Árvore de
objetos
Painel de
Propriedades
A Página
Explicação sobre
a propr. atual
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.
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.
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:_______________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
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.
componente
Region
redimensionado
rodapé de página
Nas palhetas de componentes, selecione a palheta Report e traga para Region1 um objeto
Band - e um objeto DataBand impressão do relatório.
. Eles serão usados para criarmos as áreas de
Relatórios com Rave Reports
Eles aparecerão no topo de Region1.
Com o objeto Band1 selecionado, altere as seguintes propriedades:
BandStyle:
Selecione:
Body Header (Cabeçalho)
First (Primeira página)
New Page (Nova página)
ControllerBand: DataBand1
Name: PageHeader
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.
Relatórios com Rave Reports
Para colocar os títulos no cabeçalho de página, utilize o componente Text Standard. Altere as propriedades:
-da palheta
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
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.
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.
Relatórios com Rave Reports
Pressione a tecla F9 para ver como está o resultado do relatório.
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
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)
Relatórios com Rave Reports
Altere as suas propriedades Name (de cima para baixo) para:
PageHeader
Cabeçalho de página
GroupHeader
Detail
Cabeçalho de grupo
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
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:
Text (Standard)
DataText (Report)
HLine (Drawing)
Text (Standard)
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 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
- da
Relatórios com Rave Reports
A aparência final do relatório ficará como mostra a figura:
Primeira página:
Última página:
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.
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;
Download

Relatórios com Rave Reports