Rave Report

download Rave Report

of 20

Transcript of Rave Report

  • Relatrios com Rave Reports

    Relatrio Simples

    Relatrio com quebra de grupo

    Totalizaes

    Neste tutorial, voc aprender:

  • Relatrios com Rave Reports

    Preparando a Aplicao

    Tomando como base a nossa aplicao final, vamos selecionar o Data Module dmEmp

    e colocar nele 3 componentes da palheta Rave:

    RvProject: Responsvel pela ligao entre o projeto Delphi e o projeto de

    relatrios Rave.

    RvDataSetConnection: Exporta um DataSet do projeto Delphi para o projeto

    Rave.

    RvSystem:Responsvel pelo envio do relatrio para a impressora ou para a tela

    de Preview.

    Configurao dos componentes Rave na aplicao Delphi

    RvDataSetConnection Name: rvdsEmp

    DataSet: tbEmp

    RvSystem Name: rvsysEmp

    TitlePreview: Previso do Relatrio

    TitleSetup: Opes de Impresso

    TitleStatus: Status de Impresso

    RvProject Name: rvprjEmp

    Engine: rvsysEmp

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

    Rave Visual Designer.

  • Relatrios com Rave Reports

    Rave Visual Designer

    Configuraes Gerais

    File - New

    File Save: Empregados.rav

    Painel da rvore de objetos

    Painel de Propriedades

    Explicao sobre a propr. atual

    A Pgina

    Palhetas de componentes Barra de

    ferramentas

  • Relatrios com Rave Reports

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

    propriedade Units para unMM (milmetros)

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

    de Propriedades, altere as propriedades:

    FullName: Relatrio Geral de Empregados

    Name: rptEmpGeral

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

    seguintes propriedades.

  • Relatrios 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 ento clica no boto 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.

    Aparecero todos os componentes

    RvDataSetConnection que colocamos no projeto

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

    clique Finish.

  • Relatrios com Rave Reports

    Na rvore de Objetos, veremos todos os campos

    de tbEmp. Selecione DataView1 e altere as

    propriedades mostradas acima.

    Comentrios:_______________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

  • Relatrios com Rave Reports

    Desenhando o Relatrio

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

    componente Region . Ele determina e delimita a rea de impresso da pgina.

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

    uma rea livre no final da pgina, l criaremos nosso rodap de pgina.

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

    Band - - e um objeto DataBand - . Eles sero usados para criarmos as reas de

    impresso do relatrio.

    rodap de pgina

    componente Region redimensionado

  • Relatrios com Rave Reports

    Eles aparecero no topo de Region1.

    Com o objeto Band1 selecionado, altere as seguintes propriedades:

    BandStyle:

    ControllerBand: DataBand1

    Name: PageHeader

    Selecione:

    Body Header (Cabealho)

    First (Primeira pgina)

    New Page (Nova pgina)

  • Relatrios com Rave Reports

    Selecione o objeto Band2 e altere as propriedades:

    DataView: dvEmp

    Name: Detalhe

    Os cones esquerda de cada banda mudaro, como mostra a figura.

    Traga um componente BitMap da palheta Standard

    e coloque sobre a banda de cabealho.

    Altere a sua propriedade Image, selecionando uma figura do disco. Altere tambm a

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

    componente.

  • Relatrios com Rave Reports

    Para colocar os ttulos no cabealho de pgina, utilize o componente Text - -da palheta

    Standard. Altere as propriedades:

    Text: RELATRIO GERAL DE FUNCIONRIOS

    FontJustify: pjCenter

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

    preferncia.

    Aumente a largura e a posio do componente Text para que fique centralizado

    horizontalmente.

    Coloque um subttulo com o nome da sua empresa.

    Para exibir a data de impresso do relatrio, traga para o cabealho um componente

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

    Em Report Variables, selecione DateShort

  • Relatrios com Rave Reports

    Clique no boto Insert Report Var e a varivel selecionada ser inserida no quadro

    Data Text.

    Depois escreva em Data Text, um ttulo para a varivel que foi inserida.

    Para colocarmos uma linha separando o cabealho do restante da pgina, selecione a

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

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

  • Relatrios com Rave Reports

    Agora vamos montar a banda de detalhe. Este relatrio ser um relatrio no formato de

    ficha, semelhante a um crach. Por isso no teremos cabealho de colunas.

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

    tamanho e posio como mostra a figura.

    Altere as propriedades:

    DataView: dvEmp

    DataField: FOTO

    Vamos agora montar os ttulos dos campos que aparecero 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 posio

    correspondente na banda de detalhe.

    Aparecer um componente DataText, devidamente

    configurado para exibir o campo.

  • Relatrios com Rave Reports

    Pressione a tecla F9 para ver como est o resultado do relatrio.

  • Relatrios com Rave Reports

    Para colocar uma numerao de pgina no final de cada pgina, coloque um componente

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

    coloque:

    'Pgina ' + Report.CurrentPage + '/' + Report.TotalPages

  • Relatrios com Rave Reports

    Relatrio com Quebra de Grupo

    No mesmo projeto de relatrio (Empregados.rav) criaremos um segundo relatrio. Selecione

    File - New Report.

    Na rvore de objetos ( direita), selecione o novo relatrio (Report1) e altere as

    propriedades:

    FullName: Empregados Por Departamento

    Name: frmEmpDepto

    Verifique tambm as medidas da folha em Page1.

    Traga para a pgina, um componente Region (Pg. Report). e traga para dentro dele:

    2 componentes Band (Report)

    1 componente DataBand (Report)

    2 componentes Band (Report)

  • Relatrios com Rave Reports

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

    PageHeader Cabealho de pgina

    GroupHeader Cabealho de grupo

    Detail Detalhe

    GroupFooter Rodap de grupo

    ReportFooter Rodap de relatrio

    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

  • Relatrios com Rave Reports

    Monte a banda PageHeader de forma semelhante ao que foi feito no relatrio geral. Altere

    apenas o ttulo principal.

    A banda GroupHeader ter a seguinte aparncia:

    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 clculos de totalizao.

    Altere as propriedades: CalcType: ctSum

    ControllerBand: Detail

    DataView: dvEmp

    DataField: SALARIO

    DisplayFormat: #,##0.00

    FontJustify: pjRight

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

    Text (Standard)

  • Relatrios com Rave Reports

    A aparncia final do relatrio ficar como mostra a figura: Primeira pgina:

    ltima pgina:

  • Relatrios com Rave Reports

    Imprimindo o Relatrio 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, no precisaremos instalar o arquivo RAV na mquina do usurio. Selecione a

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

    Obs.: Se houver qualquer alterao posterior do arquivo RAV, este processo dever

    ser repetido.

  • Relatrios 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;