Escolar Documentos
Profissional Documentos
Cultura Documentos
APRESENTAO ........................................................................................................................................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
Treinamento / Objetivo
Apresentao Treinamento
Objetivo
Este 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.
Durao
A durao desse mini-curso de 7 horas.
Pr-Requisitos
Conhecimentos bsicos em Banco de Dados
Convenes Adotadas
Nos 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.
Crystal Reports
Viso Geral
A 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.
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.
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:
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:
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 Projeto
A 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.
10
11
12
Atividade 1
Crie 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:
13
14
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.
15
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.
16
Filtros
O 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.
17
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.
18
19
Atividade 2
Abra 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.
20
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.
21
Atividade 3
Abra 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
22
23
24
Atividade 4
Abra 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.
25
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:
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.
Sumarizando
Agora 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:
26
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.
27
Atividade 5
Edite 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 ;
28
Campo Parmetro
O 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 .
29
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.
30
31
32
33
Atividade 6
A 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;
34
Frmulas
As 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 Frmulas
Para incluir uma frmula em seu relatrio , selecione uma das opes abaixo :
35
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( ).
36
na
Natureza
Jurdica
37
38
Sub-Relatrios
Os 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.
39
40