Академический Документы
Профессиональный Документы
Культура Документы
Crystal Reports XI
Apostila de treinamento
Designer e Expert
______________________________________________________________________________________________ 1
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
Capitulo 1
Preparao do Ambiente
______________________________________________________________________________________________ 3
______________________________________________________________________________________________ 4
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
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
Capitulo 2
Carga Inicial
______________________________________________________________________________________________ 7
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
Expanda a opo ODBC (RDO). Selecione o alias criado para a conexo do banco de dados e clique em avanar >.
______________________________________________________________________________________________ 9
______________________________________________________________________________________________ 10
______________________________________________________________________________________________ 11
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
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
Capitulo 3
______________________________________________________________________________________________ 14
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
Page Footer
______________________________________________________________________________________________ 15
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 .
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
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.
______________________________________________________________________________________________ 18
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
Capitulo 4
Formatando Objetos
______________________________________________________________________________________________ 20
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
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
da barra de ferramentas.
Aba Font
Na aba Font so disponibilizadas opes para formatar o campo com fonte, estilo, tamanho e cor.
______________________________________________________________________________________________ 23
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
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.
______________________________________________________________________________________________ 25
______________________________________________________________________________________________ 26
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
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.
______________________________________________________________________________________________ 28
______________________________________________________________________________________________ 29
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
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
Capitulo 05
Seleo de registros
______________________________________________________________________________________________ 32
______________________________________________________________________________________________ 33
Is Not One Of
Is Less Than
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
Is Greater Than
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.
______________________________________________________________________________________________ 35
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
Capitulo 06
______________________________________________________________________________________________ 37
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
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.
______________________________________________________________________________________________ 39
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
______________________________________________________________________________________________ 41
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
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
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
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.
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.
______________________________________________________________________________________________ 44
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
Top N Esta opo ira mostrar em ordem decrescente, os valores baseados na operao definida em based on.
______________________________________________________________________________________________ 46
Se desejar incluir um grupo outros (ou qualquer outro nome), de registros que no satisfazerem o ranking, escolha esta opcao
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
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
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
Capitulo 7
Parmetros de filtro
______________________________________________________________________________________________ 50
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
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
______________________________________________________________________________________________ 53
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
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
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
______________________________________________________________________________________________ 57
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
______________________________________________________________________________________________ 59
Capitulo 8
______________________________________________________________________________________________ 60
Sumarizaes
______________________________________________________________________________________________ 61
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.
Ira ser solicitado um nome para a formula que esta sendo criada.
______________________________________________________________________________________________ 62
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
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.
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
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
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
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
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.
* O banco de dados utilizado nesta apostila tem o campo data em formato numrico.
______________________________________________________________________________________________ 68
Capitulo 9
Cross-Tab
______________________________________________________________________________________________ 69
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.
Para inserir um relatrio Cross-Tab em um relatrio, os seguintes passos devem ser seguidos:
______________________________________________________________________________________________ 70
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
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
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
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
Capitulo 10
______________________________________________________________________________________________ 75
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:
______________________________________________________________________________________________ 76
______________________________________________________________________________________________ 77
______________________________________________________________________________________________ 78
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
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
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
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:
Estilo da linha: simples, tracejada ou pontilhada. Espessura da linha. Cor da linha. Sombra. Preenchimento (cor de fundo).
______________________________________________________________________________________________ 82
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
Capitulo 11
______________________________________________________________________________________________ 84
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
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