Você está na página 1de 67

Manual de formação

PRIMAVERA Academy

MANUAL
Crystal Reports Introdução

1
2014-v0.1-PT
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. Exceptua-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 excepçã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 infractores são passíveis de procedimento judicial.

2
ÍNDICE

Objectivos _________________________________________________________________________ 5
Configuração de uma nova Data Source __________________________________________________ 6
Criação de um novo report ____________________________________________________________ 8
Planeamento de um Report ______________________________________________________8
Criação de um novo Report ______________________________________________________8
Utilizando o Report Wizard ___________________________________________________________ 9
Blank Report ______________________________________________________________________ 9
Análise do ambiente Design e Preview _____________________________________________9
Design/Preview ___________________________________________________________________ 10
Colocação de Objectos no Report ________________________________________________ 10
Posicionamento e redimensionamento dos objectos __________________________________ 11
Exercício nº. 1 – Configuração de uma conexão OLEDB ____________________________ 12
Exercício nº. 2 – Criação de um novo Report _____________________________________ 12
Exercício nº. 3 – Criação de um report manual____________________________________ 13
Formatação de Objectos _____________________________________________________________ 14
Exercício nº. 4 – Formatação de objectos ________________________________________ 17
Objectivos ________________________________________________________________________ 18
Ordenação de Registos ______________________________________________________________ 19
Restrição de Registos _______________________________________________________________ 20
Select Expert ________________________________________________________________ 20
Selection Formula Editor _______________________________________________________ 22
Exercício nº. 5 – Ordenação de Registos ________________________________________ 24
Exercício nº. 6 – Selecção de Registos __________________________________________ 25
Objectivos ________________________________________________________________________ 26
Capítulo I – Utilização de Fórmulas ____________________________________________________ 27
Manutenção de Fórmulas _______________________________________________________ 27
Utilização do editor de fórmulas _________________________________________________ 29
Áreas do editor de fórmulas __________________________________________________________ 29
Linguagem para escrita de fórmulas ___________________________________________________ 30
Exercício nº. 7 – Criação de fórmulas ___________________________________________ 31
Objectivos ________________________________________________________________________ 32
Conceito “Ligação entre tabelas” ______________________________________________________ 33
Definição da origem e destino da ligação___________________________________________ 33
Tipo de relações ______________________________________________________________ 33
Relação de um para um (one-to-one) ___________________________________________________ 33
Relação de um para vários (one-to-many) _______________________________________________ 33
Tipos de Join (ligação) _________________________________________________________ 33
Equal Join _______________________________________________________________________ 34
Left Outer Join____________________________________________________________________ 34
Right Outer Join __________________________________________________________________ 34
Database Expert ______________________________________________________________ 34
Adicionar e remover Base de Dados do report_______________________________________ 36
Exercício nº. 8 – Ligação entre tabelas __________________________________________ 37
Objectivos ________________________________________________________________________ 38
Introdução de Grupos _______________________________________________________________ 39
Inserção de um grupo __________________________________________________________ 39
Ordenação _______________________________________________________________________ 40
Group Options ____________________________________________________________________ 40
Alterar as definições um grupo __________________________________________________ 40

3
Eliminar um grupo ____________________________________________________________ 40
Criação de múltiplos grupos _____________________________________________________ 41
Summarizing ______________________________________________________________________ 41
Inserção de um campo de sumário _______________________________________________ 41
Grand Total _______________________________________________________________________ 41
Organização de grupos ______________________________________________________________ 41
Reordenação de grupos ________________________________________________________ 41
Group Sort Expert ____________________________________________________________ 42
Restrição de Grupos ________________________________________________________________ 43
Exercício nº. 9 – Agrupamentos e SubTotais _____________________________________ 44
Exercício nº. 10 – Selecção de Grupos __________________________________________ 45
Exercício nº. 11 – Fórmulas e Formatações Especiais _______________________________ 46
Exercício nº. 12 – Filtros avançados ____________________________________________ 47
Objectivos ________________________________________________________________________ 48
Criação de gráfico com base no Chart Expert _____________________________________________ 49
Customização de um gráfico ____________________________________________________ 50
Exercício nº. 13 – Gráfico por cliente ___________________________________________ 51
Exercício nº. 14 – Gráfico de Performance _______________________________________ 52
Objectivos ________________________________________________________________________ 53
Criação de um report do tipo “Etiquetas” ________________________________________________ 54
Exercício nº. 15 – Definição de etiquetas de artigos ________________________________ 56
Objectivos ________________________________________________________________________ 57
Parameter Fields ___________________________________________________________________ 58
Criar um Parameter Field ______________________________________________________ 58
Utilizar um Parameter Field ____________________________________________________ 59
Exercício nº. 16 – Definição de parâmetros do Tipo String __________________________ 60
Exercício nº. 17 – Definição de parâmetros do Tipo Data ___________________________ 61
Objectivos ________________________________________________________________________62
Colocação de um Report no PRIMAVERA ______________________________________________63
Exercício nº. 18 – Colocação de Reports no PRIMAVERA __________________________ 64
Exercício nº. 19 – Exercício de Revisão _________________________________________ 65
Exercício nº. 20 – Exercício de Revisão _________________________________________ 66

4
Parte
Desenhar um Report
I

Objectivos
- Planear o conteúdo e formato do report;

- Efectuar 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 objectos;

- Formatação dos Objectos;

5
Configuração de uma nova Data Source
Um dos objectivos 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:

Seleccionar o tipo de Source pretendido. Neste caso iremos seleccionar a opção “Make new connection” no âmbito da
ligação OLEDB.

6
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 seleccionado, as caixas de diálogo seguintes poderão diferir.

Após seleccionar 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:

7
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 objectivos 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 efectuar restrições sobre a informação existente de modo a refinar os dados?

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 selecção entre uma das duas situações está dependente do conhecimento do utilizador e do objectivo do report.

8
Utilizando o Report Wizard
Esta opção permite aos utilizadores menos experientes, iniciar um report através de um dos templates já formatados.

A selecção do template está directamente dependente do objectivo do mapa, ou seja, qual a informação a mostrar e em que
formato.

Consoante o template seleccionado, 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 objectos 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 características próprias. É
importante identificar e compreender as características particulares de cada secção pois irão afectar como os objectos serão
impressos.

Assim, temos:

- Report Header: os objectos colocados nesta área serão impressos uma única vez no início do report.

- Page Header: os objectos colocados nesta secção serão impressos no início de cada página do report.

- Details Área: os objectos colocados nesta secção serão impressos uma vez por cada registo lido.

- Report Footer: os objectos colocados nesta secção serão impressos uma única vez no final do report.

- Page Footer: os objectos colocados nesta secção serão impressos no final de cada página do Report.

9
Design/Preview
Na opção de design são manipulados e colocados os objectos. 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 efectuar 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 Secçã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 Objectos no Report


Um report poderá conter objectos de vários tipos: database fields, formula fields, linhas, caixas de texto, etc. Estes objectos
poderão ser colocados, movidos e redimensionados no report.

Para inserir um novo objecto no report poderá ser utilizado o menu Insert. A partir deste menu poderá ser inserido
qualquer tipo de objecto.

- Field Object: acesso à janela Field Explorer que permite a inserção de vários tipos de objectos,
nomeadamente Formula Fields, Database Fiels, etc

- Text Object: inserção de objectos 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 actual

- Line, Box, Picture, Chart, Map: inserção de objectos gráficos

- OLE Object, Hyperlink: inserção de informação externa

O objecto deverá ser colocado na secção que melhor se adequar aos objectivos pretendido. Regra geral os objectos 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.

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

Posicionamento

O posicionamento dos objectos 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 objecto estar alinhado à Grid poderá ser condicionada pela opção disponível na tecla direita do rato.

- Snap to Grid: se a opção estiver activa, obriga o alinhamento do objecto à 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 objectos. 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

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

Guidelines

Para facilitar o alinhamento dos objectos 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 objecto 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.

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

Objectivo: 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

Objectivo: 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 Report Wizard e deverá utilizar a tabela Pendentes.

Deverão ser considerados para o report os seguintes campos:

• TipoEntidade
• Entidade
• Serie
• TipoDoc
• NumDocInt
• DataDoc
• DataVenc
• ValorTotal
• ValorPendente
• CondPag

Grave o relatório com o seguinte nome: “C:\...\LstPend0.rpt”.

Resultado

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

Objectivo: 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 Wizard.

Grave o relatório com o seguinte nome: “C:\...\LstPend1.rpt”.

Resultado

13
Formatação de Objectos
Após a introdução dos objectos no report, poderá ser necessário efectuar alterações ao aspecto dos objectos. É possível no
Crystal a alteração de alguns atributos dos objectos, nomeadamente Tipo de Letra, Tamanho da Letra, Cor, Border, etc.

Dependendo do tipo de objecto 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 objecto 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
objecto 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 selecção do objecto pretendido.

Atributos comuns

No separador Common, é possível suprimir o objecto, manter o objecto 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.

14
Border

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 objecto.

Font

No separador Font é possível definir todas as características associadas ao Tipo de Letra a aplicar ao objecto seleccionado.
Pode ser definido desde a Fonte, a Cor, o Tamanho, etc.

15
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 objecto 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.

16
Exercício nº. 4 – Formatação de objectos
Pedido

Objectivo: Efectuar a formatação do report LstPend0, criado no exercício nº 3.

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:

1. O campo “NumDocInt” não tem casas decimais, mas deverá apresentar o ponto como símbolo de
agrupamento de milhares.

2. 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 efectuadas.

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

Resultado

17
Parte
Selecção e ordenação de Registos
II

Objectivos
- Utilização do Select Expert.

- Utilização das opções associadas à Selecção de Registos.

- Definição de critérios adicionais de selecção.

- Modificação da selecção através do Formula Editor.

18
Ordenação de Registos
A impressão dos registos é efectuada, 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:

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

Para efectuar 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.

19
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.

Para efectuar esta restrição deverá ser configurada a selecção de registos do report.

Existem duas formas para configurar a selecçã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 selecçã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

20
Passo 2:

Seleccionar de entre os campos apresentados o campo que vai sofrer a restrição

Passo 3:

Após a selecção do campo deverá ser seleccionado qual o tipo de restrição a aplicar:

Restrição Descrição

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

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

Permite a definição de uma lista de valores, mostrando os registo que respeitem pelo
Is one of
menos uma das opções
Permite a definição de uma lista de valores, mostrando os registo que não respeitem
Is not one of
nenhuma das opções
Is greater than ou Is Less
Permite definir um valor limite em que os registos deverão estar acima ou abaixo.
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 os
Is between
valores limites
Permite excluir qualquer registo que encaixe no intervalo definido, incluindo os valores
Is not between
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.

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

21
?  representa exactamente um caracter
*  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 deverão
Is not in the period
encaixar.
Esta opção expande a janela de diálogo onde será possível introduzir manual o critério a
Formula
considerar para a restrição.

Para cada novo critério de selecçã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:

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

Editor para introdução das


condições de restrição

A opção permite efectuar a validação da expressão introduzida, identificando eventuais erros.

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

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

Objectivo: Definir uma ordenação de registos no report.

Sobre o report formatado no exercício anterior, efectue as seguintes ordenações:

• Tipo de Entidade – Ascendente


• Data de Vencimento – Ascendente.

Resultado

24
Exercício nº. 6 – Selecção de Registos
Pedido

Objectivo: Utilização do assistente de criação de filtros e do editor de fórmulas.

Recorrendo ao Select Expert, seleccione apenas os registos que digam respeito aos pendentes de Clientes.

Sem recurso ao Select Expert seleccione os registos que sejam referentes a pendentes do tipo Facturas.

Resultado

25
Parte Definição de Formula Fields
III

Objectivos
- 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

26
Capítulo I – Utilização de Fórmulas
Na maioria dos casos, os dados que pretendemos visualizar num report já existem nas tabelas da base de dados que está 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.

Os Fomula Fields poderão ser utilizados 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
• 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:

27
Passo 2:

Dar um nome para identificação da fórmula:

Ao confirmar o nome da fórmula, será mostrado o editor de fórmulas onde será possível efectuar 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 efectuar 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.

28
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 seleccionar 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

Editor para introdução da


fórmula

Á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.

29
Árvore de Operadores

Os operadores são símbolos especiais aos quais está associada uma acçã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 detecção de possíveis erros, permitindo a correcçã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 o tipos de campo, Database Fields, formulas, etc.

[] Identifica arrays ou substrings

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
consequencia na sua interpretação
Quebra de Linha
A quebra de linha é ignorada no editor de fórmulas.
(<Enter>)

30
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 e o valor
pendente.
• Crie uma coluna “Percentagem Paga”, a qual apresenta em termos percentuais qual o valor do pendente
efectivamente pago. Formate o campo garantindo que o valor visualizado mostra o símbolo % e apresenta 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.
• Optimize o funcionamento da expressão/fórmula construída validando eventuais valores nulos.

Resultado

31
Parte Ligação entre tabelas
IV

Objectivos
- 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

32
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õe que existe um ou vários campos, que contém informação comum entre as
tabelas. Assim, quando se efectua 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 com a tabela de lookup.

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


Numa relação de um para vários entre registos 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 efectua 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:

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

33
Inner Join
O resultado devolvido pelo Inner Join inclui todos os registos em que o conteúdo do campo utilizado na ligação é
exactamente 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 é
exactamente 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 é
exactamente 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.

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 Database Expert, que permite de forma assistida definir qual(is) o(s) campo(s) utilizado(s) para a ligação.

34
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 actualmente estão
associadas ao report.

Caso se pretenda consultar a opção Database Expert, a mesma poderá ser acedida a partir do menu Database>Database
Expert.

Por defeito, a opção Auto smart linking está activa, 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 estrageiras 1.

Quando as ligações não são realizadas de forma automática, é possível definir manualmente a ligação seleccionando o
campo da tabela primária e arrastar até ao campo pretendido na tabela de lookup. Ao seleccionar 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.

1
Quando uma tabela referencia um campo chave de outra tabela.

35
Adicionar e remover Bases de Dados do report
Várias vezes irá ocorrer a necessidade de adicionar ou remover novas Bases de Dados ao report com o objectivo de adaptar
o resultado do report às 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. Seleccionar a BD e a(s) tabela(s) pretendida(s)

3. Botão Update

Adicionar BD através do Databse Expertr

1. Seleccionar a BD e a(s) tabela(s) pretendida(s)

2. Botão OK

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

Objectivo: Utilização do Database Expert para 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 respectiva descrição.

Resultado

37
Parte Agrupamentos e Totais
V

Objectivos
- Criação de grupos

- Reordenação de grupos

- Utilização do Group Sort Expert

- Selecção de grupo

38
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 efectua 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.

39
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 foram inseridos no report
• In original order: mantém a ordenação pela qual os registos foram introduzidos na base de dados

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

Customize group name formula

O nome do grupo poderá ser costumizado 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 actual, 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.

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 de um grupo


Se for necessário efectuar 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 secção Group Header ou Group Footer do grupo a eliminar.

2. Seleccionar a opção Delete Group.

40
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.

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 selecção, garantindo a selecçã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 efectuar 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;

41
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.

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.

Selecção da ordenação
a aplicar Selecção do campo utilizado
para ordenação.

42
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
seleccionado 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 activa 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;

Esta selecção poderá ser efectuada recorrendo à opção Record Selection Formula ou Group Selection Formula,
dependendo do objectivo em mente.

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

Para efectuar 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

43
Exercício nº. 9 – Agrupamentos e SubTotais
Pedido

Objectivo: Criação de grupos

• Para que o relatório esteja melhor estruturado, agrupe os pendentes pelo cliente respectivo.
• 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;

Resultado

44
Exercício nº. 10 – Selecção de Grupos
Pedido

Objectivo: Aplicação de filtros sobre Grupos.

• Seleccione apenas os Clientes cujo valor em dívida seja superior a 100.000€

Resultado

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

Objectivo: 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;

R
e
s
u
l
t
a
d
o

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

Objectivo: 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 respectivo nome do grupo.

Resultado

47
Parte Gráficos
VI

Objectivos
- Criação de gráficos recorrendo ao Chart Expert

- Gráficos com base em Campos de Sumários (grupos)

- Configurações avançadas

48
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 objecto no report, sendo possível efectuar 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.

49
Layout Descrição

Com esta opção é possível criar gráficos baseados em qualquer campo de sumário.

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,


Advanced nomeadamente campos da BD ou fórmulas, ou ainda multiplos campos de sumário no
memso gráfico.

Cross-Tab Esta opção estádisponível quando o report inclui um objecto do tipo Cross-tab.

On-Line Analytical Processing (OLAP) é uma ferramenta de Business Inteligence que


OLAP permite a visualização de informação de forma muti-dimensional. Só é possível utilizar
este tipo de Layout quando o report contem um objecto 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.

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 efectuar algumas alterações ao
aspecto 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
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.

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

Objectivo: Criação de um gráfico e respectiva 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

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

Objectivo: Criação de um gráfico e respectiva 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

52
Parte Etiquetas
VII

Objectivos
- Criação de novo mapa (configuração de etiquetas)

53
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 efectuada de forma manual ou através do Mailing Label
Report, onde está disponível um template para etiquetas.

Ao seleccionar 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:

• 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:

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

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

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

Objectivo: 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 respectiva restrição, deverão
garantir num futuro próximo, a adequação do relatório a outras moedas.

Resultado

56
Parte Parameter Fields
VIII

Objectivos
- Conceito de Parameter fields

- Criar Parameter fields

- Utilizar Parameter fields

57
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 efectua 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 respectiva janela.

Criar um Parameter Field


Para efectuar 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;
• É 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 é efectuada 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.

58
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
efectuada 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á efectuada 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 reflectir no report o valor
que foi considerado para a restrição. Assim, coloca-se o parâmetro dentro de um objecto 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.

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

Objectivo: 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 seleccionar 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 selecção do utilizador).

Resultado

Preenchimento dos parâmetros:

Visualização do resultado:

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

Objectivo: 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:

Visualização do resultado:

61
Parte Colocação de um Report no
IX PRIMAVERA

Objectivos
- Colocar novos Reports no PRIMAVERA

62
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. Seleccionar a opção "Configurar";

3. Seleccionar a opção "Novo", na janela de manutenção de mapas;

4. Seleccionar 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 actual" (apenas a empresa actual
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.

63
Exercício nº. 18 - Colocação de Reports no PRIMAVERA
Pedido

Objectivo: Disponibilizar novos mapas de Crystal dentro do PRIMAVERA

• 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

64
Parte Revisão
X
Exercício nº. 19 - Exercício de Revisão
Pedido

Objectivo: 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 respectiva
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 seleccione só as zonas cujo total em débito seja superior 500.000 €

Resultado

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

Objectivo: 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 Actual 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 respectiva família. Formate este título garantindo o seguinte
formato do tipo ‘código – descrição’.
• Inclua um sub total referente ao Stock Actual por família.
• Ordene os registos dentro de cada família pelo Stock Actual 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:

Visualização do resultado:

66
Para completar a sua
formação sugerimos a
frequência também do
seguinte módulo:

- P027 - Crystal Reports Avançado


- P022 – SQL para PRIMAVERA Introdução
- P018 – Solution Development I

67

Você também pode gostar