Você está na página 1de 86

Treinamento Crystal Reports XI

Crystal Reports XI
Apostila de treinamento

Designer e Expert

______________________________________________________________________________________________ 1

Treinamento Crystal Reports XI


A ferramenta Crystal Reports foi desenvolvida para extrao de informaes de banco de dados no formato de relatrios com possibilidade de incluso de frmulas e comandos condicionais para execuo dos mesmos. O pacote de ferramentas esta dividido em: Crystal Reports Developer. Ferramenta de criao de relatrios a partir de um banco de dados seja ele por conexo nativa do Crystal Reports ou por meio de Drive ODBC. Crystal Reports Server. Ferramenta de publicao de relatrios para que o usurio final possa execut-lo. Seu funcionamento esta baseado em publicao via WEB e com criao de perfis de usurios. Permite tambm a execuo de relatrios por agendamento e a gravao de espelho de relatrios anteriormente emitidos, ou seja, de forma parametrizvel podem ser guardados os ltimos 10 relatrios emitidos de cada tipo e o seu resgate no ira efetuar nenhuma consulta ao banco de dados. Objetivo. Orientar ao treinando como proceder para a montagem de relatrios e criando condies de esclarecer ao cliente pontos relevantes s funcionalidades e vantagens da ferramenta.

Material Didtico. Este material fruto de pesquisa na Internet e informaes colhidas no curso referente ao produto. As informaes aqui contidas so voltadas ao banco de dados Firebird.

______________________________________________________________________________________________ 2

Treinamento Crystal Reports XI

Capitulo 1

Preparao do Ambiente

______________________________________________________________________________________________ 3

Treinamento Crystal Reports XI


Pr-requisitos: Verificar a instalao ou Instalar na maquina o Firebird 1.5 para Windows. Importante: O Crystal Reports 10 ou superior s funciona com o Windows XP Professional ou Windows 2000/2003. Baixar do site http://prdownloads.sourceforge.net/firebird/Firebird_ODBC_1.2.0.69Win32.exe?use_mirror=ufpr o drive de ODBC para o Firebird e instalar na maquina. Aps instalao do drive de ODBC, entrar em Iniciar/Painel de controle/Ferramentas administrativas/Fonte de Dados (ODBC). Configurao do Drive de ODBC

Clicar em adicionar, selecionar Firebird/Interbase(r) driver, clicar em concluir,

______________________________________________________________________________________________ 4

Treinamento Crystal Reports XI

Ser aberta nova tela solicitando os dados altere ou informe somente os abaixo mencionados.

- Data Source Name (DSN): Nome de referencia que ser usado dentro do Crystal Reports (apelido do banco de dados). - Database: Caminho absoluto do banco de dados (inclusive nome_do_banco.fdb). - Client: Informar exatamente como segue. C:\Arquivos de programas\Firebird\Firebird_1_5\bin\fbclient.dll Database Account: SYSBDA Password:<senha do banco de dados>

______________________________________________________________________________________________ 5

Treinamento Crystal Reports XI


O restante das informaes deve ser mantido como esto, clique em test connection e se a configurao estiver correta aparecera mensagem:

Clique em OK para fechar a mensagem e clique em OK para finalizar. Execute a instalao do Crystal Reports XI, onde esta devera ser padro.

______________________________________________________________________________________________ 6

Treinamento Crystal Reports XI

Capitulo 2

Carga Inicial

______________________________________________________________________________________________ 7

Treinamento Crystal Reports XI


O Crystal Reports XI no cria automaticamente cones na rea de trabalho do Windows. Para execut-lo basta clicar em Iniciar / todos os programas / Crystal Reports X. (Amostra do cone abaixo).

Ao Carregar o Crystal Reports ser apresentada a tela:

Esta tela porque o programa no localizou os arquivos de traduo para a lngua Portuguesa (somente disponvel para as verses originais com a baixa do Service Pack). Informe Sim para continuar.

Na coluna New Reports selecione a opo Blank Report para iniciar a criao de um relatrio em branco. Ira ser apresentada a tela Database Expert, conforme figura abaixo.

______________________________________________________________________________________________ 8

Treinamento Crystal Reports XI

Expanda a opo Create New Connection.

Expanda a opo ODBC (RDO). Selecione o alias criado para a conexo do banco de dados e clique em avanar >.

______________________________________________________________________________________________ 9

Treinamento Crystal Reports XI

Informa o USER ID e o Password do banco selecionado e clique em Concluir.

______________________________________________________________________________________________ 10

Treinamento Crystal Reports XI

______________________________________________________________________________________________ 11

Treinamento Crystal Reports XI


Seleo de Tabelas
Ao lado direito da tela Database Expert ser apresentada a relao de tabelas do banco em uso. Importante: Para usurios que no esto acostumados com o banco de dados do sistema Spress, nas tabelas de dados (atravs de gerenciador de banco de dados como IBExpert, Dbaccess,etc) foi acrescida a letra T no inicio do nome. Ex. Tabela no Cobol GLCLIENT CCNFREVI PEPABATO Tabela no banco de Dados TGLCLIENT TCCNFREVI TPEPABATO

As tabelas sofrem alteraes de nome somente nos gerenciadores de banco de dados, dentro do sistema Spress em 001 CPD/Ferramentas/Gerenciador Base Dados, o nome das tabelas permanecem inalterados. Selecionar as tabelas que sero utilizadas no relatrio efetuando um duplo clique ou clicando no boto >.

Dica: Para obter um melhor desempenho no relatrio, selecione somente as tabelas que ira efetivamente usar.

______________________________________________________________________________________________ 12

Treinamento Crystal Reports XI


Aps selecionar as tabelas envolvidas no relatrio, clique no boto OK! e ser apresentada uma nova janela para definio/aprovao dos links entra as tabelas:

Todos os campos de contedo iguais em tamanho alfanumrico,etc.) so possveis de serem feitos links.

contedo

(numrico,

Importante: Se caso for definido um link em um campo na tabela 1 com um campo da tabela 2 (mesmo sendo do mesmo tipo) e eles no contiverem contedo comum, poder haver distoro nos campos apresentados no relatrio. Muitas tabelas podem esta linkadas pela chave montada (Ex: filial+data+numero da NF) e estaro nomeadas como campo Kx onde x=numero. Na maioria dos casos estas chaves no devem ser aproveitadas, pois no refletem a necessidade de links entre os campos que so necessrios para busca de informao. (Nada impede das chaves montadas serem utilizadas no relatrio). Caso queira limpar os links existentes, basta clicar no boto Clear Links e aps a confirmao da operao os links padres sero apagados. Para reconstruir os links entre campos das tabelas, deve ser clicado e mantido o clique sobre um campo de uma tabela e arrastado para o campo de outra tabela. Ex: Clicar no campo CADPECCOD da tabela TPECADPEC e arrastar para o campo CADPECCOD da tabela TPEESATPE.

______________________________________________________________________________________________ 13

Treinamento Crystal Reports XI

Capitulo 3

Iniciando a montagem do relatrio

______________________________________________________________________________________________ 14

Treinamento Crystal Reports XI


Finalizada a montagem dos links, clique em OK! para continuar.

rea de trabalho e suas opes

Na seo Design onde iremos montar nosso relatrio. Esta rea de trabalho esta dividida em cinco partes (neste momento). Cada uma destas partes serve para um propsito diferente. A estas partes chamaremos de seo Seo Report Header Descrio Itens posicionados no Report Header (Cabealho do Relatrio) sero impressos apenas na primeira pagina do relatrio. Normalmente o nome do relatrio, data de emisso, logotipo da empresa, etc.: Objetos inseridos no Page Header (Cabealho da Pagina) sero impressos em todas as paginas do relatrio, como por exemplo, o titulo das colunas do relatrio. Nesta seo ficam os registros, as linhas de dados do relatrio. No Report Footer localizam-se informaes que devem ser impressas somente na ultima pagina, tais como totalizadores, sumrios, etc. E finalmente aqui ficam as informaes do rodap do relatrio como numeraes de pagina, nome do relatrio. As

Page Header

Details Report Footer

Page Footer

______________________________________________________________________________________________ 15

Treinamento Crystal Reports XI


informaes desta seo sero impressas em todas as paginas.

Field Explorer
Iremos agora iniciar a colocao de colunas (dados) em nosso relatrio. Para isso iremos utilizar o Field Explorer que pode ser acessado pelo cone da barra de ferramentas ou no menu View | Field Explorer. Ser apresentada a tela a seguir:

Atravs desta janela podem ser inseridos no relatrio campos das tabelas do banco de dados, campos especiais, frmulas (desde que j tenham sido criadas), totalizadores e campos de filtro de opes para execuo. Expanda a opo Database Fields. Desta forma teremos a visualizao das tabelas relacionadas para o relatrio sendo representada pelo smbolo e os campos da tabela representado pelo smbolo .

Existem duas maneiras de inserir um campo de dados no relatrio neste momento:


______________________________________________________________________________________________ 16

Treinamento Crystal Reports XI


1 Clique sobre o campo desejado e arraste para o relatrio. 2 Clique com o boto direito do mouse sobre o campo desejado e escolha a opo Insert To Report, clicando no local desejado do relatrio para inseri-lo. Dica: Pode ser usado o recurso para incluso de mltiplos campos simultaneamente com as tecla Ctrl ou Shift. Vamos inserir os campos: Da tabela TPEESATPE inclua os campos: FILIALCOD, CADPECCOD. Da tabela TPECADPEC inclua o campo: CADPECDES. Da tabela TPEESATPE inclua o campo: ESATPEQTDEST e Da tabela TGLFORNEC inclua o campo: FORNECNOMSIGLA. Conforme tela abaixo:

Dica: Por padro o campo Field Heading do relatrio vem com o nome do campo dentro do banco de dados, e eles podem ser alterados de acordo com a necessidade. Visualizando os dados do Relatrio: A prxima etapa da criao visualizar os dados lidos no banco de dados.

______________________________________________________________________________________________ 17

Treinamento Crystal Reports XI


Para isso, temos as seguintes opes: 1 Acessar o menu Report | Refresh Report Data 2 Utilizar a tecla de atalho F5 3 Clicar no cone 4 Clicar no cone Qualquer das opes acima ira disponibilizar a aba onde podemos visualizar os dados solicitados no relatrio, sendo a rea de trabalho parecida com a tela abaixo:

Importante: Para melhor posicionamento dos campos e para que no haja problemas com tempo de leitura dos registros, aconselho que seja utilizada a aba Design para manutenes/alteraes no relatrio.

Reajustando o tamanho dos Objetos


Todo objeto, ao ser selecionado, permite o seu redimensionamento tanto horizontal como vertical atravs de quatro pontos bsicos de arraste.

______________________________________________________________________________________________ 18

Treinamento Crystal Reports XI

Atividade
Crie um relatrio com as tabelas SICADUSU, SIUSUUSR, GLFUNCIO, efetue o relacionamento das tabelas e insira os campos: - Cdigo do usurio. - Nome do usurio. Execute o relatrio pressionando F5 ou outro mtodo conhecido, veja o resultado, retorno para a aba Design e insira os campos: - Nome do funcionrio. - Usurio SO Faa um novo Preview (F5), modifique o tamanho dos campos, modifique o titulo das colunas (field heading) se necessrio, e execute novamente. Salve o relatrio com um nome a sua escolha.

______________________________________________________________________________________________ 19

Treinamento Crystal Reports XI

Capitulo 4

Formatando Objetos

______________________________________________________________________________________________ 20

Treinamento Crystal Reports XI


Aps inserir os campos num relatrio, normalmente existe a necessidade de formatao destes campos tais como Fonte, Cor, Tamanho, Cores de fundo, Bordas, Numero de casas decimais, Formato da data/hora, etc.

Formatando Campos
Os campos podem ser formatados caso queira que um campo numrico que tenha 2 casas decimais seja apresentado no relatrio com 4 casas decimais, seus nmeros negativos entre parnteses ou em outra cor, fonte, tamanho do fonte,etc. Para alterar os atributos de um campo de um clique com o boto direito do mouse sobre o campo desejado e escolha a opo Format Field o clique no cone da barra de ferramentas. Dependendo do tipo dos dados disponveis no campo ora escolhido, iro aparecer opes diferentes de formatao. De uma forma geral, as opes comuns a todos os tipos de dados so: - Common - Border - Font - Hyperlink Muitos atributos que sero vistos a seguir tm em seu lado direito o boto . Estes botes so usados para formatao condicional, a qual ser abordada mais a frente.

Aba Common
Na aba Common so disponibilizadas varias opes, dentre as quais iremos comentar: ObjectName Toll Tip Text Read-only Lock Position and Size Suppress Suppress if Duplicated Can Grow Nome nico que identifica este objeto no relatrio inteiro. Texto que aparecer quando posicionar o mouse sobre o objeto. Bloqueia o campo para alterao de formatao. Bloqueia o campo para alterao de posio e tamanho. Suprime a visualizao do campo em Preview. Suprime a impresso de registros subseqentes que esto duplicados. Redimensiona a altura do campo automaticamente.

______________________________________________________________________________________________ 21

Treinamento Crystal Reports XI

Aba Border
Na aba Border so disponibilizadas opes de formatao das bordas do campo selecionado, tais como cor e formato. As mais comuns so: Line Style - Disponibiliza para cada uma das bordas (superior, inferior, esquerda e direita) tipos de linhas para formatao, como segue: Single Simples Doubl Dupla Dashed Tracejada Dotted Pontilhada - Ajusta o comprimento do campo na horizontal, de forma automtica dependendo do contedo.

Tight Horizontal

______________________________________________________________________________________________ 22

Treinamento Crystal Reports XI


Drop Shadow Color - Sombreamento do Campo. - Alterao das cores da borda (border) e do fundo (background)

Dica: Um atalho para a formatao de bordas o cone

da barra de ferramentas.

Aba Font
Na aba Font so disponibilizadas opes para formatar o campo com fonte, estilo, tamanho e cor.

______________________________________________________________________________________________ 23

Treinamento Crystal Reports XI

Aba Hyperlink
Na aba Hyperlink so disponibilizados opes que permitem ao usurio do relatrio navegar atravs de cliques, com o uso de Hyperlinks. A opo mais comum nesta Aba e: Hyperlink Type Configura o tipo de Hyperlink, ou seja, se apontara para um email, site, outro docto. Para cada um dos tipos selecionados na opo HyperLink Information .

______________________________________________________________________________________________ 24

Treinamento Crystal Reports XI

Dica: Um atalho para a formatao de hyperlinks o cone

da barra de ferramentas.

Formataes especificas
H algumas opes de formatao que so visualizadas apenas quando determinados tipos de campos so selecionados. A seguir veremos algumas destas opes, dependendo do tipo de campo.

A aba Number Para campos numricos ou moeda.

______________________________________________________________________________________________ 25

Treinamento Crystal Reports XI

______________________________________________________________________________________________ 26

Treinamento Crystal Reports XI


Na aba Number possvel configurar, em sua tela: Style configura a apresentao do campo numrico ou moeda no que diz respeito quantidade de casas decimais, formato do campo quando for negativo, utilizao ou no do smbolo moeda. permite mostrar ou esconder o smbolo moeda, bem como, Currency symbol quando visvel, definir se este ser fixo ou flutuante. Caso estas opes no sejam suficientes, possvel clicar no boto Customize... para vermos a tela Custom Style com opes de formatao para o smbolo moeda (Currency symbol) e para o prprio numero (Number).

Podemos destacar as seguintes opes: Suppress if Zero Decimals Rouding Negatives Decimal Separator Thousands Separator no imprime os campos numricos e/ou moeda quando forem iguais a zero. configura a quantidade de casas decimais do nmero. define o arredondamento dos campos. define o modo de exibio do numero, quando negative. define o smbolo para separar as casas decimais. habilita ou no a utilizao de separador de decimais.

______________________________________________________________________________________________ 27

Treinamento Crystal Reports XI


Symbol Allow Field Clipping estando a opo anterior habilitada, define qual ser o smbolo a ser utilizado. caso o tamanho do campo, for insuficiente para sua visualizao, ser exibido com #######, no sendo truncado.

Currency Symbol

Podemos destacar as seguintes opes: Enable Currency Simbol Fixed/Floating habilita ou desabilita a exibio de smbolo moeda para este campo. estando a opo anterior habilitada, a opo Fixed deixara os smbolos moeda uns sob os outros. J a opo Floating deixar o smbolo moeda acompanhando o numero, seja ele decimal, centena, milhar... define o posicionamento do smbolo moeda. ajusta qual ser seu smbolo moeda.

Position Currency Simbol

______________________________________________________________________________________________ 28

Treinamento Crystal Reports XI


A aba Date para campos data ou data-hora.

Na aba Date possvel configurar, em sua primeira tela:

______________________________________________________________________________________________ 29

Treinamento Crystal Reports XI


Style configura a apresentao do campo data ou data-hora no que diz respeito forma de aparecimento dos componentes de data. Exemplo: 30 de junho de 2006 ou 30/06/2006.

Caso estas opes no sejam suficientes, clicando no boto Customize... para vermos a tela Custom Style com opes de formatao especificas para data.

Podemos destacar as seguintes opes: Order Format ordem de aparecimento do dia, ms e ano, onde Y=ano, D=dia e M=ms. define para cada um dos componentes da data (dia, ms e ano), como o mesmo ser mostrado: por exemplo, em algarismo, em algarismo com zero na frente... configura os separadores das datas. Exemplo: 30/06/2006, 30-06-2006, 30.06.2006, etc.

Separator

______________________________________________________________________________________________ 30

Treinamento Crystal Reports XI


Colocando Objetos de Texto em seu relatrio.
Um objeto de texto pode conter um caracter, uma palavra ou um pargrafo. Campos de Banco de Dados e Campos Formula podem ser embutidos em objetos de texto junto com qualquer tipo texto. Por exemplo, pode-se combinar o primeiro nome e o sobrenome de um campo que contenha o nome de uma pessoa para uso em mala direta. Mas tambm possvel fazer frmulas e ter o mesmo resultado, isto ser abordado mais tarde, em outros tpicos. Cada objeto de texto tem o seu prprio mini-processador de texto, facilitando a entrada e a edio de textos com amarrao de palavras, uso de tabulaes e uso de recursos como alinhamentos a direita, centro e esquerda. Todos os objetos de texto, assim como seus elementos podem ser formatados independentemente com fontes, bordas, cores, etc..

Inserindo Objetos
Para inserir um objeto de texto no relatrio, acesse o menu Insert | Text Object ou clique no cone .

Um objeto de texto novo e vazio vai aparecer junto ao cursor. Pode se ento posicionar o objeto de texto onde for desejado, para solt-lo clique com o boto esquerdo do mouse. Dica: Mesmo sendo possvel posicionar os objetos de texto pela aba Preview, utilizando a aba Design voc ter uma viso melhor dos limites de outros campos que compem o relatrio, evitando sobreposio dos mesmos. Abaixo um exemplo de Objeto de Texto.

Dica: Se quiser centralizar um titulo no papel, posicione o objeto de texto na margem esquerda e ajuste o tamanho do objeto ate a margem direita, (digite o texto e centralize). Para editar um texto j digitado, basta dar um clique duplo sobre o Objeto de Texto.

______________________________________________________________________________________________ 31

Treinamento Crystal Reports XI

Capitulo 05

Seleo de registros

______________________________________________________________________________________________ 32

Treinamento Crystal Reports XI


Usando o Assistente de Seleo.
O relatrio criado no primeiro exemplo mostrara todos os registros das tabelas envolvidas. No entanto queremos listar em nosso relatrio as pecas de uma ou mais filiais. Para isso devemos ajustar o(s) filtro(s) seleo de registros podendo e extrair somente a informao desejada. Sem selecionar nenhum campo do relatrio, acesse o menu Report | Select Expert ou clique no cone e aparecer a seguinte tela:

Campos j inseridos no relatrio

Campos do banco de dados

Selecione o campo desejado e clique em OK, e a tela a segui ser apresentada.

______________________________________________________________________________________________ 33

Treinamento Crystal Reports XI


Dica: No necessrio que o campo a ser colocado no filtro esteja no relatrio, basta que ele esteja em uma das tabelas do relatrio.

Definindo o Critrio de Seleo de Registros


As opes disponveis para seleo so:

Is Any Value Is Equal To Is Not Equal To Is One Of

Is Not One Of

Is Less Than

Is Less Than or Equal To

Selecionara todos os registros, ou seja, no ser feita nenhuma seleo. Permite especificar um nico valor como critrio. Ex. somente pecas da Filial 01 Permite especificar um nico valor como critrio. Ex. somente pecas que no forem da Filial 01 Permite informar uma serie de valores (referentes ao mesmo campo) como critrio, e no apenas um como a opo Is Equal To, permitindo a incluso destas informaes no relatrio. Ex. Filiais 01, 02, 04 Permite informar uma serie de valores (referentes ao mesmo campo) como critrio, e no apenas um como a opo Is Equal To, no permitindo a incluso destas informaes no relatrio. Ex. Filiais 01, 02, 04 Permite indicar registros com valor menor ao parmetro definido, por exemplo, itens com valor menor a R$ 100,00. Permite indicar registros com valor menor ou igual ao parmetro definido, por exemplo, itens com valor igual ou menor a R$ 100,00.

______________________________________________________________________________________________ 34

Treinamento Crystal Reports XI

Is Greater Than

Is Greater Than or Equal To

Is Between Is Not Between

StartsWith

Does Not StartsWith

Is Like

Is Not Like

Formula

Permite indicar registros com valor maior ao parmetro definido, por exemplo, itens com valor maior a R$ 100,00. Permite indicar registros com valor maior ou igual ao parmetro definido, por exemplo, itens com valor maior ou igual a R$ 100,00. Permite selecionar uma faixa de valores, por exemplo, itens com valor entre R$ 10,00 e R$ 50,00. Permite selecionar uma faixa de valores, por exemplo, itens que no estejam com valor entre R$ 10,00 e R$ 50,00. Permite especificar com que caracteres o campo comea. Ex. todos os itens que comecem com a letra A. Permite especificar com que caracteres o campo no deve comear. Ex. todos os itens que no comecem com a letra A Permite informar os meta caracteres ? e * para filtro de informaes, sendo o ? equivalente a um caractere e o * a uma cadeia de caracteres. Ex. *al, todos os itens que terminem com al. Permite informar os meta caracteres ? e * para filtro de informaes, sendo o ? equivalente a um caractere e o * a uma cadeia de caracteres. Ex. *al, todos os itens que no terminem com al. Fazendo esta escolha a caixa de dialogo se expande abrindo espao onde voc digita o seu critrio, caso nenhuma das opes anteriores lhe auxilie.

Selecionando o boto Show Formula voc poder visualizar a listagem de critrios j definidos para o relatrio ate o momento.

Atualizao do Relatrio atravs do critrio definido.


Importante: Para evitar o risco de promover um looping no banco de dados oficial do cliente, sugiro que seja feita uma copia do banco para maquina Windows e seja utilizada esta copia para criao e execuo dos relatrios. Quando o mesmo estiver testado, sem perigo de looping, poder ser utilizado no banco oficial. Por padro o Cristal Reports no efetua leituras ao bando de dados constantemente, visando no gerar trafego de dados e conseqente lentido ao Banco. Por isso, toda as vezes em que informado um novo filtro ou alterado alguma informao do algum filtro.

______________________________________________________________________________________________ 35

Treinamento Crystal Reports XI


Todas as vezes que isto ocorrer, aparecera na tela Preview a mensagem:

Esta opo permite que: Use Saved Data: o Crystal Reports XI faa a seleo baseada nos registros que foram lidos na ultima atualizao do relatrio (vide horrio) que esta especificado na caixa de mensagens. Refresh Data: o Crystal Reports XI ir realmente acessar o banco de dados novamente para trazer os registros mais atuais que satisfaam ao novo critrio de seleo. Para atualizar os dados do relatrio a qualquer momento que seja diferente dos listados anteriormente, acione a opo Report | Refresh Report Data ou um dos atalhos mencionados para tal procedimento. Importante: A forma acima apresentada para a seleo de registros fixa. Existem formas dinmicas de seleo de registros utilizando o Parameter Filter que ser explicado nos prximos captulos.

______________________________________________________________________________________________ 36

Treinamento Crystal Reports XI

Capitulo 06

Ordenando, Agrupando e Sumarizando

______________________________________________________________________________________________ 37

Treinamento Crystal Reports XI


Tendo selecionado dos registros para apresentao em tela/impresso, a posio dos mesmos no relatrio e os filtros para que sejam apresentados somente os registros conforme os critrios e no especificando nenhuma ordenao, o Crystal Reports vai apresentar os registros em sua ordem natural, ou seja, na mesma ordem que foram gravados no banco de dados.

Ordenando Registros
Temos em nosso relatrio a seguinte situao:

Notem que este relatrio esta ordenado por filial, e queremos sua ordenao por cdigo do item. Existem duas formas de abrir o assistente de ordenao de registros. Acessando o menu Report | Record Sort Expert na barra de menu ou utilizando o boto na barra de ferramentas. Ser apresentada a tela:

______________________________________________________________________________________________ 38

Treinamento Crystal Reports XI

Todos os campos do relatrio e das tabelas envolvidas no mesmo esto listados no quadro Available Fields esquerda da janela Record Sort Expert. Adicionando os campos no quadro Sort Fields direita da janela, a ordenao ocorrer na seqncia dos campos no quadro da direita. E atravs do Sort Direction poderemos definir a ordem Crescente ou Decrescente. Iremos incluir a ordenao dos itens por cdigo do item e sua sub-ordenao por quantidades, sendo o cdigo em ordem crescente.

e a quantidade em ordem decrescente.

______________________________________________________________________________________________ 39

Treinamento Crystal Reports XI

Obtendo o seguinte resultado:

Para incluir campos na seleo utilize o boto e para alterar o posicionamento dos campos na hierarquia da ordenao, no quadro Sort Fields utilize as setas da parte superior direita: ou .

______________________________________________________________________________________________ 40

Treinamento Crystal Reports XI


Agrupando Registros
Mesmo que os registros estejam ordenados de forma crescente ou decrescente, no foi utilizado nenhum recurso de agrupamento de registros, desta forma nossa relatrio tem a aparncia de listagem. O agrupamento serve para unirmos todos os registros cujo um determinado campo tenha o mesmo contedo. Assim, utilizando nosso relatrio exemplo, onde at o momento temos uma listagem de peas ordenadas por cdigo do produto (crescente) e a quantidade do produto (decrescente). Podemos criar agrupamentos com informaes baseadas em campos: - J inseridos no relatrio. - Que no estejam inseridos no relatrio (porem esto nas tabelas predefinidas para o relatrio). - Campos de frmulas. Outras vantagens do agrupamento a facilidade de sub-totalizao e totalizao do grupo/relatrio No existem limites de agrupamentos definidos. Vamos comear a transformar em relatrio inserindo um agrupamento por cdigo do item e retirando a informao cdigo do produto da linha Details. Quando agrupamos registros, novas sees so criadas no relatrio, estas novas reas estaro visveis no lado esquerdo da janela Designer, acima e abaixo da seo Details. Nomeadas de Group Header e Group Footer respectivamente para cada grupo (agrupamento) criado, conforme tela a seguir:

______________________________________________________________________________________________ 41

Treinamento Crystal Reports XI

Cabealho e Rodap do grupo

Titulo automtico do grupo

Criando Grupos
Para criar grupos, acesse o menu Insert | Group ou o cone .

A caixa de dialogo Insert Group ira aparecer em sua rea de trabalho, com duas abas Common e Options: Na aba Common temos:

______________________________________________________________________________________________ 42

Treinamento Crystal Reports XI

Aqui ser selecionado o campo para ser utilizado na formao do grupo Combo Box onde definida a ordenao do grupo Formula condicional para ordenao de agrupamento mediante parmetros

Opes disponveis para personalizar o nome do grupo, sem necessrio.

Esta opo evita que o grupo seja quebrado na mudana de pagina. Em caso de grupos muito grandes (que ocupariam mais de uma pagina), esta opo mostrara o cabealho do grupo em cada pagina.

______________________________________________________________________________________________ 43

Treinamento Crystal Reports XI


Opes de Ordenao
As opes de ordenao devem ser disponibilizadas no momento de criao do grupo e so explicadas a seguir:

In ascending order In descending order In specified order

In original order

A a Z, 1 a 9, do menor para o maior, etc. Z a A, 9 a 1, do maior para o menor, etc Permite a voc criar um grupo onde sua ordenao ser baseada a qualquer valor das tabelas relacionadas no relatrio. Mantm a ordem original de gravao dos registros no banco de dados.

Alterando / Excluindo Grupos


Estando os grupos criados, pode ser necessria a alterao ou mesmo a excluso do grupo. Dica: Fica mais fcil trabalhar com qualquer objeto do Crystal Reports pela ABA Design, onde pode-se visualizar corretamente os limites dos campos.

Apagando Grupos
Para remover um grupo do relatrio, basta clicar na rea cinza da janela design, sobre a informao de Group Header #x onde x=seqncia de apresentao do relatrio.

Clique com o boto direito do mouse

______________________________________________________________________________________________ 44

Treinamento Crystal Reports XI


Ou utilize a opo do mesmo menu para redefinir o campo a ser agrupado, sua ordenao ou quaisquer opes das abas Common ou Options.

Assistente de Ordenao de Grupo (Ranking)


O Group Sort Expert permite determinar a ordem em que os grupos sero exibidos baseado em um subtotal ou sumario do grupo. Com este assistente pode se criar facilmente os seguintes resultados: - Os 10 melhores produtos vendidos (usando a opo Top N). - Os 15 piores vendedores em desempenho baseado em valor ou numero de unidades (usando a opo Bottom N). Quando criamos um agrupamento, temos sua ordem definida pela ordenao base (definida na criao do grupo). Para mudar a ordenao do agrupamento do seu relatrio, acesse o menu Report | Group Sort Expert... ou o cone e ser apresentada a seguinte tela:

No Sort no aplica nenhum tipo de ordenao no grupo escolhido. All esta opo ir ordenar todos os grupos baseando-se no sumario definido na opo basead on de forma crescente ou decrescente.

______________________________________________________________________________________________ 45

Treinamento Crystal Reports XI

Top N Esta opo ira mostrar em ordem decrescente, os valores baseados na operao definida em based on.

Pode se limitar o numero de grupos a serem mostrados

Selecione esta opo para sumarizar os grupos com valores iguais

______________________________________________________________________________________________ 46

Se desejar incluir um grupo outros (ou qualquer outro nome), de registros que no satisfazerem o ranking, escolha esta opcao

Treinamento Crystal Reports XI


Botton N Esta opo ira mostrar em ordem crescente, os N valores baseados na operao definida em based on. Top Percentage Esta opo ira mostrar em ordem decrescente os N % os maiores valores baseados na operao definida na opo based on. Botton Percentage Esta opo ira mostrar em ordem crescente os N % os piores valores baseados na operao definida na opo based on. Where N is Esta opo permite escolher o numero de itens no ranking, atravs do boto este valor poder vir de um campo do banco de dados, parmetro ou formula.

Importante: O valor do total geral do relatrio no ser alterado em funo da escolha de apresentao de 5 primeiros (Top N) ou 5 ltimos (Botton N).

Sumarizando
Temos, neste nosso relatrio, que colocar a totalizao quantidades dos itens nas diversas filiais, podendo assim visualizar a quantidade de pecas disponveis no grupo para cada item. As formas de sumarizao que podemos utilizar so: Soma (subtotal e total) Media Valor mnimo Valor Maximo Contagem Contagem Distinta. Para isso devemos selecionar o campo (numrico) desejado e clicar em Insert | Summary... ou clicar no cone . Em nosso relatrio iremos totalizar (por sumarizao) o campo tpeesatpe.esatpeqtdest (quantidade em estoque).

______________________________________________________________________________________________ 47

Treinamento Crystal Reports XI

Campo que ser sumarizado

Opes de sumarizao disponveis para o campo selecionado

Total Geral (Grand Total ou subtotal)

Em nosso exemplo iremos colocar nossa sumarizao no Group #1, pois no faz sentido totalizarmos os itens do estoque independente de sua codificao. Assim teremos o resultado: Por se tratar de um campo numrico, o Crystal Reports ira utilizar informar ao resultado duas casas decimais e devera ser usado o cone para acertar o numero de casas decimais.

______________________________________________________________________________________________ 48

Treinamento Crystal Reports XI

Todos os totalizadores so apresentados no relatrio em Negrito podendo ser alterado posteriormente seu fonte, cor, tamanho, etc, inclusive colocao de bordas e sombras que sero vistos mais a frente. O totalizador pode ficar tanto no Group Footer como no Group Header com o mesmo efeito.

______________________________________________________________________________________________ 49

Treinamento Crystal Reports XI

Capitulo 7

Parmetros de filtro

______________________________________________________________________________________________ 50

Treinamento Crystal Reports XI


Parmetros de filtro para execuo do relatrio.
Quando criamos um relatrio no o fazemos para ser uma simples listagem somente com os dados referentes a uma ou mais tabelas, sempre desejamos interagir com a mesma, extraindo somente as informaes que desejamos. No Crystal Reports possvel definir campos (filtros) com parmetros dinmicos onde sero informados os filtros que desejamos. Em nosso relatrio, vamos tomar como exemplo a situao de querermos filtrar os itens de uma s filial, mas com a possibilidade de selecionar mais de uma ou todas. Existem trs passos que so necessrios para que um filtro funcione corretamente: 1- Criar o filtro 2- Coloc-lo. Aparecendo ou sem relatrio. 3- Parametriza-lo no Select Expert.

aparecer

no

Para criar um campo parmetro devemos acessar o boto ou ir direto ao quadro Field Explorer e na opo Parameter Fields clicar com o boto da direita e selecionar a opo New, ser aberta a tela Create New Parameter, como a seguir

______________________________________________________________________________________________ 51

Treinamento Crystal Reports XI

Neste quadro temos as seguintes opes: Opo Name Descrio Nome para identificar o campo parmetro. Posteriormente ao utilizar o campo parmetro ele ser exibido como {?Nome do parmetro}. Informe o tipo de dado de cada parmetro. Se estiver utilizando um campo para ajustar a seleo de registros de um campo string voc precisara definir o campo parmetro como string tambm. Existem sete tipo de dados permitidos: boolean, currency, date, datetime,number, string e time. Static: Os valores exibidos no parmetro so estticos. Dynamic: Os valores exibidos na lista de parmetros provem dos dados do banco de dados.

Type

List of Values

Caso a opo selecionada seja Static: Opo Descrio Value Field Campo que ser baseada a criao da lista esttica. Description Selecione a descrio, caso necessrio. Value Selecione o valor do campo que ser exibido durante a exibio do parmetro. Desription Selecione a descrio, caso necessrio.

______________________________________________________________________________________________ 52

Treinamento Crystal Reports XI


Caso a opo selecionada seja Dynamic: Opo Descrio Prompt Group Text Texto exibido como cabealho da tela de parmetros. Value Selecione o campo em que ser baseado o parmetro. Description Selecione a descrio, se necessrio. Parameters Ao selecionar a opo, um objeto parmetro ser criado, este ficara atrelado aos dados do banco de dados. OBS: Para esta opo, possvel criar at 1000 objetos do tipo parmetro encadeados. Options Caso a opo selecionada seja Static Opo Descrio Prompt Text Informe aqui o texto que ser informativo para a digitao do contedo do parmetro. Prompt With Description Only (True / False) Uma vez informados os valores e descrio, esta opo permite a visualizao ou no das descries de cada valor do parmetro, devera considerar a opo Allow custom values. Static: Os valores exibidos no parmetro so Default Value estticos. Dynamic: Os valores exibidos na lista de parmetros provem de dados do banco de dados. Allow custom values (True / False). Permite a edio ou no dos valores da lista. Allow multiple values (True / False). Permite a digitao de mltiplos valores para o parmetro. Allow discrete values (True / False). Permite a digitao de valores discretos. Allow range values (True / False). Permite a digitao de range de valores. Min length Informe o numero mnimo de caracteres do valor do parmetro. Max length Informe o numero Maximo de caracteres do valor do parmetro. Edit mask Permite especificar uma mascara para a entrada de valores. Os caracteres possveis so: A Permite a entrada de um caracter alfa e requer que se entre com um caracter no campo parmetro. a Permite um caracter alfa e no requer a entrada do caracter. 0 Permite um numero [0 - 9] e requer a entrada do caracter no parmetro. 9 Permite um numero ou espao, no requer a entrada do caracter.

______________________________________________________________________________________________ 53

Treinamento Crystal Reports XI


# Permite um numero, espao, ou sinal de mais/menos, e no requer a entrada do valor. L Permite uma letra [A Z], e requer que o valor seja digitado. ? Permite uma letra e no requer que o valor seja digitado. & Permite qualquer caracter ou espao e requer que o valor seja digitado. C Permite qualquer caracter ou espao e no requer que o valor seja digitado. . , : ; - / (Separadores). < Faz com que os caracteres subseqentes sejam convertidos para minsculo. > Faz com que os caracteres subseqentes sejam convertidos para maisculo. \ Faz com que os caracter subseqente seja mostrado com um literal. Password Faz com que os caracteres digitados sejam substitudos por *.

Caso a opo selecionada seja Dynamic. Opo Descrio Prompt Text Informe aqui texto que ser informativo para a digitao do contedo do parmetro. Sort Order (Ascending by Value / Descending by Value / Ascending by Description / Descending by Description) Pode-se informar a ordem de visualizao das informaes. Prompt With Description Only (True / False). Uma vez informados os valores e descrio, esta opo permite a visualizao ou no das descries de cada valor do parmetro, devera considerar a opo Allow custom values. Allow multiple values (True / False) Permite a digitao de mltiplos valores para o parmetro. Allow discrete values (True / False). Permite a digitao de valores discretos. Allow range values (True / False). Permite a digitao de range de valores. Depois de criado o campo parmetro, o mesmo aparecer no grupo Parameters Fields, na janela Field Explorer.

______________________________________________________________________________________________ 54

Treinamento Crystal Reports XI

Utilizando Campos parmetro em seleo de registros

Uma utilizao muito comum do campo parmetro automatizar a seleo de registros. Suponhamos que nosso relatrio tenha a seguinte formula de seleo de registros (formula criada pelo select expert onde foi informado TGLFORNEC.FORNECNOMSIGLA equal ABC), conforme exemplo abaixo:

utilizando o parmetro informado na execuo do relatrio podemos dinamizar a seleo da seguinte forma:

______________________________________________________________________________________________ 55

Treinamento Crystal Reports XI


Assim quando o relatrio for executado ou atualizado pelo (F5), ser solicitado um novo parmetro e assim mudar a seleo/apresentao do relatrio. A tela de informao de parmetros ser parecida com esta:

Alterando o Parameter Filter para Dynamic e clicando no campo value seleciona-se o campo do banco de dados que queremos usar como base do parmetro.

______________________________________________________________________________________________ 56

Treinamento Crystal Reports XI


Apresentando-se desta forma:

No mesmo parmetro pode-se utilizar vrios filtros

______________________________________________________________________________________________ 57

Treinamento Crystal Reports XI

Importante: Para que o filtro tenha efeito, alem de selecion-lo no Select Expert, ele necessita estar em uma rea qualquer do relatrio, podendo ficar visvel ou invisvel. Para tornar qualquer item invisvel no relatrio deve-se utilizar o boto Suppress da barra de ferramentas. Pode se utilizar o parmetro criado para complementar ttulos e outras informaes do relatrio da seguinte maneira: Na aba Design

Na aba Preview O parmetro informado tambm pode ser utilizado como parmetro de calculo para frmulas do relatrio. Criamos um parmetro onde informaremos o valor de Multiplicao por exemplo.

______________________________________________________________________________________________ 58

Treinamento Crystal Reports XI

E utilizar a varivel alimentada como parmetro na formula:

Abordaremos Frmulas no prximo captulo.

______________________________________________________________________________________________ 59

Treinamento Crystal Reports XI

Capitulo 8

Frmulas, Funes e Operadores

______________________________________________________________________________________________ 60

Treinamento Crystal Reports XI


Inserindo Frmulas
No Crystal Reports as frmulas so utilizadas principalmente para calcular e apresentar informaes que no existem no banco de dados. Alem das operaes padro, (soma, subtrao, multiplicao e diviso) podemos utilizar as frmulas para: - Extrair uma parte ou partes de um texto. - Subtrair ou somar campos data ou valores somados as datas (dd/mm/aa + 10 dias). - Extrair parte de um campo data como dia, ms ou ano. - Fazer operaes do tipo if-then-else (se-ento-seno). - Sumarizar valores e criar totais. Importante: No Dealer e no Spneus as datas so tratadas como campo numrico, necessitando assim um tratamento especial na sua utilizao. No SprCom o campo data esta definido como DataTime (data e hora juntos).

Componentes de uma formula no Crystal Reports XI.


O Crystal Reports utiliza-se de duas linguagens bsicas para criao de frmulas o Crystal Syntax e o Basic Syntax. Crystal Syntax Linguagem prpria da ferramenta. Basic Syntax Linguagem Visual Basic. Usando o Formula Editor (Editor de frmulas) voc combina campos, operadores e funes para criar uma frmula. O Editor de Formulas lhe permite digitar os componentes da frmula diretamente, ou no caso de campos, funes, operadores, sumarizaes e outras frmulas; permitir a seleo destes a partir de cliques em listas disponveis e o Crystal os digitara por voc. Os vrios componentes de uma frmula se sua sintaxe esto listados abaixo: Componente Sintaxe Campos do banco de dados Nmeros Operadores Funes {tabela.NomeDoCampo} Simplesmente digitados sem separadores de milhar (ex: 300000). Um espao antes e um depois de um operador so opcionais, ou seja, 2+2 tem o mesmo efeito de 2 + 2. NomedaFuno (argumento1, argumento2) Podem existir um ou mais argumentos para uma funo. FunoSumarizao ({tabela.CampoSendoSumarizado}, {tabela.CampoUsadoNaFormaoDoGrupo}) Deve ser colocado o smbolo @ antes do nome da

Sumarizaes

Frmulas dento de frmulas

______________________________________________________________________________________________ 61

Treinamento Crystal Reports XI


formula: {@NomeDaFrmula} Sempre entre aspas, tanto simples como duplas (ex: Texto ou Texto).

Texto

Comentrios

// deve-se repetir o conjunto de duas barras no inicio de cada linha que voc quer comentar

Dica: Maisculas e minsculas so ignoradas pelo Editor de Frmulas, exceto em comparaes de contedos de textos. ex: Oi = oi resultar em erro, caso a opo Database Server is Case-Insensitive no menu File | Report Options esteja desmarcada. Se estiver marcada a comparao entre os dois textos entre aspas ser idntico. Dica: O <ENTER> tambm ignorado pelo Editor de Frmulas, Voc pode ter quebras de linha em qualquer lugar na frmula. prtica comum dividir frmulas longas em pedaos para facilitar sua leitura e edio.

O Formula Editor (Editor de Frmulas)


Para acessar o Formula Editor e estudar suas opes, clique no campo Formula Fields do quadro Field Explorer com o boto direito do mouse e selecione a opo New. Ou ento clique no boto na barra de tarefas.

Ira ser solicitado um nome para a formula que esta sendo criada.

E ser aberto o Editor de Frmulas.

______________________________________________________________________________________________ 62

Treinamento Crystal Reports XI

O Formula Editor tem cinco sees principais, so elas: rvore de Campos Field Tree Todos os campos do banco de dados e demais frmulas esto listados aqui. Os campos e frmulas que esto colocados no relatrio esto listados sob Report Fields. Os campos que no esto presentes no relatrio, mas que tambm podem ser utilizados na composio das frmulas, esto logo abaixo dos Report Fields no formato:

rvore de Funes Function Tree Todas as funes disponveis esto listadas agrupadas por tipo (Arrays, Date and Time...). Ao expandir o grupo de tipos, por exemplo Alerts, sai mostradas as funes e is argumentos necessrios entre parnteses. As funes so procedimentos pr-definidos fornecidos com Crystal Reports que retornam valores.

______________________________________________________________________________________________ 63

Treinamento Crystal Reports XI


rvore de Operadores Operators Tree Operadores so smbolos especiais que descrevem uma ao que deve ocorrer entre dois ou mais valores dentro da frmula. O Crystal Reports l os operadores em uma Frmula e realiza as aes especificadas. Os caracteres x e y indicam a sintaxe apropriada para o operador. Os operadores esto agrupados por tipo.

Edio de Texto Edit Text Este o local onde as frmulas so digitadas. Campos, Funes e Operadores vo aparecer onde o cursor estiver piscando quando voc der um clique duplo nos componentes listados anteriormente, ou digit-los.

Esta a barra de ferramentas do Formula Editor:

Ela disponibiliza botes teis para a criao de frmulas. Cada um destes botes esto listados e comentados a seguir: Check verifica a sintaxe da frmula. Undo desfaz uma ao. Redo refaz uma ao. Browse Data mostra alguns valores de um campo do banco de dados (desde que no seja do tipo memo), trazendo tambm o tipo de campo e a opo e copiar e colar algum valor da frmula. Find or Replace procura e/ou substitui um texto na caixa de edio de texto. Sort Trees organiza em ordem crescente ou decrescente as rvores de componentes do Formula Editor. Syntax S altere caso tenha grande familiaridade com o

______________________________________________________________________________________________ 64

Treinamento Crystal Reports XI


Visual Basic. Criando e utilizando frmulas em relatrios

Temos em nosso relatrio exemplo a venda referente a um perodo previamente definido onde alem da descrio do grupo, temos a quantidade e o valor de vendas sumarizados. Iremos criar uma formula para definir o valor mdio de venda dos servios. A frmula valor mdio ficara com o contedo: Sum ({TNFITNFSA.ITNFSAVLRTOTAL}, {TNFITNFSA.ITNFSADES}) ({TNFITNFSA.ITNFSAQTD}, {TNFITNFSA.ITNFSADES}) / Sum

Informamos a formula que o valor sumarizado da valor total do item da Nota fiscal deve ser dividido pelo valor sumarizado da quantidade de itens (mesmo cdigo) dos itens da nota fiscal. Importante: Toda formula, quanto adicionada no corpo do relatrio, na aba design inicia o seu nome pelo smbolo @ + o nome de criao. Arrastamos a formula para nosso relatrio e temos:

______________________________________________________________________________________________ 65

Treinamento Crystal Reports XI

Iremos implementar nosso relatrio com o percentual de participao no ranking com a formula que chamaremos de participao. Para criar esta formula de forma rpida, iremos informar a sumarizao do total da venda (total do item) com o sinal de % e o total sumarizado (total geral) como representado abaixo. Sum ({TNFITNFSA.ITNFSAQTD}, ({TNFITNFSA.ITNFSAQTD}) {TNFITNFSA.ITNFSADES}) % Sum

O sinal % extrai do total geral o percentual do quantidade vendida (total do item). Para adicionar o sinal de % aps o valor, basta selecionar o campo (na rea do relatrio) onde da barra de tarefas. esta o percentual calculado e clicar no boto Declarao de Variveis Em algumas situaes ser necessria a declarao de variveis para utilizao em formulas. Para a declarao de uma varivel precisamos definir seu escopo e o seu tipo. Os escopos de variveis so: Global Variveis que podero ser utilizadas em qualquer frmula dentro do relatrio. Local Variveis que somente so interpretadas dentro da frmula dentro do
______________________________________________________________________________________________ 66

Treinamento Crystal Reports XI


relatrio. Variveis que podem ser utilizadas em subrelatrios.

Shared

Os tipos de variveis so: BooleanVar armazena booleanos (True ou False) NumberVar armazena nmeros CurrencyVar armazena valores monetrios DateVar armazena datas no formato Date(aaaa/mm/dd) TimeVar armazena tempo no formato Time(hh,mm,ss) DateTimeVar armazena datas/hora no DateTime(aa,mm,dd,hh,mm,ss) StringVar armazena texto

formato

Para carregar uma varivel, informamos o seu valore pr-cedido de := (dois pontos e sinal de igual). Exemplo: shared numbervar x:= 0 local stringvar mensagem:=Teste de carga de texto em varivel global currencyvar:= 0 Com a definio de variveis podemos criar uma formula para a de converso de campos data (as datas no Dealer e no Spneus so armazenadas no banco de dados com o formato numrico e invertida AAAAMMDD, j no SprCom elas so armazenadas como DataTime, data e hora juntos) e podermos apresent-las em nosso relatrio num formato amigvel. Comeamos definindo o parmetro dinmico (Parameter Filter onde poderemos informar as datas e temos um relatrio personalizado). Nome do parameter filter: Dataini Tipo do parmetro : Numrico. Ao ser carregado (F5) ele se torna uma varivel com o contedo digitado na execuo e pr-cedido de ?, ficando com, neste caso, o nome {?Dataini} Veja a estrutura da frmula: shared stringvar datainicial := mid (ToText ({?Dataini}),9,2) + "/" + mid (ToText ({?Dataini}),6,1) + mid (ToText ({?Dataini}),8,1)+ "/" + left (ToText ({?Dataini}),2) + mid (ToText ({?Dataini}),4,2) Usamos uma varivel de escopo Shared, tipo String e nome datainicial, foram utilizadas as funes mid, left e ToText. ToText Mid Left transforma a data numrica carregada pelo Parameter Filter Extrai do texto (ToText) as posies desejadas, sendo os parmetros (ltimos dentro do parnteses) a posio inicial e o tamanho. Extrai do texto (ToText) as posies desejadas, sendo o parmetro

______________________________________________________________________________________________ 67

Treinamento Crystal Reports XI


somente o tamanho
Ento temos a informao vinda do Parameters Filter no formato (numrico) 20.061.112,00 e aps a converso, carregada na varivel datainicial temos 12/11/2006, o qual podemos arrastar a formula {@dataini} para o relatrio. Pode se usar tambm estrutura de controle tais como if-then-else. Utilizaremos uma estrutura de lao para definir qual o nvel, baseado nos valores em percentual, de retorno de venda. Se a participao for menor ou igual a 1.99 = Ruim Se a participao for maior ou igual a 2 e menor ou igual a 9.99 = Regular Se a participao for maior ou igual a 10 = Excelente. Nossa formula ficou: shared stringvar lista:= if {@participacao} <= 1.99 then "Ruim" else if {@participacao} >= 2 and {@participacao} <= 9.99 then "Regular" else if {@participacao} >= 10 then "Excelente" e o resultado apresentado ficou:

Dica: As formulas, alem do Formula Fields, em todo cone em qualquer tela de parmetro ou configurao poder ser utilizado formulas (com qualquer campo do banco de dados) para condicionar o relatrio.

*Formula para converso de data informada no parameters Fields.


shared stringvar datafin := mid (ToText ({?Data Final (Formato AAAAMMDD)}),9,2) + "/" + mid (ToText ({?Data Final (Formato AAAAMMDD)}),6,1) + mid (ToText ({?Data Final (Formato AAAAMMDD)}),8,1)+ "/" + left (ToText ({?Data Final (Formato AAAAMMDD)}),2) + mid (ToText ({?Data Final (Formato AAAAMMDD)}),4,2)

* O banco de dados utilizado nesta apostila tem o campo data em formato numrico.

______________________________________________________________________________________________ 68

Treinamento Crystal Reports XI

Capitulo 9

Cross-Tab

______________________________________________________________________________________________ 69

Treinamento Crystal Reports XI

Definio de Cross-Tab Um Cross-Tab um tipo de relatrio que sumariza as informaes em um formato compacto de linhas e colunas, o que facilita a analise e compreenso dos resultados obtidos. No Crystal Reports, um Cross-Tab um objeto que pode ser construdo atravs de assistente especifico ou inserido em outros tipos de relatrio, tantas vezes quantas forem necessrias. O Crystal Reports apresenta poderosas capacidades de trabalho com Cross-Tab. - Incluso de mltiplas sumarizaes ou clculos em Cross-Tab. Por exemplo, para uma tabela de produtos pode-se sumarizar as informaes de quantidade e preo, mostrando uma soma de quantidades e uma media de preos. - Mostrar percentuais inclusive na posio horizontal. - Utilizar formulas de primeira etapa (que no utilizem subtotais ou sumarizaes) que estejam definidas em qualquer parte do relatrio nos Cross-Tab. - Imprimir Cross-Tab que se expandam alem do limite de largura da pagina onde ele esta inserido e mostrar nmeros destas paginas virtuais e textos de cabealho. - Linhas e colunas com cores de fundo, bordas e fontes para melhor visualizao e maior facilidade de compreenso na analise dos dados. - Controle de quebra de paginas, realce de valores com formatao condicional, utilizao de rtulos (Labelo), supresso de totais e subtotais e de linhas em branco, ordenao especifica, agrupamento por intervalo de datas.

Criando um Objeto Cross-Tab.


A localizao de um Cross-Tab s pode ser em Report Header ou em Report Footer

reas onde pode-se localizar o Cross-Tab

Para inserir um relatrio Cross-Tab em um relatrio, os seguintes passos devem ser seguidos:
______________________________________________________________________________________________ 70

Treinamento Crystal Reports XI

1 Acesse o menu Insert | Cross-Tab ou o cone e a seguinte tela do Cross-Tab Expert se abrir, o objeto ficar acoplado ao mouse, insira-o no cabealho ou no rodap do relatrio. O seguinte objeto ser inserido:

2- Clique com o boto da direta do mouse e escolha a opo seguinte tela ser exibida:

,a

O Cross-Tab Expert
O assistente de Cross-Tab (Cross-Tab Expert) mostrado acima, tem as seguintes opes:

______________________________________________________________________________________________ 71

Treinamento Crystal Reports XI


Esta rea mostra os campos j inseridos no relatrio, alem daqueles disponveis no banco de dados que esta sendo utilizado no relatrio. Os seguintes botes tambm esto disponveis na tela: Browse Data Dependendo do campo selecionado, esta opo mostra dados da tabela, tipo e tamanho (se aplicvel). Find Field Se a lista de campos for muito extensa, o desenvolvedor poder ser usada esta opo para digitar o campo desejado e o CR o destaque na lista. New Formula Caso seja necessrio informar no Cross-Tab um campo formula que ainda no esteja criado, este boto abre o Formula Editor.

Coluna

Esta rea destina-se s informaes dos campos que formaro as colunas, linhas e campos de sumarizao do Cross-Tab, como tambm suas configuraes.

Linha

No boto Group Options as seguintes informaes podero ser encontradas, e as seguintes configuraes podero ser feitas:

______________________________________________________________________________________________ 72

Treinamento Crystal Reports XI

Group Options mostrara as configuraes de ordenao desta linha de forma semelhante aquela utilizada no agrupamento de registros. O boto Change Summarized, as seguintes opes podero ser encontradas:

Change Summary Mostrar as opes de sumarizao para o campo e a opo de mostrar os valores na forma de percentuais. Este o resultado de um Objeto Cross-Tab.

______________________________________________________________________________________________ 73

Treinamento Crystal Reports XI

Importante: O Cross-Tab um objeto de sumarizao, e portanto s pode ser inserido nas sees de Group Header, Group Footer, Report Header e Report Footer.

______________________________________________________________________________________________ 74

Treinamento Crystal Reports XI

Capitulo 10

Formatando sees e qualidade na apresentao de relatrios.

______________________________________________________________________________________________ 75

Treinamento Crystal Reports XI


Agora que j temos todas as informaes que necessitamos em nosso relatrio, iremos formatar as sees e dar aparncia profissional ao relatrio.

Formatando Sees com o Assistente de Seo


O Section Expert oferece grande flexibilidade e poder quando formata diferentes sees do relatrio. A maior parte delas pode se tornar condicional com o uso de formulas de formatao condicional, atravs do boto .

Para abrir o assistente de seo, voc pode utilizar: . - clique no boto Section Expert - escolha o menu Report | Section Expert. - escolha a opo Section Expert... a partir do menu de atalho, obtido ao clicar com o boto direito no nome de alguma seo (rea cinza). Ser apresentada a tela:

Observe na parte superior direita da tela as abas Common e Color.

______________________________________________________________________________________________ 76

Treinamento Crystal Reports XI


As opes ativas no aba Common iro variar dependendo da seo que estiver realada na lista de sees. Somente opes aplicveis seo selecionada estaro disponveis.

As opes da Aba Common


Free-Form Placement Quando esta opo selecionada, o programa habilita-o posicionar os ambientes freeform similar ao de um programa de desenho. Quando esta opo no esta selecionada, objetos so colocados em pontos fixos, e so criadas automaticamente guidlines horizontais na seo selecionada. Hide (Drill-Down OK) Ele evitara que a seo selecionada seja mostrada, mas mesmo assim permitira o uso do clique duplo em um campo para de sumario para abrir uma nova Aba de exibio o mostrando os dados de detalhes que constituem aquele valor de sumario. Suppress (No Drill-DOwn) Ter o mesmo efeito de formatao Hide,mas no permitira o uso de clique duplo em um campo de sumario, para visualizar os dados de detalhe. Print at Bottom of page Forara que os objetos que estiverem na seo sejam impressos no local mais baixo possvel da pagina. Em um relatrio que gera faturas, por exemplo, voc gostaria que cada fatura tivesse o total impresso no final da pgina. Desta maneira, todas faturas tem o total impresso sempre no mesmo local, no importando quantas linhas existam na fatura. New Page After e New Page Before Normalmente usadas com Group Headers ou Group Footers. Estes comandos foraro uma quebra de pagina antes de entrar na seo para qual voc aplicou esta formatao, ou logo aps. Suponha que seu relatrio mostre todos os clientes, agrupados por CEP e voc queira cada CEP em folha separada. Aplicando New Page Before ao Group Footer, voc ter um agrupamento de CEPs por folha. Ou suponha que voc queira uma pagina titulo para seu relatrio. Ento voc poderia aplicar New Page After no Cabealho do Relatrio, e colocar todos os itens que voc desejar dentro da pgina titulo no Report Header.

______________________________________________________________________________________________ 77

Treinamento Crystal Reports XI


Dica: Para evitar que a ultima pgina do relatrio fique apenas com o Page Header ou com Page Footer ao ativar a opo New Page After em uma seo Group Footer, por exemplo, acesse a sua formatao condicional atravs do boto e use a formula: not onlastrecord. . A mesma lgica deve ser utilizada para a formatao New Page Before em Group Headers, porem a formula devera ser: not onfirstrecord. Reset Page After Number Esta opo faz com que a numerao de pagina seja reiniciada a cada seo (onde a mesma esteja definida). Um exemplo pratico disto um relatrio de vendas por vendedor, onde a cada quebra por vendedor a numerao da parina seja reiniciada. Keep Together Esta opo previne as quebras de pagina de espalharem dados de um nico registro em duas paginas, ou seja, quando esta opo esta marcada, todas as linhas da seo juntas, tanto na pagina atual (se h espao) quando na prxima pagina (se no h espao). Obs: esta opo no funciona com campos string de varias linhas ou com campo do tipo memo. A quebra de pagina pode ocorrer no meio do campo, neste caso. Suppress Blank Section Ir suprimir a impresso da seo se todos os campos naquela seo estiverem em branco. Uma utilizao tpica desta funo seria a criao de um relatrio de etiquetas de correspondncia onde no h uma segunda linha de endereo e voc no quer que o registro vazio seja impresso. Underlay Following Sections Esta opo permitir que quaisquer objetos que estiverem na secao flutuem ate a prxima seo permitindo que objetos da seo seguinte sejam impressos no topo da primeira. Voc pode colocar o logo da empresa em Page Header e acionar o comando Underlay Following Sections para que o Page Header crie um efeito de marca dgua. Read-only Esta opo bloqueia a formatao dos objetos que esto dentro da seo, impedindo que sejam alterados ate que esta opo seja desmarcada. Esta opo tambm desabilita varias opes de formatao da prpria seo atravs do menu atalho. Relative Positions Esta opo permite que possam ser inseridos objetos textos, campos de dados e formulas ao lado direito de objetos do tipo Cross-Tab ou figuras, por exemplo, pois durante a impresso, o objeto ser deslocado para a direita no truncando com a informao do objeto Cross-Tab ou figura.

______________________________________________________________________________________________ 78

Treinamento Crystal Reports XI


As opes da Aba Color

Na aba Color poder ser selecionada uma cor de fundo para cada uma das sees do relatrio. Ao ativar a opo Background, o combo de cores estar ativado. Basta selecionar uma cor a partir desta lista para tornar esta cor preenchimento da seo. Ao clicar no boto de formula poder ser adicionada uma formula e tornar a cor do fundo condicional. A formatao condicional aplicada na formula ira ignorar qualquer formatao absoluta. Se forem escolhidas duas cores diferentes, devera ser preenchido completamente uma afirmao if-then-else ou o else vai ser impresso em preto e branco como padro. Por exemplo, se for desejado uma a cada duas linhas, tenha seu fundo sombreado, seria necessrio adicionar uma formula como esta na seo Details: A formula a ser adicionada para o efeito zebrado : If Remainder (RecordNumber,2) <> 0 then Silver else White.

______________________________________________________________________________________________ 79

Treinamento Crystal Reports XI


Campos especiais
Os campos especiais contem informaes que normalmente no esto em tabelas do banco de dados e so, de certa forma, importantes para o relatrio. O crystal Reports XI permite inserir estas informaes a partir do menu View | Field Explorer na aba Fields na rea . No Crystal Reports XI existem os seguintes campos especiais. Content Locale Current CE User ID Current CE User Name Current CE User Time Zone Data Date Data Time Data Time Zone File Author Mostra o idioma atual utilizado na maquina ID numrico do usurio atual (Somente para a verso Enterprise) Nome do usurio atual (Somente para a verso Enterprise) Mostra o Time Zone configurado para o usurio. Data dos dados, ou seja do ultimo refresh. Hora dos dados, ou seja do ultimo refresh. Mostra o Time Zone sobre o qual estao sendo impressos no relatrio a Data e Hora. Mostra o autor do relatrio, caso ele esteja cadastrado na caixa de texto Author no menu File | Summary Info. Data de criao do arquivo presente no menu File | Summary Info da aba Statistics. Mostra o caminho onde o arquivo .rpt foi salvo. Numero de Grupos criados no relatrio Seleo dos grupos caso eles estejam presente na seleo. Mostra o numero de paginas virtuais caso no caso de objetos que sejam maior que a largura da pagina. Data em que o relatrio foi modificado pela ultima vez Hora em que o relatrio foi modificado pela ultima vez Numero a pagina atual e o total de paginas no formato: Page 1 of 16 Numero da pagina atual Data em que foi impresso o relatrio (data da maquina) Hora em que foi impresso o relatrio (hora da maquina) Mostra o time zone sobre o print date e o print time que estao sendo impressos no relatrio atual. Numero do registro por pagina (acumlativo) Imprime a seleo dos dados em que o relatrio esta baseado. Imprime o contedo da caixa de dialogo Comments em File | Summary Info. Mostra o titulo do relatrio caso esteja cadastrado na caixa de texto title no menu File | Summary Info. Numero total de paginas no relatrio.

File Creation Date File Path and Name Group Number Group Selection Formula Horizontal Page Number Modification Date Modification Time Page N of M Page Number Print Date Print Time Print Time Zone Record Number Record Selection Formula Record Comments Report Title Total Page Count

______________________________________________________________________________________________ 80

Treinamento Crystal Reports XI

Para inserir o campo especial desejado, orraste-o a partir do grupo Special Fields (abaixo), para o local desejado do relatrio.

Linhas e Caixas
Inserindo linhas e caixas Para inserir linhas e caixas aconselhvel utilizar a aba Designer pois mais fcil para ver qual rea estamos trabalhando e como as caixas devem ser posicionadas. Por exemplo, uma linha na rea Page Header ser impressa somente uma vez, enquanto que na rea Details ser impressa a cada registro. Para desenhar uma linha Voc pode inserir as linhas no relatrio clicando no menu Insert | Line ou clicando no boto . Uma vez selecionado, o ponteiro do mouse ficara com o formato de lpis.Posicione a ponta do lpis no local que deseja iniciar a linha, clique o boto esquerdo do mouse e arraste ate o ponto final desejado. Ao soltar o mouse, a linha estar desenhada. Uma vez desenhado, pode-se ser redimensionado, ajustada a sua posio ou mesmo modificar suas caractersticas tais como: Style Width Color - Estilo da linha: simples, tracejada ou pontilhada. - Espessura da linha. - Cor da linha

______________________________________________________________________________________________ 81

Treinamento Crystal Reports XI

O Crystal Reports permite desenhar linhas na horizontal tanto na vertical, respeitando o tamanho das sees. Para acessar o menu de personalizao da linha deve-se acessar o menu Format | Line ou clicar sobre a linha, sobre ela clicar com o boto direito do mouse e escolher a opo Format Line. Para desenhar uma caixa Pode-se definir caixa como moldura do texto ou campo desejado. Para desejar uma caixa, deve-se acessar o menu Insert | Box ou clicar no boto .O ponteiro do mouse ficara com o formato de lpis.Posicione a ponta do lpis no local que deseja iniciar a caixa, clique o boto esquerdo do mouse e arraste ate o ponto final desejado. Ao soltar o mouse, a caixa estar desenhada. Atente para o detalhe que a caixa um objeto de sobreposio, ou seja ela poder ficar sobre um registro impresso, um titulo de campo ou titulo do relatrio, e se mal dimensionada, ficada desproporcional ou sobre o titulo. Uma caixa poder ser fixada somente em um campo (registro ou titulo) ou sobre um grupo de ttulos ou registros. Aps desenhada a caixa, a mesma poder ser redimensionada e alterada suas caractersticas. Para acessar estas caractersticas devera acessar a opo do menu Format | Box ou clicar selecionando a caixa, clicar com o boto da direita sobre a mesma e selecionar a opo Format Box. Estaro disponveis as opes:

Style Width Color Drop Shadown Fill

Estilo da linha: simples, tracejada ou pontilhada. Espessura da linha. Cor da linha. Sombra. Preenchimento (cor de fundo).

Na aba Rounding pode ser arredondar os cantos da caixa.

Inserindo uma Figura


Pode-se inserir figuras no relatrio tais como Logotipos, fotos, etc. Para inserir o relatrio deve-se acessar o menu Insert | Picture ou clique no boto da barra de tarefas. Ao acessar a opo, ser apresentada a tela para localizao e seleo da imagem. As imagens possveis de serem inclusas no relatrio so as de formato BMP, PCX, TIF, JPG, TGA ou PNG. Ao seleciona-las, ficara pendente na seta do mouse um quadro laranja (referente a imagem) que, aps definir sua localizao, ser fixada com um clique do

______________________________________________________________________________________________ 82

Treinamento Crystal Reports XI


mouse. A imagem ser importada no seu formato original, redimencionando a seo de acordo com seu tamanho. Aps a incluso do mesmo no relatrio, a mesma poder ser redimencionada de acordo com as pretencoes de exibio da imagem. Clicando com o boto da direita do mouse sobre a figura e selecionando a opo Format Graphic ser possvel:

Suprimir a impresso da figura e outras propriedades da aba Common. Dimensionar a figura a partir da aba Picture. Adicionar e formatar uma borda atravs da aba Border.

______________________________________________________________________________________________ 83

Treinamento Crystal Reports XI

Capitulo 11

Exportando e salvando relatrios.

______________________________________________________________________________________________ 84

Treinamento Crystal Reports XI


Salvando relatrios
Todos os relatrios devero ser salvos (gravados em disco) com a opo Save Data with Report desmarcada para ser salvo somente a estrutura do relatrio e sendo necessria a execuo do mesmo para nova apresentao: A opo a ser desmarcada segue no exemplo:

Opo a ser desmarcada

Exportao de Relatrios.
Atravs do Crystal Reports XI pode-se exportar seu relatrio para vrios formatos populares de processadores de texto, planilhas eletrnicas, entre outros.

Formatos de Exportao
Para acessar a opo de exportao do Crystal Reports XI voc pode acessar o menu File | Export... ou o cone onde as seguintes opes estaro disponveis:

______________________________________________________________________________________________ 85

Treinamento Crystal Reports XI

A partir desta tela pode se definir qual ser o formato da exportao, atravs da opo Format.

Nas opes do Destination podemos enviar o relatrio para uma aplicao, salvar em disco ou enviar por e-mail.

______________________________________________________________________________________________ 86