Escolar Documentos
Profissional Documentos
Cultura Documentos
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;
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.
- OLE DB
- Business Views
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.
- 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?
- 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.
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.
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.
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.
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
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.
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:
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.
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.
• TipoEntidade
• Entidade
• Serie
• TipoDoc
• NumDocInt
• DataDoc
• DataVenc
• ValorTotal
• ValorPendente
• CondPag
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.
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
• 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.
• 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.
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:
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:
20
Passo 2:
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
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).
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
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
Resultado
24
Exercício nº. 6 – Selecção de Registos
Pedido
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
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.
Para a criação de uma nova fórmula poderão ser seguidos os seguintes passos:
Passo 1:
27
Passo 2:
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.
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.
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.
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.
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.
Algumas das regras base que devem estar sempre presentes são:
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:
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
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;
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.
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
• 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.
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;
3. Botão Update
2. Botão OK
36
Exercício nº. 8 – Ligação entre tabelas
Pedido
• 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
- 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.
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.
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.
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:
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.
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:
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:
43
Exercício nº. 9 – Agrupamentos e SubTotais
Pedido
• 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
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.
R
e
s
u
l
t
a
d
o
46
Exercício nº. 12 – Filtros avançados
Pedido
• 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
- 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.
Cross-Tab Esta opção estádisponível quando o report inclui um objecto do tipo Cross-tab.
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
• 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
• 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:
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.
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
• 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
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.
• 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)
• É 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
• 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
Visualização do resultado:
60
Exercício nº. 17 – Definição de parâmetros do Tipo Data
Pedido
• 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
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:
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
• 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
• 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
• 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:
67