Apostila Crystal Reports 1233098842697118 1

Embed Size (px)

Citation preview

ndiceAPRESENTAO ........................................................................................................................................3 TREINAMENTO ..............................................................................................................................................3 Objetivo ..................................................................................................................................................3 Durao ..................................................................................................................................................3 Pr-Requisitos........................................................................................................................................3 Sobre esta Apostila ................................................................................................................................3 Convenes Adotadas ...........................................................................................................................4 CRYSTAL REPORTS ......................................................................................................................................5 Viso Geral.............................................................................................................................................5 Criando um novo relatrio a partir do Visual Studio ..............................................................................5 Iniciando no Crystal Reports ..................................................................................................................6 Vinculando o relatrio ao Visual Studio ...............................................................................................12 Filtros....................................................................................................................................................17 Ordenaes, Grupos e Sumrios.........................................................................................................21 Campo Parmetro ................................................................................................................................29 Vinculando um parmetro do Crystal ao Vb.Net..................................................................................32 Frmulas ..............................................................................................................................................35 Sub-Relatrios......................................................................................................................................39

FATECID - Faculdade de Tecnologia de Indaiatuba

Treinamento / Objetivo

Apresentao TreinamentoObjetivoEste mini-curso totalmente prtico e objetiva levar ao conhecimento dos treinandos a abrangncia do Gerador de Relatrios Crystal Reports, especialmente no que diz respeito a formatao das informaes obtidas, criao de filtros, ordenaes, parmetros e sub-relatrios.

DuraoA durao desse mini-curso de 7 horas.

Pr-RequisitosConhecimentos bsicos em Banco de Dados

Sobre esta ApostilaO intuito deste material somente servir como referncia para o acompanhamento durante o treinamento. Nele, voc encontrar uma breve descrio da utilizao de cada cadastro ou processo, dicas dos principais atributos, alm de exemplos e de exerccios prticos. A descrio completa campo a campo, pasta a pasta poder ser encontrada no manual do Crystal Reports.

Apostila Crystal Reports Semana de Tecnologia da FATEC

3

Treinamento / Convenes Adotadas

Convenes AdotadasNos exerccios, o texto que voc deve digitar aparece em negrito. Um sinal de adio ( + ) entre duas teclas significa que voc deve pressionar essas teclas simultaneamente. Por exemplo, pressione ALT+TAB significa que voc deve manter a tecla ALT pressionada enquanto pressiona TAB. Os cones a seguir identificam os diferentes tipos de texto que podem ser encontrados neste material: cone Indica que o texto : Uma observao importante Uma dica ou sugesto til Um exemplo Um exerccio a ser desenvolvido Relativo aos principais cadastros/processos que dependem do cadastro citado. Relativo ao nome do cadastro/processo no Banco de Dados.

Apostila Crystal Reports Semana de Tecnologia da FATEC

4

Crystal Reports / Viso Geral

Crystal ReportsViso GeralA distribuidora oficial do Crystal Reports no Brasil a ETZ Informtica (distribuidora dos produtos da Business Objects no Brasil). A inteno desta apostila mostrar como desenvolver pequenas listagens e relatrios de mdia complexidade utilizando o Crystal Reports.

Criando um novo relatrio a partir do Visual StudioEmbora o Crystal Reports possa ser instalado stand-alone, iremos utilizar a cpia que vem junto com o Visual Studio 2008 da Microsoft. Para isso, a partir do Visual Studio, acesse o menu File\New Project e informe o nome do projeto, conforme imagem a seguir:

Apostila Crystal Reports Semana de Tecnologia da FATEC

5

Crystal Reports / Iniciando no Crystal Reports

Figura 1 - Criando um novo projeto

A partir da janela Solution Explorer, selecione com o boto direito do mouse o Menu Add\New Item e na Categoria Reporting selecione Crystal Reports. Para o nosso primeiro relatrio, informe l_estado.rpt.

Iniciando no Crystal ReportsExistem basicamente trs maneiras para criar um novo relatrio com o Crystal Reports:

Apostila Crystal Reports Semana de Tecnologia da FATEC

6

Crystal Reports / Iniciando no Crystal ReportsUtilizando os assistentes de criao; (So teis somente para selecionar quais tabelas e quais campos devem sair no relatrio); Construir o relatrio manualmente, ou seja, passo a passo definir os campos, ordenaes, agrupamentos, etc. Criar o relatrio a partir de outro relatrio (ideal para quem no est muito familiarizado com o produto) Para isso, em qualquer um dos casos necessrio clicar no boto Novo Relatrio. Ser exibido a Galeria de Relatrios, conforme figura a seguir:

Figura 2 - Janela que exibido ao acessar o Crystal Reports

Observe que a Galeria nada mais do que um conjunto de 8 wizards para facilitar a criao de novos relatrios. Selecione a opo Standard. Aps ter selecionado o tipo do relatrio, ser aberto uma janela para selecionar o tipo de fonte de dados, conforme a figura a seguir:

Apostila Crystal Reports Semana de Tecnologia da FATEC

7

Crystal Reports / Iniciando no Crystal Reports

Figura 3 - Janela exibida para o usurio selecionar a fonte de dados para o relatrio

Aps clicar sobre o OLE DB, selecione SQL Native Cliente e aparecer a tela de logon do Banco, onde ser solicitado o User ID, Password e Server. O Crystal dever conectar ao banco e exibir um tree-view com todas as tabelas disponveis. Observe que neste tree-view so exibidos todas as tabelas e views do sistema, com o seguinte lay-out: Nome_Usurio.Nome_Tabela, exemplo: AER_PAIS Selecione a(s) tabela(s) que deseja montar o relatrio e clique em Add. (como exemplo selecione as tabelas AER_PAIS e AER_UF) Como estas duas tabelas possuem um vnculo, ou seja um Pais possui N Estados, o Crystal automaticamente j sugere os vnculos, podendo a qualquer momento o usurio alter-los, conforme figura a seguir:

Apostila Crystal Reports Semana de Tecnologia da FATEC

8

Crystal Reports / Iniciando no Crystal Reports

Figura 4 - Janela do Vnculo automtico das tabelas

Clique na pasta Fields (Campos), e selecione quais campos deseja emitir na listagem. Observe que logo abaixo da janela existe um boto chamado Preview Sample (Pr-Visualizar Exemplo). Clique sobre o mesmo para que o sistema carregue a listagem e conseqentemente a rea de Projeto. As demais pastas Group, Total, Top N, Chart, Select e Style (Ordenar, Total, N Superiores, Grfico, Selecionar, Estilo) no devero ser utilizadas, a no ser que o relatrio esteja sendo feito fixo para um determinado cliente. Veremos maiores detalhes no transcorrer da apostila.

A rea de ProjetoA rea de Projeto do Crystal dividida inicialmente em cinco sees iniciais. Cada seo serve para um diferente propsito. Dependo da onde for posicionado o objeto (entenda como objeto, um campo texto, um campo frmula, um campo do banco de dados, etc.) ser determinado como ele ser exibido.

Apostila Crystal Reports Semana de Tecnologia da FATEC

9

Crystal Reports / Iniciando no Crystal ReportsObserve a seguir uma breve explanao de cada seo inicial: Report Header (Cabealho Relatrio): Os objetos posicionados nesta seo sero impressos apenas na primeira pgina do relatrio. Normalmente o nome do relatrio, a data de impresso, o logo da empresa ou at mesmo a pgina ttulo para informaes seriam includas no Cabealho do Relatrios. Page Header (Cabealho Pgina): Os objetos desta seo sero impressos em todos as pginas do relatrio. Ttulos das colunas, nmeros de pgina, etc podem ser colocados nesta seo. Details (Detalhes): Os campos do banco de dados sero listados nesta seo. Report Footer (Rodap Relatrio): Os objetos posicionados nesta seo sero impressos apenas na ltima pgina do relatrio. Totais Gerais, nmero total de pginas e outros resumos informativos so normalmente posicionados aqui. Page Footer (Rodap Pgina): Os objetos colocados nesta seo sero impressos na parte inferior de cada pgina.

Pasta Design e Preview (Projeto e Pr-Visualizao)Quando voc est trabalhando com a pasta Design (Projeto), voc est manipulando representaes dos objetos, no os verdadeiros objetos. Algumas vezes mais rpido fazer mudanas nesta pasta, j que a pasta Preview (Pr-Visualizao) exibe o relatrio como o mesmo ser impresso com os seus dados reais, mas com a desvantagem de levar um pouco mais de tempo, j que o Crystal ter que a cada mudana feita executar o relatrio, e na pasta Design (Projeto), voc simplesmente estar vendo a representao de lay-out do relatrio.

Posicionando Objetos no seu RelatrioCampos de banco de dados, campos de frmulas, linhas e caixas so alguns dos objetos que voc pode inserir no seu relatrio. Esta seo tratar dos princpios bsicos de posicionamento, movimentao e ajuste do tamanho de objetos no seu relatrio. Database Field (Campos de Banco de Dados): Para posicionar campos do banco de dados no seu relatrio, clique ou no boto Inserir Campos ou no Menu Incluir selecione opo campo do Banco de Dados. Existem basicamente quatro maneiras de inserir um campo do banco de dados: Para inserir um nico campo, arraste o campo desejado para o relatrio ou selecione o campo desejado e clique no boto inserir e ento posicione o campo no seu relatrio;

Apostila Crystal Reports Semana de Tecnologia da FATEC

10

Crystal Reports / Iniciando no Crystal ReportsPara selecionar vrios campos, clique com o Ctrl nos campos desejados e os arraste para o relatrio ou selecione os campos desejados e clique no boto insere. D um double click sobre o cone das tabelas e esta se expandir/encolher para mostrar/esconder os campos de nome contidos. Encolhendo todas as tabelas torna mais fcil encontrar um campo em particular, principalmente quando o relatrio a ser elaborado envolve vrias tabelas. Quando tiver dvidas sobre o contedo de determinado campo, clique sobre o mesmo e digite Ctrl+B. O Crystal mostrar o tipo do campo, o tamanho e uma prvia do contedo dos registros. Utilizando a opo de Agarra na Grade/Colocao em Formato Livre De acordo com o relatrio a ser elaborado, existir uma necessidade de posicionamento/alinhamento dos campos no relatrio. O padro inicial no Crystal o de os campos agarrem grade, ou seja, aparecer na pasta de projeto uma grade com pontos verticais e horizontais visando facilitar o posicionamento dos campos, j que ao mover os objetos eles iro de uma linha de grade para outra. Porm s vezes necessrio a liberdade na colocao dos campos. Voc pode tanto disponibilizar a colocao em formato livre (na qual ser possvel posicionar objetos em qualquer lugar da pasta de projetos, inclusive colocar um campo sobre o outro).apenas em uma seo ou no relatrio todo. Para disponibilizar o formato livre para todo o formato, acesse no menu Arquivo, a opo Opes, na pasta Layout e desmarque o check box Encaixar na Grade. (Snap to Grid) Caso deseje colocar a formatao livre para apenas uma seo, clique com o boto da direita sobre a seo, selecione a opo Formatar Seo, e clique no check box Colocao em Formato Livre. (Free-Form Placement) Linhas de Grade Para criar uma linha de grade, clique na rgua vertical ou horizontal. Um pequeno tringulo aparecer apontando para a janela de desenho com uma linha tracejada que vai dela at o lado oposto da rea de trabalho. Os objetos que forem arrastados para esta linha de grade, grudaro sobre ela. Isto assegurar que os objetos que esto sobre uma mesma linha de grade esto juntos e alinhados. Tendo uma vez grudado todos os objetos que voc deseja manipular, basta arrastar a linha de grade para os objetos se moverem juntos. O Crystal automaticamente coloca uma linha de grade vertical para cada campo de dados que posicionado na rea de trabalho. Caso deseje desligar esse recurso, desmarque o check box Mostrar Grade no Projeto (Show Guidelines in Design) no Menu Arquivo\Opes. Para remover um objeto de uma linha de grade, simplesmente arraste-o para longe da linha, j para remover a linha de grade, arraste a seta indicadora da mesma para fora da rgua.

Apostila Crystal Reports Semana de Tecnologia da FATEC

11

Crystal Reports / Vinculando o relatrio ao Visual StudioPreview do Relatrio Agora que os campos j foram colocados e alinhados no relatrio, interessante obter um preview da impresso do mesmo. Existem duas maneiras de mudar para a pasta de preview: Clique sobre o boto Pr-Visualizar Impresso (Preview) ou escolha no Menu Arquivo a opo Pr-Visualizar Impresso. Observe que no rodap desta pasta exibido o nmero total de registros lidos pelo Crystal Reports. Na visualizao do preview, possvel visualizar uma pgina inteira ou de 25% at 400% do formato original. Para aumentar o zoom do relatrio, clique sobre o combo box de visualizao do relatrio. Caso deseje especificar o fator do zoom, selecione no menu Visualizar, a opo Zoom e digite o % de ampliao/reduo.

Vinculando o relatrio ao Visual StudioA partir da janela Solution Explorer, renomeie o formulrio form1.vb para frm_ListagemEstado.vb Acesse a ToolBox\Reporting e adicione no formulrio o componente CrystalReportViewer Acesse a propriedade ReportSource e informe o relatrio recm gerado. Rode o projeto e visualize o nosso primeiro relatrio com o Crystal Reports!

Apostila Crystal Reports Semana de Tecnologia da FATEC

12

Crystal Reports / Vinculando o relatrio ao Visual Studio

Atividade 1Crie um relatrio personalizado utilizando a tabela AER_MUNICIPIO. Este dever mostrar: Sigla do Estado; Cdigo Municpio; Nome do Municpio. Aps inserir os campos, execute o preview e modifique a ampliao do zoom, salvando o formato com o nome de L_MUNICIPIO.RPT. Seu formato dever ficar similar ao exibido a seguir,na janela de preview:

Figura 5 - Preview do 1 exerccio

Apostila Crystal Reports Semana de Tecnologia da FATEC

13

Crystal Reports / Vinculando o relatrio ao Visual StudioTrabalhando com os ObjetosMovendo o objeto Uma vez posicionado os campos e objetos do seu relatrio, voc pode quere reposicion-los ou regular novamente os seus tamanhos. Para mover um objeto, clique sobre o mesmo uma vez, de forma que aparea um contorno sobre o objeto selecionado. Ento clique e mantenha clicado nele com o cursos de 4 setas e arraste-o para a nova posio. Reajustando o tamanho do objeto O Crystal infelizmente no exibe na pasta de Preview o que ele realmente ir imprimir. Por isso ser muito comum a necessidade de estar reajustando o tamanho de um objeto. Para reajustar o seu tamanho, clique sobre o mesmo uma vez, e arraste um dos contornos com o cursor de ajuste para mudar o tamanho do objeto. Formatando os objetos O Crystal permite ao usurio mudar os atributos dos objetos, como fontes, tamanho, cor, bordas, sublinhados, ou at a maneira como o campo ser exibido. Por exemplo, um campo de valor pode ser exibido com 2, 4 casas decimais os nmeros negativos exibindo o sinal de negativo ou entre parnteses, etc. Para formatar o campo, d um clique da direita sobre o mesmo e escolha campo. Ser exibida a seguinte janela conforme figura a seguir: Observe que existem vrias pastas, de acordo com o tipo do campo selecionado (se for string, numrico, data, etc.) Caso o campo selecionado seja do tipo numrico, o Crystal exibir uma pasta, conforme figura a seguir:

Apostila Crystal Reports Semana de Tecnologia da FATEC

14

Crystal Reports / Vinculando o relatrio ao Visual Studio

Figura 6 - Janela de formatao de campos numricos

Caso o usurio clique no boto Customizar (Customize), o Crystal abrir uma janela com as seguintes opes: Suprimir se Zero: Caso o campo seja zero, o Crystal automaticamente inibir o campo. Decimais e Arredondamento: Informe o nmero de casas decimais e a forma de arredondamento do campo numrico. (O default 2 casas decimais e sem arredondamento) Negativos: Quando o valor numrico for negativo, pode-se escolher se o sinal de negativo aparecer a direita ou a esquerda do nmero, ou ainda se o valor aparecer entre parnteses. Separador de Milhar e Decimal: Caso esteja montando um relatrio gerencial em ingls (o FASB por exemplo) pode ser que deseje formatar o valor no formato americano. Nesse caso, informe os separadores de milhar e decimal. Zero Anterior: Desmarcando este check box, o nmero 00001 aparecer como 1.

Apostila Crystal Reports Semana de Tecnologia da FATEC

15

Crystal Reports / Vinculando o relatrio ao Visual StudioObserve na caixa abaixo da pasta, o exemplo de como o campo ir ficar a medida que as opes so alteradas. Agora, caso o campo seja do tipo Data/Hora, e o usurio clique no boto Customizar (Customize) ser exibido a seguinte janela:

Figura 7 - Janela para formatao de campos Data customizados

Observe que nessa janela, ser possvel definir o layout de exibio para o ms, dia e o ano. As formataes das datas podem ficar das mais diferentes maneiras. Veja alguns exemplos, baseados na data 15/05/08: Quinta-feira, 15 de Maio de 2008; 15/Maio/2008; 15/Mai/08, etc. Existem duas pastas que independente do tipo do campo, sempre so exibidas. So elas: Border (Pasta Bordas): Ser possvel selecionar os vrios tipos de estilos de linha, e se a borda ser sobre o campo todo, ou somente na esquerda, direita, em cima ou em baixo. Alm disso, possvel colocar uma sombra de fundo e fazer com que o Crystal ajuste automaticamente a borda de acordo com o tamanho do campo.

Apostila Crystal Reports Semana de Tecnologia da FATEC

16

Crystal Reports / FiltrosFont (Pasta Fontes): Nesta pasta que ser formatado a cor, tamanho, fonte, estilo do objeto a ser exibido.

Inserindo Objetos TextoSuponhamos que voc deseje colocar um ttulo em seu relatrio. Para fazer isto, ser necessrio criar um objeto de texto. Os objetos texto apresentam algumas capacidades limitadas de processamento de texto, permitindo a digitao, o ajuste, a movimentao e tabulao destes. Pode ser definido o alinhamento esquerda, direita, justificado ou centralizado. Para inserir um objeto texto em seu relatrio, clique no boto Incluir Objeto Texto, ou escolha no Menu Incluir a opo Objeto Texto. Um objeto de texto novo e vazio ir ficar junto ao seu cursor. Posicione o objeto de texto onde voc quiser que o texto aparea em seu relatrio e aperte o boto esquerdo do mouse para solt-lo. Caso deseje editar o texto de um objeto texto, d um double clique nele. Observe que aparecer o cursor de insero piscando dentro dele. Quando tiver acabado de trabalhar com um objeto de texto, simplesmente clique fora dele para cancelar a sua seleo. Caso deseje que o ttulo do relatrio seja posicionado no centro da folha de papel, posicione o objeto de texto com o ttulo prximo margem esquerda, ajuste o tamanho do objeto de texto com a mesma largura da pgina, e centralize o texto no objeto.

FiltrosO relatrio que foi criado na Atividade 1 imprimir todos os registros do banco de dados. No entanto, o interessante restringir o nmero de registros a serem impressos para um conjunto restrito. Por exemplo, desejo montar a mesma listagem dos municpios, s que restringindo a vir somente os municpios que so do estado de Alagoas. Para fazer isto, necessrio utilizar o Assistente de Seleo de Registros para que de maneira muito simples, possamos inserir os filtros necessrios. Existem trs maneira de ativar o Assistente de Seleo: Clique no boto Assistente de Seleo na barra de ferramentas; No Menu Relatrio, escolha a opo Assistente de Seleo; Se o campo que voc deseja efetuar o filtro estiver no seu relatrio, d um clique com o boto da direita no mesmo e escolha Assistente de Seleo a partir do menu de atalho.

Apostila Crystal Reports Semana de Tecnologia da FATEC

17

Crystal Reports / FiltrosCaso voc selecione uma das duas 1 opes (onde no foi especificado qual campo dever ser filtrado), o Crystal abrir uma janela permitindo ao usurio selecionar por qual campo dever ser realizado o filtro. Aps ter selecionado por qual campo ser executado o filtro, o Assistente de Seleo abrir a seguinte janela:as

Figura 8 - Janela para inserir filtros no relatrio

Utilizando a combinao dos dois primeiros combos, ser possvel construir um critrio de seleo que atenda as mais variadas necessidades. Vejamos: No combo box existem vrias opes de seleo, conforme segue: Qualquer valor: Selecionar todos os registros (ou seja, no ser feita nenhuma seleo) Igual a: Permite voc especificar um determinado valor como critrio, para que apenas os registros coincidentes venham no relatrio. Exemplo: Todos os municpios cujo estado seja igual a SP. Um de: Permite especificar uma srie de valores determinados como filtro para que somente os registros que faam parte da matriz seja inclusos nos relatrios. Exemplo: Todos os municpios cujo estado seja igual a SP, RJ, MG ou PB. Menor que: Permite indicar um determinado valor para que os registros somente sejam impressos se satisfazerem a condio de serem menores ao valor especificado. Maior que: Permite indicar um determinado valor para que os registros somente sejam impressos se satisfazerem a condio de serem maiores ao valor especificado. Entre: Permite indicar um intervalo para o filtro dos registros. Exemplo: Somente os registros com vendas do ltimo ano entre R$ 10.000,00 e R$ 20.000,00 Comeando com: Permite indicar caracteres ou valores que cada campo de dados deve iniciar para que passem no filtro. Exemplo: Todos os clientes cujo nome comece com a letra A.

Apostila Crystal Reports Semana de Tecnologia da FATEC

18

Crystal Reports / FiltrosComo: Permite especificar caracteres nativos do DOS (? e *) para compor o filtro. Exemplo: como a a P?A, retornaria todos os registros que na 1 letra tivessem o P e na 3 tivessem o A. Frmula: Permite especificar uma frmula para poder executar o filtro. Veja maiores detalhes sobre frmulas no prximo captulo. Dados Gravados X Dados Atualizados O Crystal somente l o seu banco de dados quando necessrio. Quando voc faz a 1 prvia do relatrio, imprime ou exporta-o para um arquivo, o programa executa seus relatrios e traz os dados requisitados. Quando voc est montando o relatrio, o programa atualiza os dados sobre as seguintes condies: Se voc adicionar campos ao relatrio depois da sua execuo; Se voc adicionar uma frmula que faz referncia a um campo que no estava no relatrio a quando voc executou o relatrio pela 1 vez; Se modificar os filtros para incluir mais registros do que na 1 execuo, ou Fora destas circunstncias, o Crystal Reports no ir atualizar o relatrio automaticamente, porm existe no programa uma maneira de forar a atualizao dos dados: Basta criar sobre o boto Atualizao (Refresh). O filtro dos registros sensvel a maisculas. Por exemplo, se os dados da tabela contiverem dados com maisculas ou minsculas misturadas (Fatec, FATEC, fatec), o filtro fatec retornar somente 1 registro. Para que seja possvel retornar os 3 registros, marque o check box No faz distino entre letras maisculas e minsculas nos dados na SQL, no Menu Arquivo\Opes, na pasta Banco de Dados. (Case-Insensitive SQL Data)a a

Apostila Crystal Reports Semana de Tecnologia da FATEC

19

Crystal Reports / Filtros

Atividade 2Abra o formato criado na Atividade 1, e insira os seguintes filtros: Somente os Municpios do Estado de So Paulo e; Somente os Municpios que estejam entre a letra H e a letra R.

Apostila Crystal Reports Semana de Tecnologia da FATEC

20

Crystal Reports / Ordenaes, Grupos e Sumrios

Ordenaes, Grupos e SumriosInserindo OrdenaesAps ter definido o relatrio e seus respectivos filtros, voc ir observar que o Crystal os retornar em sua ordem natural, ou seja na ordem em que eles aparecem em seu banco de dados. Para determinar por qual campo ser feita a ordenao, o Crystal dispe do Assistente de Ordenao de Registros. O mesmo pode ser selecionado de duas formas: Clique no boto Ordenao na barra de ferramentas ou Clique sobre a opo Ordenar Registros no Menu Relatrios; O Crystal exibir a seguinte caixa de dilogo:

Figura 9 - Janela para alterar a ordenao dos campos no relatrio

Conforme os campos vo sendo adicionados lista Ordenar Campos, pode-se individualmente atribuir o sentido Ascendente ou Descendente, portanto em uma ordenao de mltiplos nveis, nem todas as ordenaes precisam ter o mesmo sentido. O Crystal no permite que o usurio reordene os campos na lista de Campos de Ordenao. Portanto voc precisa adicion-los na seqncia em que voc quer que eles sejam ordenados, levando em conta que estar sendo feita uma ordenao mltipla. Se voc realmente quiser reordenar esta lista, ser necessrio remover e recolocar os campos na ordem correta.

Apostila Crystal Reports Semana de Tecnologia da FATEC

21

Crystal Reports / Ordenaes, Grupos e Sumrios

Atividade 3Abra o formato alterado na Atividade 2, e insira as seguintes ordenaes: Ordenao pela UF, e dentro de cada UF ordene os municpios por ordem alfabtica

Apostila Crystal Reports Semana de Tecnologia da FATEC

22

Crystal Reports / Ordenaes, Grupos e SumriosAgrupando RegistrosMesmo que seus registros estejam ordenados, voc pode querer quebrar os dados em grupos significativos. Por exemplo, imagine que voc quer uma lista de todos os seus clientes do estado de So Paulo, todas as vendas da Regio Norte, etc. Uma vez definidas as quebras, o Crystal poder ento sumarizar as informaes de cada grupo. (Com as ordenaes mltiplas isto no pode ser feito.) Pode-se agrupar os dados baseados nos campos do relatrio, nos campos do banco de dados que no estiverem no relatrio e at em campos frmula. Quando voc agrupa os registros, so adicionadas novas sees ao seu relatrio. (Aparecero o Cabealho e o Rodap para cada Grupo criado) Criando um novo Grupo Para criar grupos no seu relatrio, escolha a opo Grupo no Menu Inserir. A seguinte caixa de dilogo aparecer:

Figura 10 - Janela de insero de grupos no relatrio

Apostila Crystal Reports Semana de Tecnologia da FATEC

23

Crystal Reports / Ordenaes, Grupos e SumriosExistem quatro opes para ordenar seus grupos. So elas: em ordem crescente: Ordena de A a Z, 1 a 9, do menor para o maior, etc. em ordem decrescente: Ordena de Z a A, 9 a 1, do maior para o menor, etc. em ordem especificada: Permite ao usurio criar um grupo baseado em valores que pertenam o ao banco de dados. Exemplo: Ordenao por Estados. 1 quero que venha SP, depois RJ, MG e AM. em ordem original: Mantm os registros na mesma ordem em que eles so encontrados no banco de dados, ou resumindo no faz nada. Manter grupo junto: Esta opo evita que um grupo seja separado em diferentes pginas. Isto forar todos os dados do mesmo grupo a ficarem juntos. Se existir espao suficiente para imprimir todos os registros do grupo na pgina atual, o Crystal os imprimir nesta pgina. Caso contrrio, eles sero impressos na pgina seguinte. Repetir cabealho de grupo em cada pg. nova: O gerador pode imprimir o nome de um grupo no Cabealho de Grupo usando por exemplo o campo Nome. Se, por exemplo, voc tiver quebrado seu o relatrio por regio, o nome da regio seria impresso logo acima do 1 registro daquela regio. Se o grupo possuir um nmero to grande de registros de maneira que precise ocupar mais de uma pgina, esta opo forar o campo Nome a se repetir a cada nova pgina. Cada grupo gerado pelo usurio ir imprimir um cabealho de grupo antes de imprimir as informaes da seo de Detalhes. Aps a impresso do ltimo registro do grupo, o Rodap do Grupo ser impresso.

Apostila Crystal Reports Semana de Tecnologia da FATEC

24

Crystal Reports / Ordenaes, Grupos e Sumrios

Atividade 4Abra o formato da Atividade 3, e execute o seguinte: Remova os filtros e ordenaes que foram definidos; Agrupe os registros do seu relatrio por UF. Seria interessante que no grupo, alm do cdigo da UF, sasse tambm o nome da UF. Para que isso seja possvel, insira a tabela AER_UF, a partir da opo Incluir Banco de Dados no Relatrio no menu Banco de Dados; Ajuste a ordenao do grupo para descendente.

Apostila Crystal Reports Semana de Tecnologia da FATEC

25

Crystal Reports / Ordenaes, Grupos e Sumrios

Deletando um Grupo existente Para remover um grupo do seu relatrio, clique na rea cinza esquerda da Pasta de Projeto, d um clique-direito sobre o Cabealho ou Rodap do Grupo com o qual voc deseja remover. Escolha Deletar Grupo a partir do menu de atalho. Uma vez selecionado essa opo, uma mensagem de aviso aparecer solicitando a confirmao dessa ao e afirmando que no ser possvel desfazer a ao, conforme figura a seguir:

Figura 11 - Mensagem que exibida quando o usurio tenta eliminar um grupo

Se tiver certeza, confirme a operao. Alterando as definies de um Grupo Se as suas necessidades de agrupamento mudarem, o Crystal permite modificar o grupo. No h necessidade de remover o grupo existente e substitu-lo por um novo, basta redefinir o grupo existente. Na Pasta de Projeto, d um clique-direito na rea cinza e escolha Mudar Grupo a partir do menu de atalho. Observe que permitido alterar o campo no qual o grupo baseado, a ordenao do grupo e as opes Manter o grupo junto ou Repetir cabealho de grupo a cada nova pgina.

SumarizandoAgora o nosso exemplo de relatrio tem a informao agrupada e ordenada de maneira lgica. Imagine que agora necessitamos a cada estado incluir um sumrio com o nmero total de municpios. Para incluir um sumrio (que pode ser uma soma, a mdia, o valor mximo, o valor mnimo, a contagem, etc.), siga um destes trs procedimentos: Clique no boto Inserir Sumrio na barra de Ferramentas; D um clique-direito no campo e escolha Incluir Sumrio ou Incluir Sub-Total a partir do menu de atalho; ou No Menu Incluir, selecione a opo Sumrio. Observe na figura a seguir, a caixa de dilogo da opo de sumrio:

Apostila Crystal Reports Semana de Tecnologia da FATEC

26

Crystal Reports / Ordenaes, Grupos e Sumrios

Figura 12 - Inserindo um campo totalizador

Uma vez definido o sumrio para cada grupo, voc pode tambm querer ter um total geral para todo o relatrio. No Crystal, existe a opo de Totais Gerais e sempre ser exibido na seo Rodap do Relatrio. Para inserir um Total Geral, selecione um campo na seo de Detalhes na qual voc quer obter o Total Geral, e siga um dos seguintes passos: D um clique-direito e escolha Incluir Total Geral... a partir do menu de atalho, ou Escolha no Menu Incluir a opo Total Geral.

Apostila Crystal Reports Semana de Tecnologia da FATEC

27

Crystal Reports / Ordenaes, Grupos e Sumrios

Atividade 5Edite o formato da Atividade 4, e execute o seguinte: Inclua um campo sumrio de contagem para cada UF ; Inclua um campo Total Geral dos municpios ;

Apostila Crystal Reports Semana de Tecnologia da FATEC

28

Crystal Reports / Campo Parmetro

Campo ParmetroO conceito do campo parmetro flexibilizar os critrios de filtro, ordenaes e inclusive frmulas. Com ele, possvel que seja feito um nico relatrio ordenado, por exemplo , por cdigo ou por descrio (de acordo com a seleo do usurio). Ao incluir um campo parmetro , o Crystal abre um prompt permitindo ao usurio especificar um novo valor a cada vez que os dados do relatrio forem atualizados. Para utilizar um campo de Parmetro, necessrio seguir trs passos bsicos : Criar o campo Parmetro ; Referenciar o campo parmetro no seu relatrio (pode-se relacion-lo a um filtro , a uma ordenao, a um grupo, etc .); Informar no prompt do campo o valor para o Parmetro .

Criando um Campo ParmetroPara criar um campo parmetro, acesse a partir do Menu Incluir, a opo Campo Parmetro. Ser exibida a seguinte janela:

Apostila Crystal Reports Semana de Tecnologia da FATEC

29

Crystal Reports / Campo Parmetro

Figura 13 - Incluso de um campo parmetro

Observe uma breve explanao sobre cada campo : Nome do Parmetro : nesse campo ser informado o nome que voc quer utilizar para identificar o campo parmetro. Quando voc posteriormente utilizar o campo parmetro, ele ser mostrado como {?Nome do Parmetro} ; Texto de Sinalizao : aqui voc insere o texto que voc quer aparea quando o programa pedir para o usurio informar o valor para o campo parmetro. Tipo do Valor : insira o tipo de dado do campo parmetro . Se voc estiver utilizando o campo parmetro para utilizar como filtro dos registros de um campo string , ser necessrio definir o campo parmetro como do tipo string tambm , caso contrrio ele no aparecer na tela de filtro. Existem cinco tipos de dados permitidos : seqncia (traduo de string!) , numrico , data, moeda e booleano.

Utilizando o Campo Parmetro nos RelatriosNos Filtros Agora que foi criado o campo parmetro, basta utiliz-lo no relatrio no lugar de um valor fixo. Por exemplo, vamos considerar um relatrio que exiba somente os dados de um estado :

Apostila Crystal Reports Semana de Tecnologia da FATEC

30

Crystal Reports / Campo Parmetro{AER_UF.UF_ST_SIGLA} = SP O relatrio sempre incluir os registros com estado igual a SP. Dessa maneira, toda vez que voc executar o relatrio ser preciso alterar manualmente esse filtro. Para permitir que este relatrio seja facilmente modificado para vrios estados, voc simplesmente utiliza o campo parmetro no lugar do valor especificado para o estado: {AER_UF.UF_ST_SIGLA} = {?Estado} Onde {?Estado} um campo parmetro que foi criado anteriormente. Qualquer valor que voc entre para o campo parmetro do estado ser utilizado para a seleo de registros naquela atualizao do relatrio . Nas Frmulas No momento em que voc criar uma frmula e quiser executar o relatrio com valores diferentes a cada vez que precisar execut-lo , tire os valores escritos no cdigo da mesma e substitua-os por campo(s) parmetro(s). A utilizao do campo parmetro em frmulas muito ampla, desde uma porcentagem de desconto at uma condicional em uma frmula que utiliza o if/else. Ttulos dos Relatrios Se voc estiver utilizando os campos parmetros nos filtros, pode ser interessante refletir este parmetro em outros lugares do relatrio. muito interessante , por exemplo, alterar o ttulo do relatrio. Por exemplo , onde exibir o ttulo Relatrio de Vendas por Cdigo , substitua por : Relatrio de Vendas por {?Ordenao} Cada vez que voc fizer o preview do relatrio, o ttulo ser mostrado com o valor atual do campo parmetro. Nas Ordenaes Basta criar um campo parmetro, por exemplo, chamado de {?Tipo_Ordenao} e ento criar uma frmula chamada por exemplo {?Ordem} com o seguinte contedo : If {?Ordem} = C then ToText ({AER_MUNICIPIO.MUN_IN_CODIGO},0000) Else

Apostila Crystal Reports Semana de Tecnologia da FATEC

31

Crystal Reports / Vinculando um parmetro do Crystal ao Vb.Net{AER_MUNICIPIO.MUN_ST_NOME} E inserir a frmula no assistente de filtro .

Vinculando um parmetro do Crystal ao Vb.NetVamos criar alguns atributos na janela do relatrio, conforme imagem a seguir:

No boto visualizar, iremos informar:

Apostila Crystal Reports Semana de Tecnologia da FATEC

32

Crystal Reports / Vinculando um parmetro do Crystal ao Vb.Net

Apostila Crystal Reports Semana de Tecnologia da FATEC

33

Crystal Reports / Vinculando um parmetro do Crystal ao Vb.Net

Atividade 6A partir do formato criado na Atividade 5, edite-o e execute o seguinte: Inclua um campo de parmetro chamado Estado, no qual permitir ao usurio filtrar a UF a ser listada; Crie um parmetro no qual o usurio poder selecionar se o relatrio ser impresso por ordem numrica do cdigo do municpio ou por ordem alfabtica do municpio;

Apostila Crystal Reports Semana de Tecnologia da FATEC

34

Crystal Reports / Frmulas

FrmulasAs frmulas geralmente so informaes no contidas nos campos do banco de dados, mas so necessrias para emisso do relatrio. Como exemplo, de uma utilizao prtica das frmulas quando a mesma est efetuando um determinado clculo (valor liquido da NF, por exemplo). Alm dos clculos, voc tambm pode utilizar frmulas para : Extrair uma parte, ou partes, de um texto qualquer; Subtrair um campo data de outro campo de mesmo tipo ; Extrair partes de um campo data; Converter um campo data armazenado como texto para um campo data. Frmulas tambm podem ser utilizadas para clculos de valores numricos, por exemplo: comparar um valor com outro e ento selecionar aes alternativas baseadas na comparao. O editor de frmulas do Crystal possui uma sintaxe bem simples. Antes de gravar a frmula, o Crystal verifica a sintaxe e ajuda a corrigir problemas antes que voc adicione a frmula ao relatrio. Observe a seguir, a sintaxe dos principais componentes: Campo de Banco de Dados: Sintaxe : {Tabela.NomeCampo} . Nmeros: Simplesmente digite-os sem separadores de milhar. Operadores: Um espao antes e um depois do operador so opcionais, porm deixa a frmula mais limpa Funes: NomeFuno(parmetro1,parmetro2,..., parmetroN) Texto: Entre aspas simples ou duplas (Exemplo: Texto ou Texto )

Incluindo FrmulasPara incluir uma frmula em seu relatrio , selecione uma das opes abaixo :

Apostila Crystal Reports Semana de Tecnologia da FATEC

35

Crystal Reports / FrmulasClique no boto Incluir Campo e selecione a pasta Frmula opo Campo Frmula . ou escolha no Menu Incluir a

Para criar uma nova frmula, clique no boto Nova . Ser aberto uma janela para informar o nome da frmula (o limite mximo de 36 caracteres) Exemplos de Frmulas: Exemplo 1 Nome da Frmula : @Cod_Municipio Propsito : Formatar um campo numrico com zeros esquerda. Frmula : ToText({AER_MUNICIPIO.MUN_IN_CODIGO},00000) Exemplo 2 Nome da Frmula : @Nr_Pagina Propsito : Incluir o campo nmero da pgina no relatrio, formatando com zeros . Frmula : ToText (PageNumber,0000) Exemplo 3 Nome da Frmula : @Logradouro Propsito : Fazer com que os vrios campos que formam o endereo, tenham a aparncia de um nico campo. Frmula : {AER_VW_TODOSAGENTES.TPL_ST_SIGLA} + {AER_VW_TODOSAGENTES.AGN_ST_LOGRADOURO} + {AER_VW_TODOSAGENTES.AGN_ST_NUMERO} + {AER_VW_TODOSAGENTES.AGN_ST_BAIRRO} , . + + +

Nesse exemplo, caso um dos campos seja NULL, o Crystal no executar a frmula. Para contornar esse problema, necessrio utilizar a funo ISNULL( ).

Apostila Crystal Reports Semana de Tecnologia da FATEC

36

Crystal Reports / FrmulasExemplo 4 Nome da Frmula : @Titulo_Rodape Propsito : Faz com que o ttulo do rodap do relatrio mude de acordo com a ordenao selecionada pelo usurio . Frmula : If {?Ordenacao} = U then Total de Clientes no Estado + {AER_UF.UF_ST_NOME} + else If {?Ordenacao} = N then Total de Clientes {@Conv_NatJud} + = else Total de Clientes + Exemplo 5Nome da Frmula : @Titulo_Cabecalho Propsito : Faz com que o ttulo do cabealho do relatrio mude de acordo com a ordenao selecionada pelo usurio. Frmula : If {?Ordenacao} = C then LISTAGEM DE MATERIAIS POR CDIGO else If {?Ordenacao} = D then LISTAGEM DE MATERIAIS POR DESCRIO else LISTAGEM DE MATERIAIS POR FORNECEDOR

=

na

Natureza

Jurdica

+

=

Apostila Crystal Reports Semana de Tecnologia da FATEC

37

Crystal Reports / FrmulasExemplo 6Nome da Frmula : @Formata_Data Propsito : Formatar um campo data exibindo o ano com 4 dgitos . Frmula : ToText ( {?Data_Final } , dd/MM/yyyy )

Apostila Crystal Reports Semana de Tecnologia da FATEC

38

Crystal Reports / Sub-Relatrios

Sub-RelatriosOs sub-relatrios so relatrios dentro de outros, que apresentam exatamente as mesmas caractersticas de um relatrio normal. Voc pode criar um sub-relatrio como se estivesse criando normalmente um novo relatrio, ou ento importar um j existente. possvel inserir mltiplos subrelatrios no relatrio principal e inclusive vincular o relatrio principal ao sub-relatrio . Um sub-relatrio pode ter seus prprios filtros, sua prpria formatao e suas prprias frmulas. As nicas diferenas entre um sub-relatrio e um relatrio comum seriam : O sub-relatrio inserido como se fosse um objeto no relatrio principal . Ele no pode existir sozinho ; O sub-relatrio pode ser inserido em qualquer seo do relatrio principal , sendo impresso inteiramente na mesma seo ; Um sub-relatrio no pode conter um sub-relatrio . Quando voc relaciona um sub-relatrio a um relatrio principal , o programa cria o relacionamento atravs do mecanismo de campo parmetro. Quando voc seleciona um campo de sub-relatrio para fazer um relacionamento o Crystal cria um campo parmetro no sub-relatrio que utilizado para obter os valores que lhe foram passados pelo relatrio principal . Quando voc executa o relatrio , o programa encontra o 1 valor de registro do campo principal do qual precisa e passa o valor do campo de link para o campo parmetro no sub-relatrio. O Crystal ento cria os sub-relatrios com filtro baseado no valor do campo parmetro. Analise o exemplo a seguir : Voc cria um relatrio que mostra informaes de cliente e um sub-relatrio que traz informaes de pedidos. Os dois so relacionados pelo campo cdigo do cliente (por exemplo AGN_IN_CODIGO) ; Quando o relatrio executado , o Crystal encontra o 1 registro de cliente do qual precisa e passa o valor do AGN_IN_CODIGO para o campo parmetro dentro do sub-relatrio. O Crystal executa o sub-relatrio de pedidos. A partir desse momento a frmula de seleo do subrelatrio s seleciona registros nos quais o valor de AGN_IN_CODIGO igual ao campo parmetro . Quando o sub-relatrio acaba, o programa vai para o 2 registro do relatrio principal , imprime as informaes do cliente e passa seu valor de AGN_IN_CODIGO para o campo parmetro. ento processado o segundo sub-relatrio. Esta rotina se repete at o final do relatrio principal.

Apostila Crystal Reports Semana de Tecnologia da FATEC

39

Crystal Reports / Sub-RelatriosToda essa manipulao de campo parmetro toma lugar nos bastidores do Crystal. Ao usurio cabe apenas determinar os campos que devem ser utilizados para fazer o relacionamento entre o relatrio e o sub-relatrio. Esse vnculo feito atravs da opo Vnculos de Sub-Relatrio do Menu Editar

Apostila Crystal Reports Semana de Tecnologia da FATEC

40