Você está na página 1de 66

Crystal Reports Introdução

2014-v0.2-GB
2 / 66

ÍNDICE
COMO DESENHAR UM REPORT.......................................................................................................... 6
OBJETIVOS ..................................................................................................................................................... 6
CONFIGURAÇÃO DE UMA NOVA DATA SOURCE ........................................................................................... 7
CRIAÇÃO DE UM NOVO REPORT ................................................................................................................... 9
Planeamento de um Report...................................................................................................................... 9
Criação de um novo Report .................................................................................................................... 10
Utilizando o Report Wizard ..................................................................................................................... 10
Blank Report ........................................................................................................................................... 10
Análise do ambiente Design e Preview ................................................................................................... 10
Design/Preview ....................................................................................................................................... 11
Colocação de Objetos no Report ............................................................................................................ 11
Posicionamento e redimensionamento dos objetos .............................................................................. 12
Exercício nº. 1 – Configuração de uma conexão OLEDB ......................................................................... 13
Exercício nº. 2 – Criação de um novo Report ..................................................................................... 13
Exercício nº. 3 – Criação de um report manual ...................................................................................... 14
FORMATAÇÃO DE OBJETOS ........................................................................................................................ 15
Exercício nº. 4 – Formatação de objetos ................................................................................................ 18
SELEÇÃO E ORDENAÇÃO DE REGISTOS ............................................................................................ 20
OBJETIVOS ................................................................................................................................................... 20
ORDENAÇÃO DE REGISTOS ......................................................................................................................... 20
RESTRIÇÃO DE REGISTOS ............................................................................................................................ 21
Select Expert ........................................................................................................................................... 22
Selection Formula Editor ........................................................................................................................ 24
Exercício nº. 5 – Ordenação de Registos ................................................................................................ 25
Exercício nº. 6 – Seleção de Registos ...................................................................................................... 26
DEFINIÇÃO DE FORMULA FIELDS ..................................................................................................... 27
OBJETIVOS ................................................................................................................................................... 27
UTILIZAÇÃO DE FÓRMULAS......................................................................................................................... 27
Manutenção de Fórmulas ....................................................................................................................... 28
Utilização do editor de fórmulas ............................................................................................................ 29
Áreas do editor de fórmulas ................................................................................................................... 30
Linguagem para escrita de fórmulas ....................................................................................................... 31
Exercício nº. 7 – Criação de fórmulas ..................................................................................................... 32
LIGAÇÃO ENTRE TABELAS................................................................................................................. 33
3 / 66

OBJETIVOS ................................................................................................................................................... 33
CONCEITO “LIGAÇÃO ENTRE TABELAS” ...................................................................................................... 34
Definição da origem e destino da ligação ............................................................................................... 34
Tipo de relações ...................................................................................................................................... 34
Relação de um para um (one-to-one) ..................................................................................................... 34
Relação de um para vários (one-to-many) ............................................................................................. 34
Tipos de Join (ligação) ............................................................................................................................. 34
Inner Join................................................................................................................................................. 35
Left Outer Join ......................................................................................................................................... 35
Right Outer Join ...................................................................................................................................... 35
Database Expert ...................................................................................................................................... 36
Adicionar e remover Base de Dados do report....................................................................................... 37
Exercício nº. 8 – Ligação entre tabelas ................................................................................................... 38
AGRUPAMENTOS E TOTAIS .............................................................................................................. 39
OBJETIVOS ................................................................................................................................................... 39
INTRODUÇÃO DE GRUPOS .......................................................................................................................... 39
Inserção de um grupo ............................................................................................................................. 39
Ordenação .............................................................................................................................................. 40
Group Options ......................................................................................................................................... 40
Alterar as definições um grupo............................................................................................................... 41
Eliminar um grupo .................................................................................................................................. 41
Criação de múltiplos grupos ................................................................................................................... 41
SUMMARIZING ............................................................................................................................................ 41
Inserção de um campo de sumário ........................................................................................................ 42
GRAND TOTAL ............................................................................................................................................. 42
ORGANIZAÇÃO DE GRUPOS ........................................................................................................................ 42
Reordenação de grupos .......................................................................................................................... 42
Group Sort Expert ................................................................................................................................... 42
RESTRIÇÃO DE GRUPOS .............................................................................................................................. 43
Exercício nº. 9 – Agrupamentos e SubTotais .......................................................................................... 44
Exercício nº. 10 – Seleção de Grupos ..................................................................................................... 45
Exercício nº. 11 – Fórmulas e Formatações Especiais ............................................................................ 46
Exercício nº. 12 – Filtros avançados........................................................................................................ 47
GRÁFICOS ......................................................................................................................................... 48
OBJETIVOS ................................................................................................................................................... 48
CRIAÇÃO DE GRÁFICO COM BASE NO CHART EXPERT ................................................................................ 49
4 / 66

Customização de um gráfico ................................................................................................................... 51


Exercício nº. 13 – Gráfico por cliente...................................................................................................... 51
Exercício nº. 14 – Gráfico de Performance ............................................................................................. 52
ETIQUETAS........................................................................................................................................ 53
OBJETIVOS ................................................................................................................................................... 53
CRIAÇÃO DE UM REPORT DO TIPO “ETIQUETAS” ....................................................................................... 53
Exercício nº. 15 – Definição de etiquetas de artigos .............................................................................. 55
PARAMETER FIELDS .......................................................................................................................... 56
OBJETIVOS ................................................................................................................................................... 56
PARAMETER FIELDS ..................................................................................................................................... 56
Criar um Parameter Field ........................................................................................................................ 56
Utilizar um Parameter Field .................................................................................................................... 57
Exercício nº. 16 – Definição de parâmetros do Tipo String .................................................................... 58
................................................................................................................................................................ 59
Exercício nº. 17 – Definição de parâmetros do Tipo Data ...................................................................... 59
COLOCAÇÃO DE UM REPORT NO ERP PRIMAVERA ......................................................................... 60
OBJETIVOS ................................................................................................................................................... 60
COLOCAÇÃO DE UM REPORT NO PRIMAVERA............................................................................................ 61
Exercício nº. 18 – Colocação de Reports no ERP PRIMAVERA ................................................................ 61
REVISÃO............................................................................................................................................ 63
Exercício nº. 19 – Exercício de Revisão ................................................................................................... 63
Exercício nº. 20 – Exercício de Revisão ................................................................................................... 64
5 / 66

As informações descritas neste documento podem ser alteradas sem aviso prévio. Todos os nomes
apresentados ao longo dos exemplos e imagens, são fictícios. Nenhuma parte deste documento
pode ser reproduzida ou transmitida sob qualquer formato, para qualquer propósito, sem
autorização escrita da PRIMAVERA BSS. Excetua-se a transcrição de certas passagens para efeitos
de apresentação, crítica ou discussão das ideias e opiniões contidas no livro. Esta exceção não pode,
porém, ser interpretada como permitindo a transcrição de textos em recolhas antológicas ou
similares, da qual pode resultar prejuízo para o interesse para a obra. Os infratores são passíveis de
procedimento judicial.
6 / 66

Como desenhar um Report


Objetivos
Planear o conteúdo e formato do report;
Efetuar a definição e ligação do report a uma Data Source;
Criar um novo report com e sem recurso ao “Expert”;
Identificar as várias secções de um report e reconhecer o seu comportamento;
Identificar e utilizar alguns tipos de objetos;
Formatação dos Objetos;
7 / 66

Configuração de uma nova Data Source

Um dos objetivos da criação de um novo report é permitir a visualização de informação que está
armazenada em Base de Dados (BD). No entanto, para que seja possível aceder a informação
armazenada em BD é necessário definir uma forma de acesso a esses dados. Para tal deverá ser
configurada uma Data source.
O Crystal Reports poderá aceder aos dados segundo as seguintes categorias:
- Direct Access database files
- ODBC data sources
- OLE DB
- Business Views
- Crystal SQL Designer files
- Crystal Dictionary files
Considerando o âmbito deste manual, iremos considerar a opção OLEDB.

Em seguida são descritos quais os passos a percorrer para a definição de uma Data Source:

Passo 1:
Selecionar o tipo de Source pretendido. Neste caso iremos selecionar a opção “Make new
connection” no âmbito da ligação OLEDB.
8 / 66

Passo 2:
Definir que tipo de Driver se pretende utilizar. Vamos seguir como exemplo um driver para conexão
a um Servidor de SQL. No entanto, dependendo do driver selecionado, as caixas de diálogo
seguintes poderão diferir.
9 / 66

Após selecionar o tipo de driver será necessário definir todas as informações sobre o driver. No
caso do driver para conexão a um servidor de SQL será necessário definir, no mínimo, a seguinte
informação:

Terminado o processo de criação da


Data Source, será possível aceder às tabelas existentes na BD associada anteriormente.

Criação de um novo report

Planeamento de um Report
O resultado de um report está dependente de um bom planeamento inicial. É importante, antes de
iniciar o processo de criação de um report, definir quais os objetivos que se pretende atingir,
nomeadamente:
- Base de Dados: qual a(s) Base de Dados que contém a informação que será necessário no
Report;
- Tabelas: Quais as tabelas que contêm a informação que será necessário no Report;
- Campos: Validar que tipo de campos serão necessários (informação proveniente de BD,
criação de fórmulas, ...)
- Agrupamentos: analisar de que forma será mostrada e agrupada a informação. Existe
informação que poderá ser agrupada?
- Totais: vai haver necessidade de criar campos totalizadores?
- Restrição: vai ser necessário efetuar restrições sobre a informação existente de modo a
refinar os dados?
10 / 66

Todas estas questões irão ajudar a criação do report numa fase inicial. Uma vez definidas estas
questões, será mais fácil iniciar o processo de criação de report.

Criação de um novo Report


A criação de um novo report poderá ser realizada de duas formas:
- Recorrendo ao Wizard de criação de Reports;
- Definição manual de todas as configurações do Report;
A seleção entre uma das duas situações está dependente do conhecimento do utilizador e do
objetivo do report.
Utilizando o Report Wizard
Esta opção permite aos utilizadores menos experientes, iniciar um report através de um dos
templates já formatados.
A seleção do template está diretamente dependente do objetivo do mapa, ou seja, qual a
informação a mostrar e em que formato.
Consoante o template selecionado, assim será a formatação aplicada inicialmente ao Report.

Blank Report
Nesta opção o utilizador não tem qualquer ajuda na configuração inicial do Report. Será
apresentado o ambiente de design do report, onde o utilizador poderá iniciar a introdução de
objetos e formatação do report.

Análise do ambiente Design e Preview


A janela de design do report inclui um conjunto de toolbars e menus que permitem aceder às várias
opções disponíveis. Inclui ainda as secções disponíveis para introdução de informação num report.
No que respeita às secções, um report novo apresenta sempre 5 secções. Cada secção tem as
características próprias. É importante identificar e compreender as características particulares de
cada secção pois irão afetar quando é como os objetos serão impressos.
Assim, temos:
- Report Header: os objetos colocados nesta área serão impressos uma única vez no início
do report.
- Page Header: os objetos colocados nesta secção serão impressos no início de cada página
do report.
11 / 66

- Details Área: os objetos colocados nesta secção serão impressos uma vez por cada registo
lido.
- Report Footer: os objetos colocados nesta secção serão impressos uma única vez no final
do report.
- Page Footer: os objetos colocados nesta secção serão impressos no final de cada página
do Report.

Design/Preview
Na opção de design são manipulados e colocados os objetos. No entanto a visualização do resultado
final é feita na opção Preview. Aqui consegue-se visualizar a estrutura definida na opção de Design,
após a leitura de registos, permitindo ter a visualização do resultado final do report.
Quando se trabalha em modo Preview, existe um conjunto de controlos que poderão ser utilizados
para efetuar a navegação dentro da visualização do resultado do report.

Page Control
Permite a navegação no report: primeira página, página anterior, página seguinte, última página.

Fronteiras de Seção
As linhas representam a separação entre as várias secções. Estas não aparecem na impressão.

Estas linhas poderão ser movidas para alterar o espaço reservado para cada secção.

Colocação de Objetos no Report


Um report poderá conter objetos de vários tipos: database fields, formula fields, linhas, caixas de
texto, etc. Estes objetos poderão ser colocados, movidos e redimensionados no report.
Para inserir um novo objeto no report poderá ser utilizado o menu Insert. A partir deste menu
poderá ser inserido qualquer tipo de objeto.
12 / 66

- Field Object: acesso à janela Field Explorer que permite a inserção de vários
tipos de objetos, nomeadamente Formula Fields, Database Fiels, etc
- Text Object: inserção de objetos de texto
- Subtotal, Grand Total, Summary: inserção de campos totalizadores
- Group, Section: inserção de novas secções
- OLAP Grid, Cross-Tab, Sub-Report: inserção de informação organizada e
relacionada com o report atual
- Line, Box, Picture, Chart, Map: inserção de objetos gráficos
- OLE Object, Hyperlink: inserção de informação externa

O objeto deverá ser colocado na secção que melhor se adequar aos objetivos pretendidos. Regra
geral os objetos do tipo Database Field são colocados na secção de Details. Quando assim é,
automaticamente serão introduzidos os títulos das colunas a imprimir, tendo por base a definição
do campo.

Posicionamento e redimensionamento dos objetos


Após a colocação dos campos e objetos no report, pode ser feito o reposicionamento e
redimensionamento dos mesmos. Estas operações poderão se efetuadas em design ou em Preview.

Posicionamento
O posicionamento dos objetos poderá ser realizado de forma livre ou poderá estar condicionado
por uma Grid que está internamente associada ao report. Esta Grid poderá está visível ou invisível
tanto em design como em Preview.
A obrigatoriedade do objeto estar alinhado à Grid poderá ser condicionada pela opção disponível
na tecla direita do rato.
- Snap to Grid: se a opção estiver ativa, obriga o alinhamento do objeto à grelha.
A Grid poderá ser configurada no que respeita ao espaçamento entre pontos, permitindo uma
maior ou menor precisão na colocação dos objetos. Para tal, será necessário aceder ao menu
File>Options. No separador Layout poderão ser definidas as opções anteriores e ainda o tamanho
da Grid.

Redimensionamento
13 / 66

Um objeto quando colocado no report, tem um tamanho por defeito. Este tamanho poderá ser
alterado diretamente através dos limites do objeto ou através da opção de menu, na tecla direita
do rato.

Guidelines
Para facilitar o alinhamento dos objetos poderão ser inseridas GuideLines. As GuideLines são
marcadores que poderão ser colocados através de um clique nas réguas (horizontal ou vertical) e
permite movimentar simultaneamente um conjunto de campos.
Para que um objeto fique associado ao um GuideLine é necessário que o mesmo seja arrastado pelo
report até que um dos limites coincida com a marca da GuideLine:

GuideLine
Objecto a associar à GuideLine

Para movimentar a GuideLine basta arrastar a marca pela zona demarcada da régua (Horizontal ou
vertical).
Para eliminar uma GuideLine basta arrastar a marca para fora da zona da régua.

Exercício nº. 1 – Configuração de uma conexão OLEDB


Pedido
Objetivo: criar uma ligação do tipo OLEDB, que esteja parametrizada para trabalhar sobre a BD
PRIDEMO. Esta BD, do SQL Server, está disponível na instância de SQL disponível na máquina de
trabalho.

Exercício nº. 2 – Criação de um novo Report


Pedido
Objetivo: Criar uma listagem que contenha os documentos pendentes, ou seja, que ainda não forma
liquidados. Para a criação deste mapa deverá recorrer ao Standard Repot Wizard e deverá utilizar
a tabela Pendentes.
Deverão ser considerados para o report os seguintes campos:
14 / 66

• TipoEntidade
• Entidade
• Serie
• TipoDoc
• NumDocInt
• DataDoc
• DataVenc
• ValorTotal
• ValorPendente
• CondPag
Grave o relatório com o seguinte nome: “C:\...\LstPend0.rpt”.

Resultado:

Exercício nº. 3 – Criação de um report manual


Pedido
Objetivo: Criar uma listagem idêntica à do exercício anterior. No entanto, a inserção dos campos
no report deverá ser realizada de forma manual, sem recurso ao Report Expert.
Grave o relatório com o seguinte nome: “C:\...\LstPend1.rpt”.
Resultado:
15 / 66

Formatação de Objetos

Após a introdução dos objetos no report, poderá ser necessário efetuar alterações ao aspeto dos
objetos. É possível no Crystal a alteração de alguns atributos dos objetos, nomeadamente Tipo de
Letra, Tamanho da Letra, Cor, Border, etc.
16 / 66

Dependendo do tipo de objeto que se está a configurar assim serão as propriedades disponíveis.
No entanto existe um conjunto de atributos que são comuns, independentemente do tipo de objeto
a formatar.
Para aceder ao menu de formatação dos campos basta aceder ao menu de contexto através da
tecla direita do rato sobre o objeto pretendido e aceder à opção Format Field. É ainda possível
aceder à mesma opção através do menu Format na opção Format > Format Field após a seleção do
objeto pretendido.

Atributos comuns
No separador Common, é possível suprimir o objeto, manter o objeto todo junto se o conteúdo se
distribuir por mais do que uma página, controlar o Border, limitar o número de linhas (caso se
aplique), definir a rotação do texto, etc.

Border
17 / 66

No separador Border, é possível definir o estilo, cor e sombra do enquadramento que um campo
poderá conter. Poderá ainda ter uma cor de preenchimento associada à área ocupada pelo objeto.

Font
No separador Font é possível definir todas as caraterísticas associadas ao Tipo de Letra a aplicar ao
objeto selecionado. Pode ser definido desde a Fonte, a Cor, o Tamanho, etc.
18 / 66

Formatações específicas
Consoante o tipo de dados poderão existir configurações específicas, nomeadamente quando
tratamos de campos do tipo Database Fields que poderão conter vários tipos de dados.
No caso de o objeto devolver resultados do tipo “texto” então existirá um separador para definir
as características em termos de parágrafo.
No caso de ser do tipo numérico, existirá um separador que permitirá definir características
específicas, nomeadamente nº de casas decimais, símbolos de agrupamento de dígitos e símbolo
decimal.
No caso de ser do tipo “data”, então será disponibilizado um separador para permitir definir tipo
de data (extenso ou curto) e definir separadores, etc.

Formatações condicionadas
A grande maioria dos campos apresentam a possibilidade de configurar os vários atributos de forma
condicionada, ou seja, mediante determinada condição aplica-se ou não a formatação configurada.
Para tal definição, deverá ser utilizada a opção . Esta opção permite aceder a uma janela de
edição de fórmulas, que permitirá definir a(s) condição(ões) em que será aplicada a formatação
associada à propriedade que se está a editar.

Exercício nº. 4 – Formatação de objetos


Pedido
Objetivo: Efetuar a formatação do report LstPend0, criado no exercício nº 3.
19 / 66

Para a formatação deverão ser consideradas as seguintes condições:


 Introduza o título “Listagem de Pendentes” na listagem e o campo “Data:” antes da data
do dia. O título e a data deverão aparecer apenas na primeira página do report;
 O título deverá ser formatado da seguinte forma: fonte = Arial 14, Bold, Azul e
alinhamento do campo = centrado.
 Os títulos das colunas existentes deverão estar formatados: Arial 10, Bold;
 Os campos na secção de Details deverão estar formatado da seguinte forma: Times New
Roman 9;
 Introduza um risco azul por baixo dos títulos dos campos do relatório.
 Formate os campos numéricos da seguinte maneira:
o O campo “NumDocInt” não tem casas decimais, mas deverá apresentar o ponto
como símbolo de agrupamento de milhares.
o Os campos referentes aos diferentes valores não devem incluir qualquer símbolo
para a moeda.
 Nos campos DataDoc e DataVenc, retire as referências às horas, mantendo apenas as
informações referentes às datas;
 Redimensione e reposicione os campos de forma a garantir que os dados são visualizados
na totalidade.

Grave as alterações efetuadas.


 Aplique uma formatação automática do tipo Corporate. Verifique como poderá
retroceder à formatação default do Crystal. (opção Report\Template Expert...)

Resultado:
20 / 66

Seleção e ordenação de Registos


Objetivos
Utilização do Select Expert.
Utilização das opções associadas à Seleção de Registos.
Definição de critérios adicionais de seleção.
Modificação da seleção através do Formula Editor.

Ordenação de Registos
A impressão dos registos é efetuada, por defeito, segundo a ordem de leitura a partir da origem ou
segundo alguma ordenação implícita na configuração da tabela de origem.
No entanto, é possível definir uma ordenação específica para o report. A ordenação poderá ser
definida na seguinte opção:
21 / 66

Esta funcionalidade dá acesso à janela de configuração de ordenação.


Para efetuar a configuração da ordenação basta transitar para o lado direito da janela os campos
sobre os quais será realizada a ordenação. Esta, poderá ser ascendente ou descendente consoante
a parametrização.

Restrição de Registos
Quando se cria um report que apresenta informação proveniente de uma ou várias tabelas, por
defeito, são carregados todos os registos existentes na origem. No entanto, pode existir a
necessidade de restringir o número de registos mostrados no report.
22 / 66

Para efetuar esta restrição deverá ser configurada a seleção de registos do report.
Existem duas formas para configurar a seleção de registo. Uma das formas é assistida, através do
Expert. A outra, passa pela definição manual das condições de restrição através do editor de seleção
de registos.

Select Expert
Para definir uma restrição de registos através do Select Expert deverão ser seguidos os seguintes
passos:
Passo 1:
Aceder ao menu Report>Select Expert

Passo 2:
Selecionar de entre os campos apresentados o campo que vai sofrer a restrição
23 / 66

Passo 3:
Após a seleção do campo deverá ser selecionado qual o tipo de restrição a aplicar:

Restrição Descrição

Is any value Seleciona todos os registos, ou seja, não aplica qualquer restrição

Is equal to Seleciona apenas os registos que respeitem a restrição indicada

Permite a definição de uma lista de valores, mostrando os registo que respeitem


Is one of
pelo menos uma das opções
Permite a definição de uma lista de valores, mostrando os registo que não
Is not one of
respeitem nenhuma das opções
Is greater than ou Is
Permite definir um valor limite em que os registos deverão estar acima ou abaixo.
Less than
Is greater than or equal
Permite definir um valor limite em que os registos deverão estar acima ou abaixo.
to ou Is Less than or
Permite ainda incluir o valor limite na selecção.
equal to
Permite selecionar qualquer registo que encaixe no intervalo definido, incluindo
Is between
os valores limites
Permite excluir qualquer registo que encaixe no intervalo definido, incluindo os
Is not between
valores limites

Start with Permite definir o valor pelo qual deve começar o conteúdo de um campo.

Does not start Permite definir o valor pelo qual não deve começar o conteúdo de um campo.
24 / 66

Esta opção permite definir critérios de selecção inlcuindo meta caracteres (? e *)


?  representa exactamente um caracter
Is like
*  representa zero ou mais caracteres
Serão listado todos os que respeitarem a restrição indicada
Identico ao anterior na definição de critérios.
Is not Like
Exclui todos os que respeitarem os critérios.
Permite definir um intervalo de datas, com o qual os registos mostrados deverão
In the period
encaixar.
Permite definir um intervalo de datas, com o qual os registos mostrados não
Is not in the period
deverão encaixar.
Esta opção expande a janela de diálogo onde será possível introduzir manual o
Formula
critério a considerar para a restrição.

Para cada novo critério de seleção deverá ser utilizada a opção de modo a iniciar
o processo de definição de restrição (Passo 1).

Selection Formula Editor


Outra forma de definir a restrição de registos é através da definição manual da condição. Para tal
basta aceder à opção seguinte, que permitirá visualizar a janela de edição de fórmulas.

O editor de fórmulas está dividido em várias áreas que poderão ser analisadas em seguida:

Árvore de campos disponíveis Árvore de funções disponíveis Árvore de operadores


disponíveis
25 / 66

A opção permite efetuar a validação da expressão introduzida, identificando eventuais


erros.
A opção permite gravar a expressão introduzida, efetuando a validação da expressão e a
aplicação da mesma.

Exercício nº. 5 – Ordenação de Registos


Pedido
Objetivo: Definir uma ordenação de registos no report.
Sobre o report formatado no exercício anterior, efetue as seguintes ordenações:
• Tipo de Entidade – Ascendente
• Data de Vencimento – Ascendente

Resultado:
26 / 66

Exercício nº. 6 – Seleção de Registos


Pedido
Objetivo: Utilização do assistente de criação de filtros e do editor de fórmulas.
Recorrendo ao Select Expert, selecione apenas os registos que digam respeito aos pendentes de
Clientes.
Sem recurso ao Select Expert selecione os registos que sejam referentes a pendentes do tipo
Faturas.

Resultado:
27 / 66

Definição de Formula Fields


Objetivos
Utilização de Formula Fields
Trabalhar com o editor de fórmulas
Utilização de algumas estruturas de controlo
Definição de cálculos básicos

Utilização de Fórmulas
Na maioria dos casos, os dados que pretendemos visualizar num report já existe nas tabelas das
Base de Dados que estão em utilização no report. No entanto, existem situações em que é
necessário imprimir informação que não existe em nenhum dos campos das tabelas da Base de
Dados. Nestes casos, a informação pretendida terá que ser calculada ou composta por várias
informações. Para permitir a realização de cálculos ou composição de informação, deverá ser
utilizado um campo do tipo Formula Field.
As Fomula Fields poderão ser utilizadas para cálculos numéricos, nomeadamente, comparação
entre vários campos. Os vários componentes de uma fórmula são os seguintes:
• Database Fields
• Números
• Operadores
28 / 66

• Funções
• Campos de sumário
• Texto
• Outras fórmulas

Manutenção de Fórmulas
As fórmulas, não existem criadas num report novo. As mesmas terão que ser criadas, alteradas e
eliminadas consoante as necessidades. Qualquer operação de manutenção das fórmulas poderá
ser realizada através do Field Explorer disponível na opção de menu Insert > Field Object.

Criação de uma Fórmula


Para a criação de uma nova fórmula poderão ser seguidos os seguintes passos:

Passo 1:
No Field Explorer, na opção Formula Fields, New:

Passo 2:
Dar um nome para identificação da fórmula:
29 / 66

Ao confirmar o nome da fórmula, será mostrado o editor de fórmulas onde será possível efetuar a
introdução da operação a realizar. O nome definido será utilizado como cabeçalho da coluna.

Edição de uma fórmula


A alteração de uma fórmula poderá ser efetuar a qualquer altura. Para tal, deva aceder ao Field
Explorer, através da tecla direita do rato ou na barra de ferramentas e aceder à opção Edit. Esta
opção permitirá aceder ao editor de fórmulas e realizar qualquer alteração.

Renomear uma fórmula


A renomeação de uma fórmula poderá ser realizada através do Fiel Explorer, através da tecla direita
do rato ou da barra de ferramentas, acedendo à opção Rename.

Eliminar uma fórmula


A eliminação de uma fórmula poderá ser realizada através do Fiel Explorer, através da tecla direita
do rato ou da barra de ferramentas, acedendo à opção Delete.

Utilização do editor de fórmulas


Ao utilizar o editor de fórmulas é possível utilizar em simultâneo campos, operadores e funções de
forma a criar uma fórmula. Neste editor é possível introduzir manualmente os componentes ou
selecionar a partir das listas disponíveis de campos, operadores e funções. Ao aceder à lista
pretendida, é possível através de duplo-clique sobre o campo, função ou operador pretendido,
introduzir o item no editor.

Árvore de campos disponíveis Árvore de funções disponíveis Árvore de operadores


disponíveis
30 / 66

Áreas do editor de fórmulas

Árvore de Campos
Todos os campos da Base de Dados e fórmulas estão listados aqui assim como campos de sumário
ou Parameter Fields. Os campos que já se encontram associados ao report aparecem abaixo da
opção Report Field.
O formato dos campos de base de dados listados será sempre da seguinte forma: “Tabela.campo”
para que seja possível saber a origem da informação. As fórmulas serão precedidas pelo símbolo
“fx”. Os campos não utilizados estão listados abaixo do nome da instância.

Árvore de Funções
Todas as funções disponíveis estão listadas nesta árvore, mostrando ainda os parâmetros
necessários à utilização das mesmas. Estas funções são disponibilizadas previamente com o Crystal
Reports, sendo possível criar novas funções e associá-las a esta lista. As novas funções serão listadas
no final.

Árvore de Operadores
31 / 66

Os operadores são símbolos especiais aos quais está associada uma ação que será executada entre
dois ou mais valores.

Fórmula
As fórmulas são introduzidas nesta zona de forma manual ou recorrendo ao duplo-clique sobre o(s)
item(s) a introduzir.

Linguagem para escrita de fórmulas


Os vários componentes introduzidos numa fórmula são introduzidos segundo um conjunto de
regras chamado de sintaxe. O editor permite validar a sintaxe, auxiliando em seguida na deteção
de possíveis erros, permitindo a correção da mesma antes da sua utilização no report.
Algumas das regras base que devem estar sempre presentes são:
• O texto deverá ser iniciado e terminado entre aspas (“texto”);
• Quando aplicável, os argumentos deverão estar mencionados entre parênteses;
• Quando se pretende referencial uma fórmula, deverá ser utilizado o símbolo @ antes do
nome da fórmula;
• Uma fórmula só pode devolver um resultado;

As fórmulas poderão ser escritas em Crystal Sintaxe ou, para quem está mais familiarizado com a
linguagem, poderá utilizar Basic Sintaxe.

A alteração da sintaxe em utilização poderá ser definida na opção de menu File>Options> Formula
Editor>Formula Language.

O conhecimento das seguintes regras irá permitir uma iniciação mais facilitada no uso das fórmulas:

Inicia a marcação de um comentário e tudo o que for introduzido em seguida será


ignorado pelo compilador. Os símbolos // deverão ser repetidos por cada linha de
// comentário.

Identifica os argumentos que seguem uma função. Algumas funções requerem mais do
que um argumento. Neste caso os argumentos serão separador por vírgulas.
()
Os parenteses funcionam também como indicadores de precedência, forçado a
avaliação em primeiro lugar, do que estiver dentro dos parenteses.

{} Identifica os campos. Todos os tipos de campo, Database Fields, formulas, etc.

[] Identifica arrays ou substrings


32 / 66

Identifica literais. Qualquer texto colocado dentro de aspas, será impresso tal e qual
“”
como definido.

A fórmula poderá ser introduzida em maiúsculas ou minúsculas sem que tenha qualquer
Upper/Lower Case
consequência na sua interpretação

Quebra de Linha
A quebra de linha é ignorada no editor de fórmulas.
(<Enter>)

Exercício nº. 7 – Criação de fórmulas


Pedido
Objectivo: Criação de fórmulas autónomas e de apoio à formatação condicional.
Formula Fields

• Crie uma coluna chamada “Valor Liquidado”, a qual deve apresentar a diferença
entre o valor total do pendente e o valor ainda pendente.
• Crie uma coluna “Percentagem Paga”, a qual apresenta em termos percentuais qual
o valor do pendente efetivamente pago. Formate o campo garantindo que o valor
visualizado mostra o símbolo % e com duas casas decimais.

Notas: caso seja necessário poderá alterar o Layout da página para Landscape de forma a garantir
espaço para a colocação das duas novas colunas.

Formatação condicionada
• Crie um mecanismo que permita visualizar a coluna Valor Liquidado com a cor verde
caso seja igual ou superior a 50% do valor total pendente. Caso contrário, visualize a
vermelho.
• Otimize o funcionamento da expressão/fórmula construída validando eventuais
valores nulos.

Resultado:
33 / 66

Ligação entre tabelas

Objetivos
Definição de conceitos associados à ligação entre tabelas;
Adicionar e remover tabelas ao report;
Utilização do Smart Linking
Definir ligações entre tabelas
34 / 66

Conceito “Ligação entre tabelas”


Se um report contém informação proveniente de várias tabelas é necessário ligar as duas tabelas
quando se está a criar o report. A ligação entre tabelas, pressupões que existe um ou vários campos,
que contém informação comum entre as tabelas. Assim, quando se efetua uma ligação entre
tabelas, os registos de uma tabela são idênticos aos registos relacionados na segunda tabela.

Definição da origem e destino da ligação


Quando se ligam duas tabelas, a ligação é feita de (from) uma tabela para (to) outra tabela. A tabela
from é utilizada com a tabela primária, onde a tabela to funciona como uma tabela lookup ou seja,
tabela de pesquisa onde os registos da tabela primária são pesquisados. Numa ligação, o Crystal
examina o primeiro registo da tabela primária e procura todos os registos coincidentes na tabela
de lookup. Após a identificação das correspondências na tabela de lookup para o primeiro registo
da tabela primária, serão pesquisadas as correspondências para o próximo registo na tabela
primária.

Tipo de relações
Quando se ligam duas tabelas, os registos de uma tabela serão relacionados com os registos de
outra tabela. Estas relações poderão ser de dois tipos:
 one-to-one
 one-to-many

Relação de um para um (one-to-one)


Numa relação de um para um entre dois registos de uma ligação entre tabelas, verifica-se que cada
registo da tabela primária tem apenas uma correspondência a tabela de lookup.

Relação de um para vários (one-to-many)


Numa relação de uma para vários entre registo de uma ligação entre tabelas, verifica-se que um
registo na tabela primária poderá ter vários registos correspondentes na tabela de lookup.

Tipos de Join (ligação)


Quando se efetua a ligação entre duas tabelas, é possível definir de que forma as tabelas se vão
relacionar, ou seja que tipo de ligação (Join) será utilizado. O Join indica como dois campos serão
comparados quando os registos forem lidos.
Os tipos de ligação mais comuns são:
35 / 66

• Equal [=]
• Left Outer [=(+),*=]
• Right Outer [(+)=,=*]

Inner Join
O resultado devolvido pelo Inner Join inclui todos os registos em que o conteúdo do campo utilizado
na ligação é exatamente igual nas duas tabelas, ou seja, devolve o conteúdo comum.

Left Outer Join


O resultado devolvido pelo Left Join inclui todos os registos em que o conteúdo do campo utilizado
na ligação é exatamente igual nas duas tabelas. Inclui também uma linha para cada registo da tabela
primária que não tenha correspondência na tabela de lookup.

Right Outer Join


O resultado devolvido pelo Right Join inclui todos os registos em que o conteúdo do campo utilizado
na ligação é exatamente igual nas duas tabelas. Inclui também uma linha para cada registo da tabela
lookup que não tenha correspondência na tabela primária.
36 / 66

Database Expert
Uma ligação pressupõe que existe um campo comum entre duas tabelas. O processo de ligação é
simplificado através da opção Databse Expert, que permite de forma assistida definir qual(is) o(s)
campo(s) utilizado(s) para a ligação.

O Database Expert permite criar, modificar e eliminar ligações. Sempre que se adiciona mais do que
uma tabela ao report, o Databse Expert é aberto automaticamente. É mostrada a representação
gráfica das tabelas que atualmente estão associadas ao report.
Caso se pretenda consulta a opção Database Expert, a mesma poderá ser acedida a partir do menu
Database>Database Expert.
37 / 66

Por defeito, a opção Auto smart linking está ativa, o que garante a ligação automática entre as
tabelas segundo um dos critérios:
• By name: serão ligados automaticamente os campos que nas duas tabelas
contenham nomes idênticos;
• By Key: serão ligados os campos, que na Base de Dados apresentem definidas
chaves estrageira.1

Quando as ligações não são realizadas de forma automática, é possível definir manualmente a
ligação selecionando o campo da tabela primária e arrastar até ao campo pretendido na tabela de
lookup. Ao selecionar a ligação, através do botão Link Options, é possível definir o tipo de ligação
pretendida e desta forma condicionar o resultado do report.

Adicionar e remover Base de Dados do report


Várias vezes irá ocorrer a necessidade de adicionar ou remover novas Base de Dados ao report com
o objetivo de adaptar o resultado do report as necessidades. Existem duas formas de
adicionar/remover uma BD ao Report:
• Através do Menu;
• Através do Databse Expert;

Adicionar BD através do menu


1. Opção de menu Database > Set Datasource Location…
2. Selecionar a BD e a(s) tabela(s) pretendida(s)
3. Botão Update

Adicionar BD através do Databse Expert


1. Selecionar a BD e a(s) tabela(s) pretendida(s)
2. Botão OK

1
Quando uma tabela referencia um campo chave de outra tabela.
38 / 66

Exercício nº. 8 – Ligação entre tabelas


Pedido
Objetivo: Utilização do do Databse Expert para realização a ligação entre tabelas.
Para uma leitura mais clara das condições de pagamento associadas a cada pendente, pretende-se
que o relatório inclua além do código a respetiva descrição.

Resultado:
39 / 66

Agrupamentos e Totais

Objetivos
Criação de grupos
Reordenação de grupos
Utilização do Group Expert
Seleção de grupo

Introdução de Grupos

Após a visualização da informação num report, poderá ser vantajoso a introdução de grupos de
informação, ou seja, pegar na informação já introduzida num report e organizá-la em grupos de
informação relevante.
O Crystal Report permite a criação de grupos num report e introduzir em seguida campos de
sumário em cada grupo. O agrupamento poderá ser configurado com base num campo já
introduzidos no report, em campos da Base de dados ainda não introduzidos no report e em
fórmulas.
Quando se efetua o agrupamento de registos, são adicionadas duas novas secções ao report. Após
a criação do grupo passaram a ser visíveis as secções Group Header e o Group Footer antes e depois
da secção de Details. Para cada grupo criado, serão introduzidos um cabeçalho e um rodapé de
grupo.
Para além do cabeçalho e do rodapé de grupo, será introduzido automaticamente o campo Group
Name Field no Group Header.

Inserção de um grupo
A inserção de um grupo no report deverá ser realizada através da opção de menu Insert>Group.
Esta opção vai permitir aceder à janela de configuração de grupo onde deverão ser definidas as
configurações necessárias para caracterizar o grupo.
40 / 66

Ordenação
A ordenação poderá ser realizada segundo quatro critérios:
 Ascendente
 Descendente
 In specified order: possibilidade definir a ordenação com base em outros campos que não
os que estão já foram inseridos no report
 In original order: mantém a ordenação pela qual os registos foram introduzidos na BD

Group Options
Um grupo poderá ainda ser configurado com base noutras opções.

Customize group name formula


O nome do grupo poderá ser customizado de forma a adaptar-se às necessidades. O nome poderá
devolver o conteúdo de outro campo ou ser definido através da construção de uma fórmula.

Keep Group Together


Esta opção previne a separação dos grupos por várias partes, ou seja, o nome do grupo e os registos
nunca ficam separados. Quando as informações não têm espaço disponível suficiente para serem
impressas na página atual, a impressão do grupo é iniciada na página seguinte.

New Page After


Esta opção permite que cada grupo se inicie numa nova página.

Repeat Group Header on Each page


Esta opção permite que quando a quantidade de registos associada a um grupo é elevada e não
cabe numa única página, seja repetido o cabeçalho do grupo em cada página impressa.
41 / 66

Cada grupo gerado pelo report imprime um cabeçalho de grupo antes da secção de detalhes. Esta
secção contém normalmente o nome do grupo. Após a impressão do último registo do grupo, é
impresso o rodapé do grupo. Regra geral, esta secção inclui campos de sumário.

Alterar as definições um grupo


Se for necessário efetuar alterações às definições do grupo, as mesmas poderão ser realizadas
através da opção Change Group, disponível através da tecla direita do rato sobre a Group Header
ou Group Footer, na janela de Design. Após aparecer a janela de configuração de grupo é possível
alterar o campo em que o grupo é baseado, a ordenação do grupo e alterar as Group Option.

Eliminar um grupo
Para eliminar um grupo deverão ser seguidos os seguintes passos:
1. Tecla direita do rato sobre a seção Group Header ou Group Footer do grupo a eliminar.
2. Selecionar a opção Delete Group.

Criação de múltiplos grupos


Não existe a limitação a um único nível de grupos. É possível a criação de grupos dentro de grupos.
Para criar um grupo dentro de outro grupo, basta seguir os passos definidos na criação de um grupo
novo:
1. Opção de menu Insert>Group...
2. Definir as características do grupo com base nas opções disponíveis.

Os grupos serão criados na impressão com base na ordem de criação no report.

Summarizing

Após a criação de grupos é possível adicionar campos de sumário ao report que permitirão mostrar
informação sumariada ao report.
Existem vários tipos de campos de sumário que permitirão mostrar informação baseada num grupo,
nomeadamente somatórios, médias, máximo, mínimo, etc.
42 / 66

Inserção de um campo de sumário


Os campos de sumário são adicionados no rodapé do grupo.
Para inserir um campo de sumário deverá ser utilizada a opção de menu Insert > Summary. Esta
opção permitirá aceder à janela de seleção, garantindo a seleção do campo sobre o qual será
realizada a operação.

Grand Total
Uma vez gerada informação de sumário associada a grupos, poderá também ser necessário
introduzir informação de sumário associado ao report. Designado por Grand Total, este tipo de
campo permite a visualização de informação no final do report. Este campo será incluído na secção
Report Footer.
De forma análoga aos campos de sumário, o campo Grand Total, permite efetuar as mesmas
operações disponíveis para os grupos. Novamente as operações estão condicionadas pelo tipo de
dados sobre o qual é realizado o cálculo.

Organização de grupos
Reordenação de grupos
Num report mais complicado, poderão existir vários níveis de grupos. Os grupos são adicionados ao
report com base na ordem de criação. No entanto poderá haver a necessidade de alterar a ordem
dos grupos. Para tal, deverão ser considerados os seguintes passos:
1. Pressionar com a tecla esquerda do rato na área cinzenta na janela de Design sobre a
secção de cabeçalho de grupo;
2. Arrastar a secção do cabeçalho do grupo que se pretende movimentar para a nova
localização;

Group Sort Expert


Através da opção Group Sort Expert é possível definir a ordem pela qual os grupos serão impressos
no report, baseados num campo de sumário do grupo. Com o Group Sort Expert é possível criar:

• Top N: conjunto dos n mais registos segundo um critério;


• Bottom N: conjunto do n menos registos segundo um critério;
• Sort all: o maior subtotal do grupo é impresso em primeiro, em seguida o grupo com
o segundo maior subtotal é mostrado, etc;
• Top Percentage: conjunto dos registos com maior percentagem segundo um critério;
• Bottom Percentage: conjunto dos registos com menor percentagem segundo um
critério.
43 / 66

Esta opção está disponível no menu Report > Group Sort Expert. Ao aceder a esta opção será
mostrada a janela seguinte, onde poderão ser definidas as configurações a aplicar na ordenação

Seleção da
ordenação a Seleção do campo
aplicar utilizado para
ordenação

Após definir a ordenação para o grupo, e no caso de existir mais do que um campo de sumário no
grupo, deverá ser selecionado o campo pretendido como base da ordenação.
A opção Where N is definir quantos grupos serão visualizados, respeitando a ordenação definida
(Top N ou Bottom N). A opção include Others, se estiver ativa permite juntar num único grupo todos
os registos que não foram considerados na ordenação definida anteriormente.

Restrição de Grupos
Quando se configura um critério de grupo ou se introduz campos de sumário, todos os grupos do
report são incluídos por defeito. No entanto, poderão existir situações em que não é pretendido a
visualização de todos os grupos:
• Visualizar apenas os grupos em que determinado campo de sumário respeita
determinadas condições;
• Visualizar apenas os grupos cujos campos de sumário apresentem os maiores ou
menores valores;
44 / 66

Esta seleção poderá ser efetuada recorrendo à opção Record Selection Formula ou Group Selection
Formula, dependendo do objetivo em mente.

A restrição efetuada através da opção Group Selection Formula, poderá demorar mais o processo
de criação de report.

Para efetuar uma restrição de grupo deverá ser utilizada a opção de menu Report > Selection
Formulas > Group. Aqui deverão ser introduzidas as restrições a aplicar aos campos de sumário.

Exemplo:
Visualizar apenas os grupos cujo nº de registos é superior a n.
Count({tabela.campo1}, {tabela.campo2}) > n

Exercício nº. 9 – Agrupamentos e SubTotais


Pedido
Objetivo: Criação de grupos
 Para que o relatório esteja melhor estruturado, agrupe os pendentes pelo cliente respetivo.
 Altere o Layout do relatório, para que o código, o nome e o telefone do cliente apareçam
no cabeçalho de cada grupo.
 Introduza os seguintes valores totais por cada cliente:
- Somatório do Valor pendente;
- Somatório do Valor Total;
- Somatório do Valor Liquidado;
- Contagem de documentos pendentes;
45 / 66

Resultado:

Exercício nº. 10 – Seleção de Grupos


Pedido
Objetivo: Aplicação de filtros sobre Grupos.
 Selecione apenas os Clientes cujo valor em dívida seja superior a 750.000€
46 / 66

Resultado:

Exercício nº. 11 – Fórmulas e Formatações Especiais


Pedido
Objetivo: configuração de vários grupos no mesmo report. Utilização de campos do tipo data como
base para criação do grupo.
• Remova as restrições introduzidas no exercício anterior;
• Para cada Cliente, agrupe os pendentes pelo mês da data de vencimento. O
descritivo do mês de vencimento deverá ser apresentado por extenso (ex: mês
vencimento 1  deverá apresentar Janeiro)
• Obtenha os valores totais de cada mês para cada Cliente:
- Somatório do Valor Total;
- Somatório do Valor Pendente;
- Somatório do Valor Liquidado;
47 / 66

Resultado:

Exercício nº. 12 – Filtros avançados


Pedido
Objetivo: Compreender a utilização da funcionalidade TopN/BottomN.

 Visualize apenas os 5 clientes mais “caloteiros”. Coloque “Outros” como título do grupo
para os restantes registos.
 No Cabeçalho de cada grupo, garanta que o título para o grupo só imprime o Código, Nome
e o Telefone, se não se tratar do grupo “Outros”. Neste caso, só deverá imprimir o respetivo
nome do grupo.
Resultado:
48 / 66

Gráficos

Objetivos
Criação de gráficos recorrendo ao Chart Expert
Gráficos com base em Campos de Sumários (grupos)
Configurações avançadas
49 / 66

Criação de gráfico com base no Chart Expert


Muitas vezes a informação contida num report é mais facilmente interpretada quando é
apresentada de forma gráfica. É possível através do Crystal report, criar gráficos baseados na
informação existente e segundo vários critérios.
Cada gráfico é tratado como um objeto no report, sendo possível efetuar a sua movimentação,
redimensionamento, etc. A secção onde é colocado o gráfico no report, condiciona os dados que
serão impressos. Por exemplo, se um gráfico for colocado na secção Report Header, o gráfico irá
mostrar informação respeitante a todo o report. Se o gráfico for colocado no Group Header ou
Group Footer, o gráfico irá mostrar informação específica de cada grupo.
É necessário ter em atenção, com base na informação a representar, que tipo de gráfico será
utilizado. Nem todos os gráficos se aplicam a toda a informação.
O Chart Expert, vai ajudar passo a passo, o processo de inserção de um gráfico no report.

No separador Data é possível visualizar um conjunto de Layouts que poderão auxiliar na criação de
um gráfico.
50 / 66

Layout Descrição
Com esta opção é possível criar gráficos baseados em qualquer
campo de sumário ou campos de subtotal.
Group Nota: Para criar gráficos com base neste Layout é necessário que
existam grupos previamente definidos.

Esta opção permite a criação de gráficos com base em


informação detalhada, nomeadamente campos da BD ou
Advanced
fórmulas, ou ainda múltiplos campos de sumários no mesmo
gráfico.
Esta opção está disponível quando o report inclui um objeto do
Cross-Tab
tipo Cross-tab.
On-Line Analytical Processing (OLAP) é uma ferramenta de
Business Inteligence que permite a visualização de informação
OLAP
de forma muti-dimensional. Só é possível utilizar este tipo de
Layout quando o report contem um objeto do tipo OLAP.
Finalmente deverão ser definidos, de acordo com o Layout escolhido, quais os valores que irão ser
carregados no gráfico.

Nota: no caso do Layout de grupo, a opção On change of representa a variável que será considerada
no eixo dos xx. A opção Show representa a variável que será considerada no eixo dos yy.
51 / 66

No separador Text é possível definir algumas características dos textos associados aos gráficos,
nomeadamente o título do gráfico, os nomes dos eixos, etc.

Customização de um gráfico
É possível, após a criação de um gráfico efetuar algumas alterações ao aspeto
e comportamento do gráfico. Para tal, estão disponíveis as opções seguintes,
acedidas através da tecla direita do rato sobre o gráfico, na janela de Design.

Qualquer uma destas opções permite alterar configurações do gráfico, nomeadamente o tipo de
gráfico, configuração de eixos, etc. No entanto, existe uma outra opção: Chart Options. Esta opção
permite definir parametrizações mais específicas e no separador Appearance as opções diferem
consoante o tipo de gráfico escolhido.

Exercício nº. 13 – Gráfico por cliente


Pedido
Objetivo: Criação de um gráfico e respetiva incorporação no rodapé de um agrupamento.
• Crie um gráfico por cliente, no qual sejam apresentadas as percentagens a que
correspondem os valores pendentes de cada mês.

Resultado:
52 / 66

Exercício nº. 14 – Gráfico de Performance


Pedido
Objetivo: Criação de um gráfico e respetiva incorporação no report.

 Crie um gráfico para cada um dos clientes com a informação relativa ao Valor Total e ao
Valor Pendente em função da data de vencimento.
Resultado:
53 / 66

Etiquetas

Objetivos
Criação de novo mapa (configuração de etiquetas)

Criação de um report do tipo “Etiquetas”


Um report para impressão de etiquetas, tem associado um conjunto de parametrizações
específicas. Considerando que a informação não será apresentada em forma de lista (como
acontece com a grande maioria dos reports), é necessário definir algumas características
particulares.
A criação de um report para impressão de etiquetas poderá ser efetuada de forma manual ou
através do Mailing Label Report, onde está disponível um template para etiquetas.
Ao selecionar o template para etiquetas, será mostrada a janela de definição de características
(idêntica ao template standard), mostrado um separador específico para definição de
configurações das etiquetas:
54 / 66

• Mail Label Size: definição de altura e largura da etiqueta;


• Gap Between Label: definição do intervalo horizontal e vertical entre etiquetas;
• Page Margins: definição das margens das páginas (medidas desde o limite da folha
até ao início das etiquetas);
• Printing Direction: definição da forma de preenchimento da etiqueta (linha a linha
ou coluna a coluna);
• Number of labels: mostra informação acerca do número de etiquetas que serão
impressas de acordo com as configurações anteriores.

Após a definição destas características, será mostrada na janela de Preview a informação que será
impressa segundo as características introduzidas.
Se for necessário, é possível alterar as configurações das etiquetas através da opção Section Expert,
disponível na tecla direita do rato sobre a zona a cinzento na janela de design.
Esta opção permitirá aceder à janela seguinte:

Na opção Layout, quando a secção Details está selecionada, é possível alterar as configurações
associadas às etiquetas:
55 / 66

A opção Format with Multiple Columns activa na seção de Details é que permite dividir esta área
em colunas e disponibilizar a opção de Layout.

Exercício nº. 15 – Definição de etiquetas de artigos


Pedido
Objetivo: Criação de um relatório de etiquetas

 Crie um relatório de etiquetas de Artigos. Cada etiqueta deverá conter o código do artigo,
a sua descrição, o PVP1 (sem IVA) e o PVP1 (com IVA). Cada etiqueta deverá ter 5 cm de
largura e 3 cm de altura.
 Deverá garantir que os preços mostrados são em Euros. A formatação dos valores e a
respetiva restrição, deverão garantir num futuro próximo, a adequação do relatório a
outras moedas.
Resultado:
56 / 66

Parameter Fields

Objetivos
Conceito de Parameter fields
Criar Parameter fields
Utilizar Parameter fields

Parameter Fields
Os Parameter Fields são campos que solicitam ao utilizador a indicação de um ou vários valores
cada vez que é realizado o refresh do report. Quando é disponibilizado um valor, o Crystal executa
novamente o report, utilizando o valor introduzido.
Utilizando os Parameter Fields, um report substitui vários reports. O utilizador é questionado na
altura em que efetua a visualização do report, permitindo obter resultados de forma dinâmica.
Para utilizar um Parameter Fields num report é necessário:
• Criar o Parameter Field
• Referenciar o Parameter Field
• Introduzir o valor do Parameter Field quando solicitado na respetiva janela.

Criar um Parameter Field


Para efetuar a criação de um Parameter Field é necessário juntar um conjunto de informações:
• O Parameter Field vai basear-se em que campo (no caso de ser necessário basear o
Parameter Field num campo)
• Tipo de dados do Parameter Field
• Valor por defeito (opcional)

Outras considerações devem ser consideradas quando se trabalha com parâmetros:


• É possível criar uma lista de opções para o utilizador escolher de uma lista o valor
pretendido;
• É possível aplicar limites no número de caracteres a introduzir (mínimo, máximo);
• É possível alterar a ordem pela qual os parâmetros são apresentados para
preenchimento;
57 / 66

• É possível definir intervalos limitativos, evitando a introdução de valores errados por


parte do utilizador;
• É possível definir máscaras;

A criação de Parameter Fields é efetuada a partir da janela Field Explorer. Através da tecla direita
do rato sobre a opção Parameter Fields é possível definir um novo parâmetro.

Utilizar um Parameter Field


Após a criação do Parameter Field, o mesmo terá que ser utilizado no report. A utilização de um
parâmetro poderá ser efetuada em:
• Record Selection (Select Expert): quando um parâmetro é utilizado associado a esta
opção, é possível definir critérios de restrição flexíveis, ou seja, em vez de definir:
{tabela.campo} = xxx , será efetuada a restrição com base no parâmetro, ou seja,
{tabela.campo} = {?parametro}.
• Formulas (formula editor): quando se pretende que determinada fórmula devolva
um valor que não seja fixo, poderá referenciar-se o parâmetro dentro da fórmula.
• Text object: se o parâmetro estiver a ser utilizado numa restrição, poderá ser
necessário refletir no report o valor que foi considerado para a restrição. Assim,
coloca-se o parâmetro dentro de um objeto de texto, permitindo a visualização do
valor introduzido pelo utilizador.
• Formatação condicional: é possível utilizar o conteúdo do parâmetro para definir se
determinada formatação vai ou não ocorrer, por exemplo, se o parâmetro tiver o
calor x, então o campo vai ser suprimido.
58 / 66

Exercício nº. 16 – Definição de parâmetros do Tipo String


Pedido
Objetivo: Restringir a informação impressa num report

 Com base no mapa das Etiquetas de artigo, crie um parâmetro que permita ao utilizador
escolher a moeda em que serão impressos os preços;
 Acrescente um novo parâmetro que permita selecionar os artigos a considerar no report
com base na família a que pertencem. Deverá ser possível definir um único código de
famílias ou intervalos. (configure o parâmetro de forma a ser apresentada uma lista de
famílias para seleção do utilizador)

Resultado:
Preenchimento dos parâmetros

Visualização do resultado
59 / 66

Exercício nº. 17 – Definição de parâmetros do Tipo Data


Pedido
Objetivo: Restringir a informação impressa num report
 Com base no Report produzido no Exercício nº 14, crie os parâmetros necessários que
permitam restringir os pendentes a visualizar com base na data de vencimento. Deverá ser
possível indicar a data inicial para análise e a data final.
 Deverá apresentar no cabeçalho do report a indicação do período inicial e final da análise.

Resultado:
Preenchimentos dos parâmetros:
60 / 66

Visualização do resultado

Colocação de um Report no ERP PRIMAVERA

Objetivos
Colocar novos Reports no ERP PRIMAVERA
61 / 66

Colocação de um Report no PRIMAVERA


Os Reports que temos vindo a desenvolver no decorrer desta formação podem ser colocados no
ERP PRIMAVERA como Mapas de Utilizador. Os Mapas de Utilizador permitem explorar os dados
da solução PRIMAVERA de uma forma diferente da fornecida por omissão.
O novo mapa criado no Crystal tem que conter as seguintes fórmulas (mesmo não contendo
conteúdo algum):
 Empresa
 NomeLicenca

Para colocar um novo Report no PRIMAVERA tem que executar os seguintes passos:

1. Aceder à opção Mapas do Utilizador em, Ferramentas | Mapas do Utilizador;


2. Selecionar a opção "Configurar";
3. Selecionar a opção "Novo", na janela de manutenção de mapas;
4. Selecionar o mapa anteriormente criado;
5. Para cada idioma, indicar a descrição do mapa;
6. Definir a disponibilidade por empresa: "Disponível para todas as empresas
definidas no sistema" (permite que todas as empresas tenham acesso ao
mapa) ou "Disponível apenas para a empresa atual" (apenas a empresa atual
poderá aceder ao mapa).
7. Confirmar.

O utilizador será notificado com a indicação que o mapa é copiado para a pasta <NOVOS>. Na janela
de manutenção de mapas, poderá pré-visualizar o mapa do utilizador recém-criado.

Exercício nº. 18 – Colocação de Reports no ERP PRIMAVERA


Pedido

Objetivo: Disponibilizar novos mapas de Crystal dentro do PRIMAVERA


62 / 66

• Com base no Report produzido no Exercício nº 16, crie um Mapa de Utilizador no


PRIMAVERA (o nome da empresa e a descrição da licença devem aparecer no final
do report).

Resultado:
63 / 66

Revisão

Exercício nº. 19 – Exercício de Revisão


Pedido
Objetivo: aplicar um conjunto de funcionalidades de forma a rever conteúdos.
 Crie uma nova listagem de clientes, que inclua os campos do código do cliente, nome, total
em débito e zona. (o report será baseado na tabela clientes).
 Introduza um agrupamento por Zona. O título deste grupo deve consistir no código e na
descrição da respetiva zona. (deverá introduzir a tabela de zona, de forma a garantir a
introdução da descrição da zona).
 Insira um filtro de forma a visualizar apenas os clientes da Zona Norte, Grande Porto e
Grande Lisboa.
 Insira um sub total relativo ao Total em Débito por zona.
 Retire o filtro anterior e selecione só as zonas cujo total em débito seja superior 500.000 €

Resultado:
64 / 66

Exercício nº. 20 – Exercício de Revisão


Pedido
Objetivo: aplicar um conjunto de funcionalidades de forma a rever conteúdos.
 Crie uma nova listagem de artigos que inclua os campos referentes ao código do artigo,
descrição, Stock Atual e Stock Máximo.
 Insira um agrupamento por família.
 O título do grupo deve conter o código e a descrição da respetiva família. Formate este
título garantindo o seguinte formato do tipo ‘código – descrição’.
 Inclua um sub total referente ao Stock Atual por família.
 Ordene os registos dentro de cada família pelo Stock Atual de forma ascendente.
 O início de cada família deve corresponder a uma nova página.
 Insira um parâmetro de forma a questionar o utilizador sobre a família ou intervalo de
famílias a imprimir.

Resultado:
Preenchimento do parâmetro
65 / 66

Visualização do resultado
66 / 66

- Crystal Reports Avançado:


- Formatação condicionada de secções
- Criação de fórmulas avançadas
- Criação de Sub-Reports
- Cross-Tabs
- Expressões SQL
- Report Design e SQL

- SQL Introdução:
- Administração do SQL
- Scrip SQL
- Conceitos fundamentais de SQL
- Base de Dados

Você também pode gostar