86
Treinamento Crystal Reports XI ______________________________________________________________________________________________ 1 Crystal Reports XI Apostila de treinamento Designer e Expert

90_Treinamento Crystal Reports XI

  • Upload
    isace

  • View
    2.452

  • Download
    14

Embed Size (px)

Citation preview

Page 1: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

1

Crystal Reports XI

Apostila de treinamento

Designer e

Expert

Page 2: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

2

A ferramenta Crystal Reports® foi desenvolvida para extração de informações de banco de dados no formato de relatórios com possibilidade de inclusão de fórmulas e comandos condicionais para execução dos mesmos. O pacote de ferramentas esta dividido em: Crystal Reports Developer®. Ferramenta de criação de relatórios a partir de um banco de dados seja ele por

conexão nativa do Crystal Reports® ou por meio de Drive ODBC. Crystal Reports Server®.

Ferramenta de publicação de relatórios para que o usuário final possa executá-lo. Seu funcionamento esta baseado em publicação via WEB e com criação de perfis de usuários. Permite também a execução de relatórios por agendamento e a gravação de espelho de relatórios anteriormente emitidos, ou seja, de forma parametrizável podem ser guardados os últimos 10 relatórios emitidos de cada tipo e o seu resgate não ira efetuar nenhuma consulta ao banco de dados.

Objetivo . Orientar ao treinando como proceder para a montagem de relatórios e criando condições de esclarecer ao cliente pontos relevantes às funcionalidades e vantagens da ferramenta. Material Didático. Este material é fruto de pesquisa na Internet e informações colhidas no curso referente ao produto. As informações aqui contidas são voltadas ao banco de dados Firebird.

Page 3: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

3

Capitulo 1

Preparação do Ambiente

Page 4: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

4

Pré-requisitos: Verificar a instalação ou Instalar na maquina o Firebird 1.5 para Windows.

Baixar do site http://prdownloads.sourceforge.net/firebird/Firebird_ODBC_1.2.0.69-Win32.exe?use_mirror=ufpr o drive de ODBC para o Firebird e instalar na maquina. Após instalação do drive de ODBC, entrar em Iniciar/Painel de controle/Ferramentas administrativas/Fonte de Dados (ODBC). Configuração do Drive de ODBC

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

Importante: O Crystal Reports 10 ou superior só funciona com o Windows XP Professional ou Windows 2000/2003.

Page 5: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

5

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>

Page 6: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

6

O restante das informações deve ser mantido como estão, clique em test connection e se a configuração estiver correta aparecera à mensagem:

Clique em OK para fechar a mensagem e clique em OK para finalizar. Execute a instalação do Crystal Reports XI, onde esta devera ser padrão.

Page 7: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

7

Capitulo 2

Carga Inicial

Page 8: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

8

O Crystal Reports XI® não 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 não localizou os arquivos de tradução para a língua Portuguesa (somente disponível para as versões originais com a baixa do Service Pack). Informe “Sim” para continuar.

Na coluna New Reports selecione a opção Blank Report para iniciar a criação de um relatório “em branco”. Ira ser apresentada a tela Database Expert , conforme figura abaixo.

Page 9: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

9

Expanda a opção “Create New Connection”.

Expanda a opção “ODBC (RDO)”. Selecione o “alias” criado para a conexão do banco de dados e clique em avançar >.

Page 10: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

10

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

Page 11: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

11

Page 12: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

12

Seleção de Tabelas Ao lado direito da tela Database Expert será apresentada a relação de tabelas do banco em uso.

Selecionar as tabelas que serão utilizadas no relatório efetuando um duplo clique ou clicando no botão “>”.

Importante : Para usuários que não estão acostumados com o banco de dados do sistema Spress, nas tabelas de dados (através de gerenciador de banco de dados como IBExpert, Dbaccess,etc) foi acrescida a letra “T” no inicio do nome. Ex. Tabela no Cobol Tabela no banco de Dados GLCLIENT TGLCLIENT CCNFREVI TCCNFREVI PEPABATO TPEPABATO As tabelas sofrem alterações 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.

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

Page 13: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

13

Após selecionar as tabelas envolvidas no relatório, clique no botão OK! e será apresentada uma nova janela para definição/aprovação dos links entra as tabelas:

Todos os campos de conteúdo iguais em tamanho e conteúdo (numérico, alfanumérico,etc.) são possíveis de serem feitos links.

Caso queira “limpar” os links existentes, basta clicar no botão Clear Links e após a confirmação da operação os links padrões serão 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.

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 não contiverem conteúdo comum, poderá haver distorção nos campos apresentados no relatório. Muitas tabelas podem esta linkadas pela chave montada (Ex: filial+data+numero da NF) e estarão nomeadas como campo Kx onde x=numero. Na maioria dos casos estas chaves não devem ser aproveitadas, pois não refletem a necessidade de links entre os campos que são necessários para busca de informação. (Nada impede das chaves montadas serem utilizadas no relatório).

Page 14: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

14

Capitulo 3

Iniciando a montagem do relatório

Page 15: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

15

Finalizada a montagem dos links, clique em OK! para continuar. Área de trabalho e suas opções

Na seção Design é onde iremos montar nosso relatório. Esta área de trabalho esta dividida em cinco partes (neste momento). Cada uma destas partes serve para um propósito diferente. A estas partes chamaremos de seção Seção Descrição Report Header Itens posicionados no Report Header (Cabeçalho do Relatório)

serão impressos apenas na primeira pagina do relatório. Normalmente o nome do relatório, data de emissão, logotipo da empresa, etc.:

Page Header Objetos inseridos no Page Header (Cabeçalho da Pagina) serão impressos em todas as paginas do relatório, como por exemplo, o titulo das colunas do relatório.

Details Nesta seção ficam os “registros”, as linhas de dados do relatório.

Report Footer No Report Footer localizam-se informações que devem ser impressas somente na ultima pagina, tais como totalizadores, sumários, etc.

Page Footer E finalmente aqui ficam as informações do rodapé do relatório como numerações de pagina, nome do relatório. As

Page 16: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

16

informações desta seção serão impressas em todas as paginas.

Field Explorer Iremos agora iniciar a colocação de colunas (dados) em nosso relatório. 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:

Através desta janela podem ser inseridos no relatório campos das tabelas do banco de dados, campos especiais, fórmulas (desde que já tenham sido criadas), totalizadores e campos de filtro de opções para execução. Expanda a opção Database Fields. Desta forma teremos a visualização das tabelas relacionadas para o relatório sendo representada pelo símbolo e os campos da tabela representado pelo símbolo .

Existem duas maneiras de inserir um campo de dados no relatório neste momento:

Page 17: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

17

1 – Clique sobre o campo desejado e arraste para o relatório. 2 – Clique com o botão direito do mouse sobre o campo desejado e escolha a opção Insert To Report , clicando no local desejado do relatório para inseri-lo.

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:

Visualizando os dados do Relatório: A próxima etapa da criação é visualizar os dados lidos no banco de dados.

Dica : Pode ser usado o recurso para inclusão de múltiplos campos simultaneamente com as tecla Ctrl ou Shift .

Dica : Por padrão o campo Field Heading do relatório vem com o nome do campo dentro do banco de dados, e eles podem ser alterados de acordo com a necessidade.

Page 18: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

18

Para isso, temos as seguintes opções: 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 opções acima ira disponibilizar a aba onde podemos visualizar os dados solicitados no relatório, sendo a área de trabalho parecida com a tela abaixo:

Reajustando o tamanho dos Objetos Todo objeto, ao ser selecionado, permite o seu redimensionamento tanto horizontal como vertical através de quatro pontos básicos de “arraste”.

Importante : Para melhor posicionamento dos campos e para que não haja problemas com tempo de leitura dos registros, aconselho que seja utilizada a aba Design para manutenções/alterações no relatório.

Page 19: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

19

Atividade Crie um relatório com as tabelas SICADUSU, SIUSUUSR, GLFUNCIO, efetue o relacionamento das tabelas e insira os campos: - Código do usuário. - Nome do usuário. Execute o relatório pressionando F5 ou outro método conhecido, veja o resultado, retorno para a aba Design e insira os campos: - Nome do funcionário. - Usuário SO Faça um novo Preview (F5), modifique o tamanho dos campos, modifique o titulo das colunas (field heading) se necessário, e execute novamente. Salve o relatório com um nome a sua escolha.

Page 20: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

20

Capitulo 4

Formatando Objetos

Page 21: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

21

Após inserir os campos num relatório, normalmente existe a necessidade de formatação 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 numérico que tenha 2 casas decimais seja apresentado no relatório com 4 casas decimais, seus números negativos entre parênteses ou em outra cor, fonte, tamanho do fonte,etc. Para alterar os atributos de um campo de um clique com o botão direito do mouse sobre

o campo desejado e escolha a opção Format Field o clique no ícone da barra de ferramentas. Dependendo do tipo dos dados disponíveis no campo ora escolhido, irão aparecer opções diferentes de formatação. De uma forma geral, as opções comuns a todos os tipos de dados são:

- Common - Border - Font - Hyperlink

Muitos atributos que serão vistos a seguir têm em seu lado direito o botão . Estes botões são usados para formatação condicional, a qual será abordada mais a frente. Aba Common Na aba Common são disponibilizadas varias opções, dentre as quais iremos comentar: ObjectName - Nome único que identifica este objeto no relatório inteiro. Toll Tip Text - Texto que aparecerá quando posicionar o mouse sobre o

objeto. Read-only - Bloqueia o campo para alteração de formatação. Lock Position and Size - Bloqueia o campo para alteração de posição e tamanho. Suppress - Suprime a visualização do campo em Preview. Suppress if Duplicated - Suprime a impressão de registros subseqüentes que estão

duplicados. Can Grow - Redimensiona a altura do campo automaticamente. -

Page 22: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

22

Aba Border Na aba Border são disponibilizadas opções de formatação das bordas do campo selecionado, tais como cor e formato. As mais comuns são: Line Style - Disponibiliza para cada uma das bordas (superior, inferior,

esquerda e direita) tipos de linhas para formatação, como segue:

Single – Simples Doublé – Dupla Dashed – Tracejada Dotted – Pontilhada Tight Horizontal - Ajusta o comprimento do campo na horizontal, de forma

automática dependendo do conteúdo.

Page 23: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

23

Drop Shadow - Sombreamento do Campo. Color - Alteração das cores da borda (border) e do fundo (background)

Dica: Um atalho para a formatação de bordas é o ícone da barra de ferramentas. Aba Font Na aba Font são disponibilizadas opções para formatar o campo com fonte, estilo, tamanho e cor.

Page 24: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

24

Aba Hyperlink Na aba Hyperlink são disponibilizados opções que permitem ao usuário do relatório navegar através de cliques, com o uso de Hyperlinks. A opção mais comum nesta Aba e: Hyperlink Type Configura o tipo de Hyperlink, ou seja, se apontara para um e-

mail, site, outro docto. Para cada um dos tipos selecionados na opção HyperLink Information .

Page 25: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

25

Dica: Um atalho para a formatação de hyperlinks é o ícone da barra de ferramentas.

Formatações especificas Há algumas opções de formatação que são visualizadas apenas quando determinados tipos de campos são selecionados. A seguir veremos algumas destas opções, dependendo do tipo de campo. A aba Number – Para campos numéricos ou moeda .

Page 26: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

26

Page 27: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

27

Na aba Number é possível configurar, em sua tela: Style configura a apresentação do campo numérico ou moeda no que

diz respeito à quantidade de casas decimais, formato do campo quando for negativo, utilização ou não do símbolo moeda.

Currency symbol permite mostrar ou esconder o símbolo moeda, bem como, quando visível, definir se este será fixo ou flutuante.

Caso estas opções não sejam suficientes, é possível clicar no botão Customize... para vermos a tela Custom Style com opções de formatação para o símbolo moeda (Currency symbol ) e para o próprio numero (Number ).

Podemos destacar as seguintes opções: Suppress if Zero não imprime os campos numéricos e/ou moeda quando forem

iguais a zero. Decimals configura a quantidade de casas decimais do número. Rouding define o arredondamento dos campos. Negatives define o modo de exibição do numero, quando negative. Decimal Separator define o símbolo para separar as casas decimais. Thousands Separator habilita ou não a utilização de separador de decimais.

Page 28: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

28

Symbol estando a opção anterior habilitada, define qual será o símbolo a ser utilizado.

Allow Field Clipping caso o tamanho do campo, for insuficiente para sua visualização, será exibido com #######, não sendo truncado.

Currency Symbol

Podemos destacar as seguintes opções: Enable Currency Simbol habilita ou desabilita a exibição de símbolo moeda para

este campo. Fixed/Floating estando a opção anterior habilitada, a opção Fixed deixara

os símbolos moeda uns sob os outros. Já a opção Floating deixará o símbolo moeda acompanhando o numero, seja ele decimal, centena, milhar...

Position define o posicionamento do símbolo moeda. Currency Simbol ajusta qual será seu símbolo moeda.

Page 29: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

29

A aba Date – para campos data ou data-hora.

Na aba Date é possível configurar, em sua primeira tela:

Page 30: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

30

Style configura a apresentação 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 opções não sejam suficientes, clicando no botão Customize... para vermos a tela Custom Style com opções de formatação especificas para data.

Podemos destacar as seguintes opções: Order ordem de aparecimento do dia, mês e ano, onde Y=ano, D=dia e M=mês. Format define para cada um dos componentes da data (dia, mês e ano), como o

mesmo será mostrado: por exemplo, em algarismo, em algarismo com zero na frente...

Separator configura os separadores das datas. Exemplo: 30/06/2006, 30-06-2006, 30.06.2006, etc.

Page 31: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

31

Colocando Objetos de Texto em seu relatório. Um objeto de texto pode conter um caracter, uma palavra ou um parágrafo. 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 também é possível fazer fórmulas e ter o mesmo resultado, isto será abordado mais tarde, em outros tópicos. Cada objeto de texto tem o seu próprio mini-processador de texto, facilitando a entrada e a edição de textos com amarração de palavras, uso de tabulações 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 relatório, acesse o menu Insert | Text Object ou clique

no ícone . Um objeto de texto novo e vazio vai aparecer junto ao cursor. Pode –se então posicionar o objeto de texto onde for desejado, para soltá-lo clique com o botão esquerdo do mouse. Dica: Mesmo sendo possível posicionar os objetos de texto pela aba Preview , utilizando a aba Design você terá uma visão melhor dos limites de outros campos que compõem o relatório, evitando sobreposição 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.

Page 32: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

32

Capitulo 05

Seleção de registros

Page 33: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

33

Usando o Assistente de Seleção. O relatório criado no primeiro exemplo mostrara todos os registros das tabelas envolvidas. No entanto queremos listar em nosso relatório as pecas de uma ou mais filiais. Para isso devemos ajustar o(s) filtro(s) seleção de registros podendo e extrair somente a informação desejada. Sem selecionar nenhum campo do relatório, acesse o menu Report | Select Expert ou

clique no ícone e aparecerá a seguinte tela:

Campos já inseridos no

relatório Campos do banco de

dados

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

Page 34: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

34

Dica: Não é necessário que o campo a ser colocado no filtro esteja no relatório, basta que ele esteja em uma das tabelas do relatório. Definindo o Critério de Seleção de Registros As opções disponíveis para seleção são:

Is Any Value Selecionara todos os registros, ou seja, não será

feita nenhuma seleção. Is Equal To Permite especificar um único valor como critério. Ex.

somente pecas da Filial 01 Is Not Equal To Permite especificar um único valor como critério. Ex.

somente pecas que não forem da Filial 01 Is One Of Permite informar uma serie de valores (referentes

ao mesmo campo) como critério, e não apenas um como a opção “Is Equal To”, permitindo a inclusão destas informações no relatório. Ex. Filiais 01, 02, 04

Is Not One Of Permite informar uma serie de valores (referentes ao mesmo campo) como critério, e não apenas um como a opção “Is Equal To”, não permitindo a inclusão destas informações no relatório. Ex. Filiais 01, 02, 04

Is Less Than Permite indicar registros com valor menor ao parâmetro definido, por exemplo, itens com valor menor a R$ 100,00.

Is Less Than or Equal To Permite indicar registros com valor menor ou igual ao parâmetro definido, por exemplo, itens com valor igual ou menor a R$ 100,00.

Page 35: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

35

Is Greater Than Permite indicar registros com valor maior ao parâmetro definido, por exemplo, itens com valor maior a R$ 100,00.

Is Greater Than or Equal To Permite indicar registros com valor maior ou igual ao parâmetro definido, por exemplo, itens com valor maior ou igual a R$ 100,00.

Is Between Permite selecionar uma faixa de valores, por exemplo, itens com valor entre R$ 10,00 e R$ 50,00.

Is Not Between Permite selecionar uma faixa de valores, por exemplo, itens que não estejam com valor entre R$ 10,00 e R$ 50,00.

StartsWith Permite especificar com que caracteres o campo começa. Ex. todos os itens que comecem com a letra A.

Does Not StartsWith Permite especificar com que caracteres o campo não deve começar. Ex. todos os itens que não comecem com a letra A

Is Like Permite informar os meta caracteres “?” e “*” para filtro de informações, sendo o “?” equivalente a um caractere e o “*” a uma cadeia de caracteres. Ex. *al, todos os itens que terminem com “al”.

Is Not Like Permite informar os meta caracteres “?” e “*” para filtro de informações, sendo o “?” equivalente a um caractere e o “*” a uma cadeia de caracteres. Ex. *al, todos os itens que não terminem com “al”.

Formula Fazendo esta escolha a caixa de dialogo se expande abrindo espaço onde você digita o seu critério, caso nenhuma das opções anteriores lhe auxilie.

Selecionando o botão “Show Formula ” você poderá visualizar a listagem de critérios já definidos para o relatório ate o momento. Atualização do Relatório através do critério defini do.

Por padrão o Cristal Reports não efetua leituras ao bando de dados constantemente, visando não gerar trafego de dados e conseqüente lentidão ao Banco. Por isso, toda as vezes em que é informado um novo filtro ou alterado alguma informação do algum filtro.

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 criação e execução dos relatórios. Quando o mesmo estiver testado, sem perigo de looping, poderá ser utilizado no banco oficial.

Page 36: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

36

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

Esta opção permite que: Use Saved Data : o Crystal Reports XI faça a seleção baseada nos registros que foram lidos na ultima atualização do relatório (vide horário) 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 satisfaçam ao novo critério de seleção. Para atualizar os dados do relatório a qualquer momento que seja diferente dos listados anteriormente, acione a opção Report | Refresh Report Data ou um dos atalhos mencionados para tal procedimento. Importante: A forma acima apresentada para a seleção de registros é fixa. Existem formas dinâmicas de seleção de registros utilizando o ‘Parameter Filter’ que será explicado nos próximos capítulos.

Page 37: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

37

Capitulo 06

Ordenando, Agrupando e Sumarizando

Page 38: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

38

Tendo selecionado dos registros para apresentação em tela/impressão, a posição dos mesmos no relatório e os filtros para que sejam apresentados somente os registros conforme os critérios e não especificando nenhuma ordenação, 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 relatório a seguinte situação:

Notem que este relatório esta ordenado por filial, e queremos sua ordenação por código do item. Existem duas formas de abrir o assistente de ordenação de registros. Acessando o menu Report | Record Sort Expert na barra de menu ou utilizando o botão

na barra de ferramentas. Será apresentada a tela:

Page 39: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

39

Todos os campos do relatório e das tabelas envolvidas no mesmo estão listados no quadro Available Fields à esquerda da janela Record Sort Expert . Adicionando os campos no quadro Sort Fields à direita da janela, a ordenação ocorrerá na seqüência dos campos no quadro da direita. E através do Sort Direction poderemos definir a ordem Crescente ou Decrescente . Iremos incluir a ordenação dos itens por código do item e sua sub-ordenação por quantidades, sendo o código em ordem crescente.

e a quantidade em ordem decrescente.

Page 40: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

40

Obtendo o seguinte resultado:

Para incluir campos na seleção utilize o botão e para alterar o posicionamento dos campos na hierarquia da ordenação, no quadro Sort Fields utilize as setas da parte superior direita: ou ·.

Page 41: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

41

Agrupando Registros Mesmo que os registros estejam ordenados de forma crescente ou decrescente, não foi utilizado nenhum recurso de agrupamento de registros, desta forma nossa relatório tem a aparência de ‘listagem’. O agrupamento serve para unirmos todos os registros cujo um determinado campo tenha o mesmo conteúdo. Assim, utilizando nosso relatório exemplo, onde até o momento temos uma listagem de peças ordenadas por código do produto (crescente) e a quantidade do produto (decrescente). Podemos criar agrupamentos com informações baseadas em campos: - Já inseridos no relatório. - Que não estejam inseridos no relatório (porem estão nas tabelas predefinidas para o relatório). - Campos de fórmulas. Outras vantagens do agrupamento é a facilidade de sub-totalização e totalização do grupo/relatório Não existem limites de agrupamentos definidos. Vamos começar a transformar em relatório inserindo um agrupamento por código do item e retirando a informação ‘código do produto’ da linha Details. Quando agrupamos registros, novas seções são criadas no relatório, estas novas áreas estarão visíveis no lado esquerdo da janela Designer , acima e abaixo da seção Details . Nomeadas de Group Header e Group Footer respectivamente para cada grupo (agrupamento) criado, conforme tela a seguir:

Page 42: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

42

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:

Cabeçalho e Rodapé do grupo

Titulo automático do grupo

Page 43: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

43

Aqui será selecionado o campo para ser utilizado na

formação do grupo

Combo Box onde é definida a ordenação do grupo

Formula condicional para ordenação de agrupamento

mediante parâmetros

Opções disponíveis para personalizar o nome do grupo, sem necessário.

Esta opção evita que o grupo seja ‘quebrado’ na

mudança de pagina.

Em caso de grupos muito grandes (que ocupariam

mais de uma pagina), esta opção mostrara o

cabeçalho do grupo em cada pagina.

Page 44: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

44

Opções de Ordenação As opções de ordenação devem ser disponibilizadas no momento de criação do grupo e são explicadas a seguir: In ascending order A a Z, 1 a 9, do menor para o maior, etc. In descending order Z a A, 9 a 1, do maior para o menor, etc In specified order Permite a você criar um grupo onde sua ordenação será

baseada a qualquer valor das tabelas relacionadas no relatório.

In original order Mantém a ordem original de gravação dos registros no banco de dados.

Alterando / Excluindo Grupos Estando os grupos criados, pode ser necessária a alteração ou mesmo a exclusão do grupo. Dica: Fica mais fácil 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 relatório, basta clicar na área cinza da janela design, sobre a informação de Group Header #x onde x=seqüência de apresentação do relatório.

Clique com o botão direito do mouse

Page 45: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

45

Ou utilize a opção do mesmo menu para redefinir o campo a ser agrupado, sua ordenação ou quaisquer opções das abas Common ou Options. Assistente de Ordenação de Grupo (Ranking) O ‘Group Sort Expert’ permite determinar a ordem em que os grupos serão 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 opção Top N). - Os 15 piores vendedores em desempenho baseado em valor ou numero de unidades (usando a opção Bottom N). Quando criamos um agrupamento, temos sua ordem definida pela ordenação base (definida na criação do grupo). Para mudar a ordenação do agrupamento do seu relatório, acesse o menu Report |

Group Sort Expert... ou o ícone e será apresentada a seguinte tela:

No Sort – não aplica nenhum tipo de ordenação no grupo escolhido. All – esta opção ir ordenar todos os grupos baseando-se no sumario definido na opção ‘basead on’ de forma crescente ou decrescente.

Page 46: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

46

Top N – Esta opção ira mostrar em ordem decrescente, os valores baseados na operação definida em based on .

Pode se limitar o numero de grupos a serem mostrados

Selecione esta opção para sumarizar os grupos com valores iguais

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

Page 47: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

47

Botton N – Esta opção ira mostrar em ordem crescente, os N valores baseados na operação definida em based on. Top Percentage – Esta opção ira mostrar em ordem decrescente os N % os maiores valores baseados na operação definida na opção based on. Botton Percentage – Esta opção ira mostrar em ordem crescente os N % os piores valores baseados na operação definida na opção based on. Where N is – Esta opção permite escolher o numero de itens no ranking, através do

botão este valor poderá vir de um campo do banco de dados, parâmetro ou formula. Importante: O valor do total geral do relatório não será alterado em função da escolha de apresentação de 5 primeiros (Top N) ou 5 últimos (Botton N). Sumarizando Temos, neste nosso relatório, que colocar a totalização quantidades dos itens nas diversas filiais, podendo assim visualizar a quantidade de pecas disponíveis no grupo para cada item. As formas de sumarização que podemos utilizar são: Soma (subtotal e total) Media Valor mínimo Valor Maximo Contagem Contagem Distinta. Para isso devemos selecionar o campo (numérico) desejado e clicar em Insert | Summary... ou

clicar no ícone . Em nosso relatório iremos totalizar (por sumarização) o campo tpeesatpe.esatpeqtdest (quantidade em estoque).

Page 48: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

48

Em nosso exemplo iremos colocar nossa sumarização no ‘Group #1’, pois não faz sentido totalizarmos os itens do estoque independente de sua codificação. Assim teremos o resultado: Por se tratar de um campo numérico, o Crystal Reports ira utilizar informar ao resultado duas casas

decimais e devera ser usado o ícone para acertar o numero de casas decimais.

Campo que será sumarizado

Opções de sumarização disponíveis para o campo selecionado

Total Geral (Grand Total ou subtotal)

Page 49: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

49

Todos os totalizadores são apresentados no relatório em Negrito podendo ser alterado posteriormente seu fonte, cor, tamanho, etc, inclusive colocação de bordas e sombras que serão vistos mais a frente. O totalizador pode ficar tanto no Group Footer como no Group Header com o mesmo efeito.

Page 50: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

50

Capitulo 7

Parâmetros de filtro

Page 51: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

51

Parâmetros de filtro para execução do relatório. Quando criamos um relatório não 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 informações que desejamos. No Crystal Reports é possível definir campos (filtros) com parâmetros dinâmicos onde serão informados os ‘filtros’ que desejamos. Em nosso relatório, vamos tomar como exemplo a situação de querermos filtrar os itens de uma só filial, mas com a possibilidade de selecionar mais de uma ou todas. Existem três passos que são necessários para que um filtro funcione corretamente:

1- Criar o filtro 2- Colocá-lo. Aparecendo ou sem aparecer no

relatório. 3- Parametriza-lo no Select Expert.

Para criar um campo parâmetro devemos acessar o botão

ou ir direto ao quadro Field Explorer e na opção Parameter Fields clicar com o botão da direita e selecionar a opção New, será aberta a tela Create New Parameter , como a seguir

Page 52: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

52

Neste quadro temos as seguintes opções: Opção Descrição Name Nome para identificar o campo parâmetro. Posteriormente

ao utilizar o campo parâmetro ele será exibido como {?Nome do parâmetro}.

Type Informe o tipo de dado de cada parâmetro. Se estiver utilizando um campo para ajustar a seleção de registros de um campo string você precisara definir o campo parâmetro como string também. Existem sete tipo de dados permitidos: boolean, currency, date, datetime,number, string e time.

List of Values Static: Os valores exibidos no parâmetro são estáticos. Dynamic: Os valores exibidos na lista de parâmetros provem dos dados do banco de dados.

Caso a opção selecionada seja Static: Opção Descrição Value Field Campo que será baseada a criação da lista estática. Description Selecione a descrição, caso necessário. Value Selecione o valor do campo que será exibido durante a

exibição do parâmetro. Desription Selecione a descrição, caso necessário.

Page 53: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

53

Caso a opção selecionada seja Dynamic: Opção Descrição Prompt Group Text Texto exibido como cabeçalho da tela de parâmetros. Value Selecione o campo em que será baseado o parâmetro. Description Selecione a descrição, se necessário. Parameters Ao selecionar a opção, um objeto parâmetro será criado,

este ficara atrelado aos dados do banco de dados. OBS: Para esta opção, é possível criar até 1000 objetos do tipo parâmetro encadeados. Options Caso a opção selecionada seja ‘Static’ Opção Descrição Prompt Text Informe aqui o texto que será informativo para a

digitação do conteúdo do parâmetro. Prompt With Description Only (True / False) Uma vez informados os valores e

descrição, esta opção permite a visualização ou não das descrições de cada valor do parâmetro, devera considerar a opção ‘Allow custom values’.

Default Value Static: Os valores exibidos no parâmetro são estáticos. Dynamic: Os valores exibidos na lista de parâmetros provem de dados do banco de dados.

Allow custom values (True / False). Permite a edição ou não dos valores da lista.

Allow multiple values (True / False). Permite a digitação de múltiplos valores para o parâmetro.

Allow discrete values (True / False). Permite a digitação de valores discretos.

Allow range values (True / False). Permite a digitação de range de valores.

Min length Informe o numero mínimo de caracteres do valor do parâmetro.

Max length Informe o numero Maximo de caracteres do valor do parâmetro.

Edit mask Permite especificar uma mascara para a entrada de valores. Os caracteres possíveis são: ▪ “A” – Permite a entrada de um caracter alfa e

requer que se entre com um caracter no campo parâmetro.

▪ “a” – Permite um caracter alfa e não requer a entrada do caracter.

▪ “0” – Permite um numero [0 - 9] e requer a entrada do caracter no parâmetro.

▪ “9” – Permite um numero ou espaço, não requer a entrada do caracter.

Page 54: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

54

▪ “#” – Permite um numero, espaço, ou sinal de mais/menos, e não requer a entrada do valor.

▪ “L” – Permite uma letra [A – Z], e requer que o valor seja digitado.

▪ “?” – Permite uma letra e não requer que o valor seja digitado.

▪ “&” – Permite qualquer caracter ou espaço e requer que o valor seja digitado.

▪ “C” – Permite qualquer caracter ou espaço e não

requer que o valor seja digitado. ▪ “ . , : ; - / ” – (Separadores). ▪ “<” – Faz com que os caracteres subseqüentes

sejam convertidos para minúsculo. ▪ “>” – Faz com que os caracteres subseqüentes

sejam convertidos para maiúsculo. ▪ “\” – Faz com que os caracter subseqüente seja

mostrado com um literal. ▪ “Password” – Faz com que os caracteres

digitados sejam substituídos por *. Caso a opção selecionada seja “Dynamic”. Opção Descrição Prompt Text Informe aqui texto que será informativo para a

digitação do conteúdo do parâmetro. Sort Order (Ascending by Value / Descending by Value /

Ascending by Description / Descending by Description) Pode-se informar a ordem de visualização das informações.

Prompt With Description Only (True / False). Uma vez informados os valores e descrição, esta opção permite a visualização ou não das descrições de cada valor do parâmetro, devera considerar a opção “Allow custom values”.

Allow multiple values (True / False) Permite a digitação de múltiplos valores para o parâmetro.

Allow discrete values (True / False). Permite a digitação de valores discretos.

Allow range values (True / False). Permite a digitação de range de valores.

Depois de criado o campo parâmetro, o mesmo aparecerá no grupo Parameters Fields, na janela Field Explorer.

Page 55: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

55

Utilizando Campos parâmetro em seleção de registros

Uma utilização muito comum do campo parâmetro é automatizar a seleção de registros. Suponhamos que nosso relatório tenha a seguinte formula de seleção de registros (formula criada pelo select expert onde foi informado TGLFORNEC.FORNECNOMSIGLA equal ABC), conforme exemplo abaixo:

utilizando o parâmetro informado na execução do relatório podemos dinamizar a seleção da seguinte forma:

Page 56: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

56

Assim quando o relatório for executado ou atualizado pelo (F5), será solicitado um novo parâmetro e assim mudar a seleção/apresentação do relatório. A tela de informação de parâmetros 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 parâmetro.

Page 57: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

57

Apresentando-se desta forma:

No mesmo parâmetro pode-se utilizar vários filtros

Page 58: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

58

Importante: Para que o filtro tenha efeito, alem de selecioná-lo no Select Expert , ele necessita estar em uma área qualquer do relatório, podendo ficar visível ou invisível. Para tornar qualquer item invisível no relatório deve-se utilizar o botão Suppress da barra de ferramentas. Pode se utilizar o parâmetro criado para complementar títulos e outras informações do relatório da seguinte maneira: Na aba Design

Na aba Preview O parâmetro informado também pode ser utilizado como parâmetro de calculo para fórmulas do relatório. Criamos um parâmetro onde informaremos o valor de Multiplicação por exemplo.

Page 59: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

59

E utilizar a ‘variável’ alimentada como parâmetro na formula:

Abordaremos Fórmulas no próximo capítulo.

Page 60: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

60

Capitulo 8

Fórmulas, Funções e

Operadores

Page 61: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

61

Inserindo Fórmulas No Crystal Reports as fórmulas são utilizadas principalmente para calcular e apresentar informações que não existem no banco de dados. Alem das operações padrão, (soma, subtração, multiplicação e divisão) podemos utilizar as fórmulas 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, mês ou ano. - Fazer operações do tipo if-then-else (se-então-senão). - Sumarizar valores e criar totais. Importante: No Dealer e no Spneus as datas são tratadas como campo numérico, necessitando assim um tratamento especial na sua utilização. 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 básicas para criação de fórmulas o Crystal Syntax e o Basic Syntax. Crystal Syntax – Linguagem própria da ferramenta. Basic Syntax – Linguagem Visual Basic. Usando o Formula Editor (Editor de fórmulas) você combina campos, operadores e funções para criar uma fórmula. O Editor de Formulas lhe permite digitar os componentes da fórmula diretamente, ou no caso de campos, funções, operadores, sumarizações e outras fórmulas; permitirá a seleção destes a partir de cliques em listas disponíveis e o Crystal os ‘digitara’ por você. Os vários componentes de uma fórmula se sua sintaxe estão listados abaixo: Componente Sintaxe Campos do banco de dados {tabela.NomeDoCampo} Números Simplesmente digitados sem separadores de milhar

(ex: 300000). Operadores Um espaço antes e um depois de um operador são

opcionais, ou seja, 2+2 tem o mesmo efeito de 2 + 2. Funções NomedaFunção (argumento1, argumento2)

Podem existir um ou mais argumentos para uma função.

Sumarizações FunçãoSumarização ({tabela.CampoSendoSumarizado}, {tabela.CampoUsadoNaFormaçãoDoGrupo})

Fórmulas dento de fórmulas Deve ser colocado o símbolo ‘@’ antes do nome da

Page 62: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

62

formula: {@NomeDaFórmula} Texto Sempre entre aspas, tanto simples como duplas (ex:

“Texto” ou ‘Texto’). Comentários // deve-se repetir o conjunto de duas barras no inicio de

cada linha que você quer comentar Dica: Maiúsculas e minúsculas são ignoradas pelo Editor de Fórmulas, exceto em comparações de conteúdos de textos. ex: ‘Oi’ = ‘oi’ resultará em erro, caso a opção “Database Server is Case-Insensitive” no menu File | Report Options esteja desmarcada. Se estiver marcada a comparação entre os dois textos entre aspas será idêntico. Dica: O <ENTER> também é ignorado pelo Editor de Fórmulas, Você pode ter quebras de linha em qualquer lugar na fórmula. É prática comum dividir fórmulas longas em pedaços para facilitar sua leitura e edição. O Formula Editor (Editor de Fórmulas) Para acessar o Formula Editor e estudar suas opções, clique no campo Formula Fields do quadro Field Explorer com o botão direito do mouse e selecione a opção New.

Ou então clique no botão na barra de tarefas.

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

E será aberto o Editor de Fórmulas.

Page 63: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

63

O Formula Editor tem cinco seções principais, são elas:

Árvore de Campos – Field Tree

Todos os campos do banco de dados e demais fórmulas estão listados aqui. Os campos e fórmulas que estão colocados no relatório estão listados sob Report Fields . Os campos que não estão presentes no relatório, mas que também podem ser utilizados na composição das fórmulas, estão logo abaixo dos Report Fields no formato:

Árvore de Funções – Function Tree

Todas as funções disponíveis estão listadas agrupadas por tipo (Arrays, Date and Time...). Ao expandir o grupo de tipos, por exemplo “Alerts”, sai mostradas as funções e is argumentos necessários entre parênteses. As funções são procedimentos pré-definidos fornecidos com Crystal Reports que retornam valores.

Page 64: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

64

Árvore de Operadores – Operators Tree

Operadores são símbolos especiais que descrevem uma ação que deve ocorrer entre dois ou mais valores dentro da fórmula. O Crystal Reports lê os operadores em uma Fórmula e realiza as ações especificadas. Os caracteres ‘x’ e ‘y’ indicam a sintaxe apropriada para o operador. Os operadores estão agrupados por tipo.

Edição de Texto – Edit Text

Este é o local onde as fórmulas são digitadas. Campos, Funções e Operadores vão 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 botões úteis para a criação de fórmulas. Cada um destes botões estão listados e comentados a seguir: Check – verifica a sintaxe da fórmula.

Undo – desfaz uma ação.

Redo – refaz uma ação.

Browse Data – mostra alguns valores de um campo do banco

de dados (desde que não seja do tipo memo), trazendo também o tipo de campo e a opção e copiar e colar algum valor da fórmula.

Find or Replace – procura e/ou substitui um texto na caixa de edição 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

Page 65: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

65

Visual Basic. Criando e utilizando fórmulas em relatórios

Temos em nosso relatório exemplo a venda referente a um período previamente definido onde alem da descrição do grupo, temos a quantidade e o valor de vendas sumarizados. Iremos criar uma formula para definir o valor médio de venda dos serviços. A fórmula valor médio ficara com o conteúdo: Sum ({TNFITNFSA.ITNFSAVLRTOTAL}, {TNFITNFSA.ITNFSADES}) / Sum ({TNFITNFSA.ITNFSAQTD}, {TNFITNFSA.ITNFSADES}) 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 código) dos itens da nota fiscal. Importante: Toda formula, quanto adicionada no corpo do relatório, na aba ‘design’ inicia o seu nome pelo símbolo ‘@’ + o nome de criação. Arrastamos a formula para nosso relatório e temos:

Page 66: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

66

Iremos implementar nosso relatório com o percentual de participação no ranking com a formula que chamaremos de participação. Para criar esta formula de forma rápida, iremos informar a sumarização do total da venda (total do item) com o sinal de ‘%’ e o total sumarizado (total geral) como representado abaixo. Sum ({TNFITNFSA.ITNFSAQTD}, {TNFITNFSA.ITNFSADES}) % Sum ({TNFITNFSA.ITNFSAQTD}) O sinal ‘%’ extrai do total geral o percentual do quantidade vendida (total do item). Para adicionar o sinal de ‘%’ após o valor, basta selecionar o campo (na área do relatório) onde

esta o percentual calculado e clicar no botão da barra de tarefas. Declaração de Variáveis Em algumas situações será necessária a declaração de variáveis para utilização em formulas. Para a declaração de uma variável precisamos definir seu escopo e o seu tipo. Os escopos de variáveis são: Global – Variáveis que poderão ser utilizadas em qualquer fórmula dentro do

relatório. Local – Variáveis que somente são interpretadas dentro da fórmula dentro do

Page 67: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

67

relatório. Shared – Variáveis que podem ser utilizadas em subrelatórios. Os tipos de variáveis são: BooleanVar – armazena booleanos (True ou False) NumberVar – armazena números CurrencyVar – armazena valores monetários DateVar – armazena datas no formato “Date(aaaa/mm/dd)” TimeVar – armazena tempo no formato “Time(hh,mm,ss)” DateTimeVar – armazena datas/hora no formato

“DateTime(aa,mm,dd,hh,mm,ss)” StringVar – armazena texto Para ‘carregar’ uma variável, 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 variável” global currencyvar:= 0 Com a definição de variáveis podemos criar uma formula para a de conversão de campos data (as datas no Dealer e no Spneus são armazenadas no banco de dados com o formato numérico e invertida AAAAMMDD, já no SprCom elas são armazenadas como DataTime, data e hora juntos) e podermos apresentá-las em nosso relatório num formato amigável. Começamos definindo o parâmetro dinâmico (Parameter Filter – onde poderemos informar as datas e temos um relatório personalizado). Nome do parameter filter: Dataini Tipo do parâmetro : Numérico. Ao ser carregado (F5) ele se torna uma ‘variável’ com o conteúdo digitado na execução e pré-cedido de “?”, ficando com, neste caso, o nome {?Dataini} Veja a estrutura da fórmula: 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 variável de escopo Shared, tipo String e nome datainicial, foram utilizadas as funções mid, left e ToText . ToText transforma a data numérica carregada pelo Parameter Filter Mid Extrai do texto (ToText) as posições desejadas, sendo os parâmetros

(últimos dentro do parênteses) a posição inicial e o tamanho. Left Extrai do texto (ToText) as posições desejadas, sendo o parâmetro

Page 68: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

68

somente o tamanho Então temos a informação vinda do Parameters Filter no formato (numérico) 20.061.112,00 e após a conversão, carregada na variável datainicial temos 12/11/2006, o qual podemos arrastar a formula {@dataini} para o relatório. Pode se usar também estrutura de controle tais como if-then-else. Utilizaremos uma estrutura de laço para definir qual o nível, baseado nos valores em percentual, de retorno de venda. Se a participação for menor ou igual a 1.99 = Ruim Se a participação for maior ou igual a 2 e menor ou igual a 9.99 = Regular Se a participação 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 parâmetro ou configuração poderá ser utilizado formulas (com qualquer campo do banco de dados) para condicionar o relatório. *Formula para conversão de data informada no parame ters 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 numérico.

Page 69: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

69

Capitulo 9

Cross-Tab

Page 70: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

70

Definição de Cross-Tab Um Cross-Tab é um tipo de relatório que sumariza as informações em um formato compacto de linhas e colunas, o que facilita a analise e compreensão dos resultados obtidos. No Crystal Reports, um Cross-Tab é um objeto que pode ser construído através de assistente especifico ou inserido em outros tipos de relatório, tantas vezes quantas forem necessárias. O Crystal Reports apresenta poderosas capacidades de trabalho com Cross-Tab. - Inclusão de múltiplas sumarizações ou cálculos em Cross-Tab. Por exemplo, para uma

tabela de produtos pode-se sumarizar as informações de quantidade e preço, mostrando uma soma de quantidades e uma media de preços .

- Mostrar percentuais inclusive na posição horizontal. - Utilizar formulas de primeira etapa (que não utilizem subtotais ou sumarizações) que

estejam definidas em qualquer parte do relatório nos Cross-Tab. - Imprimir Cross-Tab que se expandam alem do limite de largura da pagina onde ele esta

inserido e mostrar números destas ‘paginas virtuais’ e textos de cabeçalho. - Linhas e colunas com cores de fundo, bordas e fontes para melhor visualização e maior

facilidade de compreensão na analise dos dados. - Controle de quebra de paginas, realce de valores com formatação condicional, utilização

de rótulos (Labelo), supressão de totais e subtotais e de linhas em branco, ordenação especifica, agrupamento por intervalo de datas.

Criando um Objeto Cross-Tab. A localização de um Cross-Tab só pode ser em Report Header ou em Report Footer

Para inserir um relatório Cross-Tab em um relatório, os seguintes passos devem ser seguidos:

Áreas onde pode-se localizar o Cross-Tab

Page 71: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

71

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 cabeçalho ou no rodapé do relatório. O seguinte objeto será inserido:

2- Clique com o botão da direta do mouse e escolha a opção , a seguinte tela será exibida:

O Cross-Tab Expert O assistente de Cross-Tab (Cross-Tab Expert) mostrado acima, tem as seguintes opções:

Page 72: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

72

Esta área mostra os campos já inseridos no relatório, alem daqueles disponíveis no banco de dados que esta sendo utilizado no relatório. Os seguintes botões também estão disponíveis na tela: Browse Data – Dependendo do campo selecionado, esta opção mostra dados da tabela, tipo e tamanho (se aplicável). Find Field – Se a lista de campos for muito extensa, o desenvolvedor poderá ser usada esta opção para digitar o campo desejado e o CR o destaque na lista. New Formula – Caso seja necessário informar no Cross-Tab um campo formula que ainda não esteja criado, este botão abre o Formula Editor.

Esta área destina-se às informações dos campos que formarão as colunas, linhas e campos de sumarização do Cross-Tab, como também suas configurações.

No botão ‘Group Options’ as seguintes informações poderão ser encontradas, e as seguintes configurações poderão ser feitas:

Coluna

Linha

Page 73: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

73

Group Options – mostrara as configurações de ordenação desta linha de forma semelhante aquela utilizada no agrupamento de registros. O botão ‘Change Summarized’, as seguintes opções poderão ser encontradas:

Change Summary – Mostrará as opções de sumarização para o campo e a opção de mostrar os valores na forma de percentuais . Este é o resultado de um Objeto Cross-Tab.

Page 74: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

74

Importante: O Cross-Tab é um objeto de sumarização, e portanto só pode ser inserido nas seções de Group Header, Group Footer, Report Header e Report Footer.

Page 75: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

75

Capitulo 10

Formatando seções e qualidade na apresentação

de relatórios.

Page 76: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

76

Agora que já temos todas as informações que necessitamos em nosso relatório, iremos formatar as seções e dar aparência profissional ao relatório. Formatando Seções com o Assistente de Seção O Section Expert oferece grande flexibilidade e poder quando formata diferentes seções do relatório. A maior parte delas pode se tornar condicional com o uso de formulas de

formatação condicional, através do botão . Para abrir o assistente de seção, você pode utilizar:

- clique no botão Section Expert . - escolha o menu Report | Section Expert. - escolha a opção Section Expert... a partir do menu de atalho, obtido ao clicar com o

botão direito no nome de alguma seção (área cinza). Será apresentada a tela:

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

Page 77: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

77

As opções ativas no aba Common irão variar dependendo da seção que estiver realçada na lista de seções . Somente opções aplicáveis à seção selecionada estarão disponíveis. As opções da Aba Common Free-Form Placement Quando esta opção é selecionada, o programa habilita-o posicionar os ambientes “free-form” similar ao de um programa de desenho. Quando esta opção não esta selecionada, objetos são colocados em pontos fixos, e são criadas automaticamente guidlines horizontais na seção selecionada. Hide (Drill-Down OK) Ele evitara que a seção selecionada seja mostrada, mas mesmo assim permitira o uso do clique duplo em um campo para de sumario para abrir uma nova Aba de exibição o mostrando os dados de detalhes que constituem aquele valor de sumario. Suppress (No Drill-DOwn) Terá o mesmo efeito de formatação Hide,mas não permitira o uso de clique duplo em um campo de sumario, para visualizar os dados de detalhe. Print at Bottom of page Forçara que os objetos que estiverem na seção sejam impressos no local mais baixo possível da pagina. Em um relatório que gera faturas, por exemplo, você gostaria que cada fatura tivesse o total impresso no final da página. Desta maneira, todas faturas tem o total impresso sempre no mesmo local, não importando quantas linhas existam na fatura. New Page After e New Page Before Normalmente usadas com Group Headers ou Group Footers . Estes comandos forçarão uma quebra de pagina antes de entrar na seção para qual você aplicou esta formatação, ou logo após. Suponha que seu relatório 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 CEP´s por folha. Ou suponha que você queira uma pagina titulo para seu relatório. Então você poderia aplicar New Page After no Cabeçalho do Relatório, e colocar todos os itens que você desejar dentro da página titulo no Report Header.

Page 78: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

78

Dica: Para evitar que a ultima página do relatório fique apenas com o Page Header ou com Page Footer ao ativar a opção New Page After em uma seção Group Footer, por

exemplo, acesse a sua formatação condicional através do botão e use a formula: not onlastrecord. . A mesma lógica deve ser utilizada para a formatação New Page Before em Group Headers, porem a formula devera ser: not onfirstrecord. Reset Page After Number Esta opção faz com que a numeração de pagina seja reiniciada a cada seção (onde a mesma esteja definida). Um exemplo pratico disto é um relatório de vendas por vendedor, onde a cada ‘quebra’ por vendedor a numeração da parina seja reiniciada. Keep Together Esta opção previne as quebras de pagina de espalharem dados de um único registro em duas paginas, ou seja, quando esta opção esta marcada, todas as linhas da seção juntas, tanto na pagina atual (se há espaço) quando na próxima pagina (se não há espaço). Obs: esta opção não 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 impressão da seção se todos os campos naquela seção estiverem em branco. Uma utilização típica desta função seria a criação de um relatório de etiquetas de correspondência onde não há uma segunda linha de endereço e você não quer que o registro vazio seja impresso. Underlay Following Sections Esta opção permitirá que quaisquer objetos que estiverem na secao ‘flutuem’ ate a próxima seção permitindo que objetos da seção 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 d’água . Read-only Esta opção bloqueia a formatação dos objetos que estão dentro da seção, impedindo que sejam alterados ate que esta opção seja desmarcada. Esta opção também desabilita varias opções de formatação da própria seção através do menu atalho. Relative Positions Esta opção 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 impressão, o objeto será deslocado para a direita não truncando com a informação do objeto Cross-Tab ou figura.

Page 79: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

79

As opções da Aba Color

Na aba Color poderá ser selecionada uma cor de fundo para cada uma das seções do relatório. Ao ativar a opção Background , o combo de cores estará ativado. Basta selecionar uma cor a partir desta lista para tornar esta cor preenchimento da seção.

Ao clicar no botão de formula poderá ser adicionada uma formula e tornar a cor do fundo condicional. A formatação condicional aplicada na formula ira ignorar qualquer formatação absoluta. Se forem escolhidas duas cores diferentes, devera ser preenchido completamente uma afirmação ‘if-then-else’ ou o else vai ser impresso em preto e branco como padrão. Por exemplo, se for desejado uma a cada duas linhas, tenha seu fundo sombreado, seria necessário adicionar uma formula como esta na seção Details: A formula a ser adicionada para o efeito ‘zebrado ’ é: If Remainder (RecordNumber,2) <> 0 then Silver else White.

Page 80: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

80

Campos especiais Os campos especiais contem informações que normalmente não estão em tabelas do banco de dados e são, de certa forma, importantes para o relatório. O crystal Reports XI permite inserir estas informações a partir do menu View | Field Explorer na aba Fields na área . No Crystal Reports XI existem os seguintes campos especiais. Content Locale Mostra o idioma atual utilizado na maquina Current CE User ID ID numérico do usuário atual (Somente para a versão

Enterprise) Current CE User Name Nome do usuário atual (Somente para a versão

Enterprise) Current CE User Time Zone Mostra o Time Zone configurado para o usuário. Data Date Data dos dados, ou seja do ultimo refresh. Data Time Hora dos dados, ou seja do ultimo refresh. Data Time Zone Mostra o Time Zone sobre o qual estao sendo

impressos no relatório a Data e Hora. File Author Mostra o autor do relatório, caso ele esteja cadastrado

na caixa de texto “Author” no menu File | Summary Info.

File Creation Date Data de criação do arquivo presente no menu File | Summary Info da aba Statistics.

File Path and Name Mostra o caminho onde o arquivo .rpt foi salvo. Group Number Numero de Grupos criados no relatório Group Selection Formula Seleção dos grupos caso eles estejam presente na

seleção. Horizontal Page Number Mostra o numero de paginas virtuais caso no caso de

objetos que sejam maior que a largura da pagina. Modification Date Data em que o relatório foi modificado pela ultima vez Modification Time Hora em que o relatório foi modificado pela ultima vez Page N of M Numero a pagina atual e o total de paginas no formato:

Page 1 of 16 Page Number Numero da pagina atual Print Date Data em que foi impresso o relatório (data da maquina) Print Time Hora em que foi impresso o relatório (hora da maquina) Print Time Zone Mostra o time zone sobre o print date e o print time que

estao sendo impressos no relatório atual. Record Number Numero do registro por pagina (acumlativo) Record Selection Formula Imprime a seleção dos dados em que o relatório esta

baseado. Record Comments Imprime o conteúdo da caixa de dialogo Comments em

File | Summary Info. Report Title Mostra o titulo do relatório caso esteja cadastrado na

caixa de texto ‘title’ no menu File | Summary Info. Total Page Count Numero total de paginas no relatório.

Page 81: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

81

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

Linhas e Caixas Inserindo linhas e caixas Para inserir linhas e caixas é aconselhável utilizar a aba Designer pois é mais fácil 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 relatório clicando no menu Insert | Line ou clicando no

botão . Uma vez selecionado, o ponteiro do mouse ficara com o formato de lápis.Posicione a ponta do lápis no local que deseja iniciar a linha, clique o botão 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 posição ou mesmo modificar suas características tais como: Style - Estilo da linha: simples, tracejada ou pontilhada. Width - Espessura da linha. Color - Cor da linha

Page 82: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

82

O Crystal Reports permite desenhar linhas na horizontal tanto na vertical, respeitando o tamanho das seções. Para acessar o menu de personalização da linha deve-se acessar o menu Format | Line ou clicar sobre a linha, sobre ela clicar com o botão direito do mouse e escolher a opção 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 botão . O ponteiro do mouse ficara com o formato de lápis.Posicione a ponta do lápis no local que deseja iniciar a caixa, clique o botão 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 sobreposição, ou seja ela poderá ficar sobre um registro impresso, um titulo de campo ou titulo do relatório, 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 títulos ou registros. Após desenhada a caixa, a mesma poderá ser redimensionada e alterada suas características. Para acessar estas características devera acessar a opção do menu Format | Box ou clicar selecionando a caixa, clicar com o botão da direita sobre a mesma e selecionar a opção Format Box . Estarão disponíveis as opções: Style - Estilo da linha: simples, tracejada ou pontilhada. Width - Espessura da linha. Color - Cor da linha. Drop Shadown - Sombra. Fill - Preenchimento (cor de fundo). Na aba Rounding pode ser arredondar os cantos da caixa. Inserindo uma Figura Pode-se inserir figuras no relatório tais como Logotipos, fotos, etc. Para inserir o relatório

deve-se acessar o menu Insert | Picture ou clique no botão da barra de tarefas. Ao acessar a opção, será apresentada a tela para localização e seleção da imagem. As imagens possíveis de serem inclusas no relatório são 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, após definir sua localização, será fixada com um clique do

Page 83: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

83

mouse. A imagem será importada no seu formato original, redimencionando a seção de acordo com seu tamanho. Após a inclusão do mesmo no relatório, a mesma poderá ser redimencionada de acordo com as pretencoes de exibição da imagem. Clicando com o botão da direita do mouse sobre a figura e selecionando a opção Format Graphic será possível:

- Suprimir a impressão da figura e outras propriedades da aba Common. - Dimensionar a figura a partir da aba Picture. - Adicionar e formatar uma borda através da aba Border.

Page 84: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

84

Capitulo 11

Exportando e salvando relatórios.

Page 85: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

85

Salvando relatórios Todos os relatórios deverão ser salvos (gravados em disco) com a opção Save Data with Report desmarcada para ser salvo somente a estrutura do relatório e sendo necessária a execução do mesmo para nova apresentação: A opção a ser desmarcada segue no exemplo:

Exportação de Relatórios. Através do Crystal Reports XI pode-se exportar seu relatório para vários formatos populares de processadores de texto, planilhas eletrônicas, entre outros. Formatos de Exportação Para acessar a opção de exportação do Crystal Reports XI você pode acessar o menu

File | Export... ou o ícone onde as seguintes opções estarão disponíveis:

Opção a ser desmarcada

Page 86: 90_Treinamento Crystal Reports XI

Treinamento Crystal Reports XI

______________________________________________________________________________________________

86

A partir desta tela pode se definir qual será o formato da exportação, através da opção Format.

Nas opções do Destination podemos enviar o relatório para uma aplicação, salvar em disco ou enviar por e-mail.