Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila PCSIS800
Apostila PCSIS800
NDICE
1
BANCO DE DADOS
1.1
1.2
1.2.1
1.2.2
1.2.3
Tabelas ............................................................................................................8
Registro X Campo .............................................................................................9
Relacionamento entre Tabelas......................................................................... 10
1.2.3.1
1.2.3.2
2
11
3.1
3.2
14
3.2.1
3.2.2
3.2.3
3.2.4
3.3
3.3.1
3.3.1.1
3.3.1.2
3.3.1.3
3.3.1.4
3.3.1.5
3.3.1.6
3.3.1.7
3.3.1.8
3.3.1.9
3.3.1.10
3.3.1.11
3.3.1.12
3.3.1.13
3.3.1.14
3.3.2
3.4
3.5
Condio
Condio
Condio
Condio
Condio
Condio
Condio
Condio
Condio
Condio
Condio
Condio
Condio
Condio
= (igual).................................................................................. 17
<> (diferente) ......................................................................... 17
> (maior) ................................................................................ 17
>= (maior ou igual) ................................................................. 17
< (menor) ............................................................................... 18
<= (menor ou igual) ................................................................ 18
in (na lista) .............................................................................. 18
not in (no est na lista)...........................................................18
like (como, parecido)................................................................18
not like (no parecido)...........................................................18
between (entre dois valores)..................................................... 19
not between (no est entre dois valores) ................................. 19
is null ( nulo).......................................................................... 19
is not null (no nulo) ............................................................. 19
3.5.1
3.5.2
3.6
3.6.1
3.6.1.1
3.6.1.2
3.6.1.3
3.6.2
Funo NVL............................................................................................ 22
Funo CASE .......................................................................................... 22
Funo DECODE ..................................................................................... 22
3.6.2.1
3.6.2.2
3.6.2.3
3.6.2.4
Funo
Funo
Funo
Funo
LOWER....................................................................................... 22
UPPER........................................................................................ 22
INITCAP ..................................................................................... 23
SUBSTR...................................................................................... 23
3.6.2.5
3.6.2.6
3.6.2.7
3.6.3
3.7
Funes Numricas......................................................................................... 24
3.6.3.1
Funo ROUND ...................................................................................... 24
3.6.3.2
Funo TRUNC ....................................................................................... 24
3.6.3.3
Funo MOD .......................................................................................... 24
3.6.3.4
Funo ABS............................................................................................ 24
TRABALHANDO COM DATAS ....................................................................................... 25
3.7.1
3.7.2
3.8
3.7.2.1
Adicionando dias .................................................................................... 25
3.7.2.2
Subtraindo dias ...................................................................................... 25
3.7.2.3
Diferena entre datas.............................................................................. 25
FUNES DE CONVERSO ......................................................................................... 26
3.8.1
3.8.2
3.9
3.12.1
3.12.2
3.13
3.14
3.15
4
SUB-SELECTS........................................................................................................ 28
UNION / UNION ALL ................................................................................................ 28
SUB-SELECT NO FROM ............................................................................................ 29
EXERCCIOS SQL
30
4.1
EXERCCIO 1......................................................................................................... 31
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 31
4.2
EXERCCIO 2......................................................................................................... 31
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 31
4.3
EXERCCIO 3......................................................................................................... 31
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 31
4.4
EXERCCIO 4......................................................................................................... 32
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 32
4.5
EXERCCIO 5......................................................................................................... 32
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 32
4.6
EXERCCIO 6......................................................................................................... 32
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 32
4.7
EXERCCIO 7......................................................................................................... 33
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 33
4.8
EXERCCIO 8......................................................................................................... 33
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 33
4.9
EXERCCIO 9......................................................................................................... 33
MONTAR PESQUISA COM AS SEGUINTES INFORMAES: ................................................................ 33
5
34
5.3
5.4
5.5
5.6
5.7
5.8
6
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
7
7.1
7.1.1
7.1.2
7.1.3
7.2
8
C_RATEIO_ .................................................................................................... 58
C_ACUMULO_................................................................................................. 58
C_RECNUM .................................................................................................... 58
EXEMPLO DE SCRIPT COM FUNES ESPECIAIS ............................................................... 59
CONFIGURANDO FILTROS
8.1
8.2
8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5
8.3.6
8.3.7
8.3.8
9
60
EDIT.............................................................................................................. 63
DATA ............................................................................................................. 65
COMBOBOX.................................................................................................... 67
GROUPBOX .................................................................................................... 68
CHECKBOX..................................................................................................... 70
CONSULTA ..................................................................................................... 71
CHECKCOMBOBOX.......................................................................................... 75
NUMERICO..................................................................................................... 76
77
9.2.1
9.2.2
9.2.3
Expandir ........................................................................................................ 80
Recolher ........................................................................................................ 80
Imprimir......................................................................................................... 81
9.2.3.1
9.2.3.2
9.2.3.3
9.2.3.4
9.2.4
9.2.5
9.2.6
9.2.7
9.2.8
Fechar ........................................................................................................... 86
rea de Agrupamento ..................................................................................... 87
Cabealho da Grid .......................................................................................... 88
Boto para exibir / esconder campos da grid .................................................... 88
Boto de cabealho dos campos ...................................................................... 88
9.3
9.3.1
9.3.2
9.3.3
9.3.4
9.3.5
9.3.6
9.3.7
9.3.8
9.3.9
9.3.10
9.3.11
9.4
9.4.1
9.4.2
9.5
9.6
9.7
10
9.4.2.1
Critrios para configurao de filtros........................................................94
REA DE RODAP ................................................................................................... 95
FUNES DE REA DE RODAP .................................................................................. 97
BOTES DE NAVEGAO........................................................................................... 97
LAYOUT VISO GERAL
10.1
10.2
10.3
10.4
10.5
10.6
10.7
10.8
11
98
11.1
11.1.1
11.1.2
11.1.3
11.1.4
11.2
11.3
11.4
11.5
12.1
12.2
12.3
12.4
12.5
12.6
12.7
11.5.1
11.5.2
11.5.3
12
111
Banco de Dados
1.1
Bancos de dados uma estrutura onde dados so armazenados de maneira organizada. Essas
estruturas costumam ter a forma de tabelas. Podemos dizer que Banco de Dados um
conjunto de Tabelas.
Um banco de dados um conjunto de dados com uma estrutura regular. Um banco de dados
normalmente, mas no necessariamente, armazenado em algum formato de mquina lido
pelo computador.
O Banco de Dados do sistema WinThor possui mais de uma centena de tabelas. Dentre elas,
podemos citar algumas tabelas muito utilizadas, como, por exemplo, a Tabela de Clientes
(PCCLIENT), Tabela de Produtos (PCPRODUT), Tabela de Fornecedores (PCFORNEC) e Tabela
de Contas a Receber (PCPRPEST), entre outras.
Tabela de Clientes
(PCCLIENT)
Tabela de Contas
a Receber
(PCPREST)
Outras
Tabelas
...
Tabela de
Fornecedores
(PCFORNEC)
Tabela de
Produtos
(PCPRODUT)
1.2
Conceitos
1.2.1
Tabelas
As tabelas consistem na estrutura bsica para armazenar dados. Uma tabela composta de
campos que possuem duas qualidades que determinam os dados que podem ser armazenados
neles. A primeira a qualidade do tipo de dado, que pode ser texto, memorando, nmero,
moeda, data/hora, sim/no, contador. A segunda propriedade refere-se lista de
propriedades relacionada a cada campo, como tamanho, formato, casas decimais, legenda,
valor padro, regra e texto de validao.
NULL
TYPE
CODPROD
NOT NULL
NUMBER (6,0)
DESCRICAO
NOT NULL
VARCHAR2 (40)
EMBALAGEM
NOT NULL
VARCHAR (12)
UNIDADE
CODEPTO
DTCADASTRO
VARCHAR2 (2)
NOT NULL
NUMBER (6,0)
DATE
1.2.2
Registro X Campo
As tabelas so formadas por uma ou mais colunas, zero ou mais linhas. Usamos uma tabela
para armazenar dados sobre uma ou mais ocorrncias de uma determinada entidade de nosso
Banco de Dados.
A cada coluna da tabela damos o nome de campo.
A cada linha da tabela (conjunto de campos) damos o nome de registro.
importante lembrar que os dados so armazenados de maneira organizada nas tabelas e,
algumas vezes, as informaes isoladas de uma tabela podem parecer no fazer sentido.
Porm, quando esses dados so relacionados a outros dados de outras tabelas, ocorre uma
complementao dos dados.
Ao dado ou conjunto de dados interpretado damos o nome de informao. Ou seja, os dados
passam a se chamar informaes a partir do momento que sabemos para que servem, a partir
do momento que passam a ter utilidade.
DESCRICAO
UNIDADE
PESO
10
ARROZ
FD
30
12
OLEO DE SOJA
CX
12
15
LAPIS
CX
0,10
Linhas ou
registros da
tabela de
produtos
1.2.3
Podemos chamar de relacionamento entre tabelas a maneira que as tabelas utilizam para se
ligarem, para que seus dados possam ser unidos, formando informaes completas.
Os tipos de relacionamentos mais utilizados so:
Um para Um (1:1)
10
11
2.1
Nome da Tabela
Descrio da Tabela
PCCLIENT
Cadastro de Clientes
PCUSUARI
Cadastro de RCAs
PCEMPR
Cadastro de Funcionrios
PCFORNEC
Cadastro de Fornecedores
PCPRODUT
Cadastro de Produtos
PCCOB
Cadastro de Cobranas
PCBANCO
PCCARREG
Tabela de Carregamentos
PCCONSUM
PCCRECLI
PCEST
Tabela de Estoque
PCFILIAL
Cadastro de Filiais
PCLANC
PCMOEDA
PCMOV
Cadastro de Moedas
Tabela de Movimentao de Produtos
PCMOVCR
PCNFENT
PCNFSAID
PCPEDC
PCPEDI
PCPLPAG
PCPRACA
Cadastro de Praas
PCPREST
PCREGIAO
PCROTA
PCSUPERV
PCTABPR
Cadastro de Regies
Cadastro de Rotas
Cadastro de Supervisores
Tabela de Preos
12
2.2
PCPEDI
PCPEDC
PCCLIENT
NUMPED
CODCLI
CODPROD
NUMPED
PCPRODUT
PCPREST
PCNFSAID
CODCLI
NUMNOTA
CODPROD
CODFORNEC
CODCLI
CODCOB
CODCLI
CODUSUR
CODUSUR
NUMCAR
NUMCAR
DUPLIC
CODCOB
PCMOV
PCCARREG
PCUSUARI
CODPROD
NUMCAR
CODUSUR
CODCLI
NUMNOTA
PCFORNEC
PCCOB
CODFORNEC
CODCOB
13
Linguagem SQL
14
3.1
15
3.2
Comando Select
<CAMPOS ou *>
FROM <TABELAS>
WHERE <CLUSULAS>
GROUP BY <CAMPOS>
ORDER BY <CAMPOS>
3.2.1
(Selecionar)
(Campos selecionados ou todos os campos usando *)
(Das Tabelas)
(Clusulas de amarraes e/ou restries)
(Agrupando por campos)
(Ordenando por campos crescentes ou Decrescentes).
3.2.2
3.2.3
Concatenar
3.2.4
Distinct
16
3.3
3.3.1
Condies de Comparao
= igual
> maior
>= maior ou igual
< menor
<= menor ou igual
<> diferente
in na lista
not in no est na lista
like como, parecido
not like no parecido
between entre dois valores
not between no est entre dois valores
is null nulo
is not null no nulo
3.3.1.1 Condio = (igual)
17
18
Obs.: Campo nulo o campo que no possui nenhum valor atribudo. Campos com um
caractere de espao ou 0(zero) tem valor atribudo. Campo nulo campo vazio. Pode-se usar o
comando TRIM para retirar os espaos do campo, como por exemplo: select * from pcpedc
where trim(condvenda) is null
19
3.3.2
A condio lgica and utilizada para acrescentar uma condio de incluso, ou seja, o
resultado ser exibido apenas se todos os critrios de pesquisa foram obedecidos.
A condio lgica or utilizada para acrescentar uma condio de alternativa, ou seja, o
resultado ser exibido caso seja obedecido o primeiro critrio OU caso seja obedecido o
segundo critrio.
3.4
Regras de Precedncia
Operadores aritmticos
Operador de concatenao
Condies de comparao
Is null, is not null, like, not in
Between, not between
Condio lgica and
Condio lgica or
20
3.5
3.5.1
3.5.2
21
3.6
select numnota, case when numnota < 100 then MENOR QUE 100
when numnota between 101 and 200 then ENTRE 101 E 200
else MAIOR QUE 200 end RESULTADO
from pcmov;
(seleciona da tabela pcmov o campo numnota, e exibe mensagem de acordo com as condies:
caso o campo numnota seja menor que 100, exibe a mensagem MENOR QUE 100, caso o
campo numnota esteja entre 101 e 200, exibe a mensagem ENTRE 101 E 200, caso contrrio,
exibe a mensagem MAIOR QUE 200)
select numnota, decode (numnota, 100, CEM, 200, DUZENTOS, 300, TREZENTOS,
NENHUM) resultado from pcmov;
(seleciona da tabela pcmov, o campo numnota, e exibe mensagem de acordo com as
condies: se o campo numnota for igual a 100, exibe CEM, se for 200, exibe DUZENTOS, se
for 300, exibe TREZENTOS, se no for nenhum dos anteriores, exibe NENHUM)
22
23
24
3.7
3.7.1
Funo SYSDATE
3.7.2
25
3.8
3.8.1
Funes de Converso
NUMBER to VARCHAR
3.8.2
DATE to VARCHAR
3.9
26
3.10 GROUP BY
3.11 HAVING
O termo having tem funcionalidade igual ao termo where, porm, destinado
exclusivamente para verificaes em resultados de funes de grupo.
27
3.13 Sub-selects
28
29
Exerccios SQL
30
4.1
Exerccio 1
Montar pesquisa com as seguintes informaes:
Cdigo do cliente
Nome do cliente
Cdigo do primeiro RCA
Nome do primeiro RCA
Observaes:
Tabelas utilizadas (PCCLIENT / PCUSUARI)
4.2
Exerccio 2
Montar pesquisa com as seguintes informaes:
Espcie da N.F.
Nmero da N.F.
Data de sada da N.F.
Valor Total da N.F.
Cdigo do cliente
Nome do cliente
Cdigo do RCA
Nome do RCA
Cdigo do Supervisor
Nome do Supervisor
Observaes:
Tabelas utilizadas (PCNFSAID / PCCLIENT / PCUSUARI / PCSUPERV)
Perodo solicitado: de 01/07/2005 a 31/07/2005
4.3
Exerccio 3
Montar pesquisa com as seguintes informaes:
Data de movimentao do produto
Nmero da N.F.
Cdigo do cliente
Nome do cliente
Cdigo do produto
Descrio do produto
Cdigo de operao da movimentao
Quantidade movimentada
Preo unitrio do produto
Valor total da movimentao (quantidade movimentada * preo unitrio do
produto)
Observaes:
Tabelas utilizadas (PCMOV / PCCLIENT / PCPRODUT)
Perodo solicitado: de 01/08/2005 a 31/08/2005
Cdigo de operao = S
31
4.4
Exerccio 4
Montar pesquisa com as seguintes informaes:
Nmero da nota de venda
Data da nota de venda
Cdigo do cliente
Nome do cliente
Cdigo do RCA
Nome do RCA
Nmero da prestao
Data de vencimento
Valor
Cdigo de cobrana
Data de pagamento
Valor pago
Observaes:
Tabelas utilizadas (PCPREST / PCNFSAID / PCCLIENT / PCUSUARI)
Mostras informaes do perodo de 01/08/2005 a 31/08/2005 das prestaes
que no foram desdobradas (diferente de DESD)
4.5
Exerccio 5
Montar pesquisa com as seguintes informaes:
Cdigo do cliente
Nome do cliente
CGC ou CPF do cliente (do jeito que estiver na tabela)
CGC ou CPF do cliente (sem mscara)
CGC ou CPF do cliente com mscara correta.
Observaes:
Tabelas utilizadas (PCCLIENT)
Se for CGC (14 dgitos), colocar mscara 99.999.999/9999-99
Se for CPF (11 dgitos), colocar mscara 999.999.999-99
Se no for CGC nem CPF informar TIPO INCORRETO
Ordenado por cdigo de cliente
4.6
Exerccio 6
Montar pesquisa com as seguintes informaes:
Numero da Nota
Cdigo do cliente
Nome do cliente
Cidade do cliente
Cdigo do primeiro RCA
Nome do primeiro RCA
Campo descritivo do tipo de RCA (Externo, Interno, Representante)
Valor da nota
Percentual de comisso da nota
Valor da comisso do RCA
Observaes:
Tabelas utilizadas (PCNFSAID / PCCLIENT / PCUSUARI)
Filtrar pelo perodo de 01/01/2005 a 30/06/2005
32
4.7
Exerccio 7
Montar pesquisa com as seguintes informaes:
Cdigo da praa do pedido de venda
Nome da praa
Nmero do pedido de venda
Cdigo do cliente
Nome do cliente
Cdigo de cobrana do pedido
Descrio da cobrana
Cdigo do plano de pagamento
Descrio do plano de pagamento
Prazo mdio do plano de pagamento.
Observaes:
Tabelas utilizadas (PCPEDC / PCPRACA / PCCLIENT / PCCOB / PCPLPAG )
O cliente no precisa necessariamente estar cadastrado
Apenas do supervisor 1
Apenas dados da filial 1
Perodo de 01/01/2006 a 30/04/2006
Apenas vendas da cobrana 237
4.8
Exerccio 8
Montar pesquisa com as seguintes informaes:
Texto fixo informando que a nota fiscal de venda (sada)
Nmero da nota fiscal
Data de emisso da nota fiscal
Cdigo do cliente
Nome do cliente
Valor da nota fiscal
Unindo com
Texto fixo informando que a nota fiscal de entrada
Nmero da nota fiscal
Data de emisso da nota fiscal
Cdigo do fornecedor
Nome do fornecedor
Valor da nota fiscal
Observaes:
Tabelas utilizadas
o Pesquisa 1: (PCNFSAID / PCCLIENT)
o Pesquisa 2: (PCNFENT / PCFORNEC)
Perodo de 01/01/2006 a 30/04/2006
4.9
Exerccio 9
Montar pesquisa com as seguintes informaes:
Cdigo do cliente
Nome do cliente
Valor acumulado de vendas
Valor acumulado de devolues
Observaes:
Script deve utilizar sub-select no from
Dados de vendas e devolues no so obrigatrios
Tabelas utilizadas
Pesquisa principal: PCCLIENT
Pesquisa de vendas: PCNFSAID
Pesquisa de devolues: PCNFENT
Perodo de vendas e devolues: 01/01/2006 a 30/04/2006
33
34
5.1
2
1
3
35
5.2
- Clique em Opes
- Clique em Novo Relatrio / Nova Pasta
36
5.3
- Clique em Opes
- Clique em Novo Relatrio / Nova Pasta
37
38
39
5.4
40
41
5.5
Imprimindo o Relatrio
42
43
5.6
- Clique em Opes
- Clique em Editar SQL
Nota: o menu de opes tambm pode ser acionado com clique com o boto direito, aps ter
selecionado o relatrio desejado.
44
45
46
5.7
- Clique em Opes
- Clique em Editar Filtro
Nota: o menu de opes tambm pode ser acionado com clique com o boto direito, aps ter
selecionado o relatrio desejado.
47
48
5.8
- Clique em Opes
- Clique em Editar Layout
Nota: o menu de opes tambm pode ser acionado com clique com o boto direito, aps ter
selecionado o relatrio desejado.
49
50
51
6.1
52
6.2
As propriedades dos objetos adicionados consulta podem ser alteradas, clicando-se com o
boto direito sobre o objeto e selecionando a opo Editar, ou simplesmente utilizando o clique
duplo sobre o objeto desejado.
As propriedades de dados podem variar de servidor para servidor, mas pelo menos a
propriedade Alias a mesma para todos os servidores de banco de dados, e com isso, pode
ser alterada.
6.3
Para criar uma ligao entre dois objetos (ou seja, uni-los), deve-se selecionar o campo que
ser utilizado para vincular os objetos e arrast-lo para o campo correspondente no outro
objeto. Ao trmino do processo ser exibida uma linha entre os objetos ligados.
Ao criar a juno entre os objetos, o tipo padro dessa juno INNER JOIN, ou seja, apenas
registros correspondentes de ambas as tabelas sero includos no conjunto de dados resultante.
possvel definir outros tipos de juno. Para isso, deve-ser clicar com o boto direito no link e
selecionar a opo Editar, ou simplesmente utilizando o clique duplo sobre o link. A janela
exibida permite definir o tipo de link entre as tabelas, e qual o critrio de ligao entre elas.
Para remover uma ligao entre objetos, deve-se clicar com o boto direito no link e selecionar
a opo Remover.
53
6.4
A maneira mais fcil de adicionar um campo para ser exibido no resultado da pesquisa de
dados marcando o checkbox localizado esquerda do nome do campo na lista de campos do
objeto selecionada. Para incluir todos os campos de um objeto basta marcar o checkbox do
item asterisco.
Outra maneira selecionar o nome do campo desejado a partir da lista da coluna Expresso,
localizado na parte inferior da tela. E a forma mais comum a de escrever qualquer expresso
vlida dentro da coluna Expresso.
Para remover um campo da lista de consulta, deve-se desmarcar o checkbox localizado
esquerda do campo. Outra maneira de remover o campo da lista de consulta desmarcar o
checkbox Sada, localizado ao lado da coluna Expresso.
6.5
Ordenao de campos
Para definir a ordenao dos campos da consulta deve-se utilizar a coluna Tipo de Ordenao,
localizada no painel de colunas.
A coluna Tipo de Ordenao permite que seja especificada a forma como os campos sero
ordenados: em ordem crescente ou decrescente.
A coluna Ordem permite configurar a ordem em que os campos sero ordenados, no caso de
haver mais de um campo selecionado para a ordenao.
Para cancelar a seleo de ordenao de algum campo, deve-se desmarcar a coluna Tipo de
Ordenao, selecionando-se o primeiro item da lista (em branco).
6.6
Definindo Critrios
Para definir os critrios para a expresso no painel de colunas deve-se utilizar a coluna
Critrio.
O critrio deve ser escrito omitindo-se a expresso em si.
Exemplo:
Para obter o seguinte critrio na consulta
WHERE (CAMPO >= 10) AND (CAMPO <= 20)
Deve-se escrever
>= 10 AND <= 20
na coluna Critrio
Podem ser especificados vrios critrios para uma expresso, utilizando as colunas Ou. Esses
critrios sero concatenados na consulta com o operador OR.
54
6.7
6.8
Inserindo sub-consultas
Sub-consultas podem ser adicionadas como parte de uma expresso ou como critrio de filtro
de informaes.
Para adicionar uma sub-consulta deve-se clicar com o boto direito sobre o local desejado
(expresso ou critrio) e selecionar a opo Inserir sub-consulta.
Ao criar uma sub-consulta, ser automaticamente criada uma nova guia de consulta de dados,
permitindo que a sub-consulta seja trabalhada com os mesmos recursos que a consulta
principal.
6.9
A rea de construo de consultas tambm pode ser utilizada para se adicionar uma tabela
derivada, que uma sub-consulta utilizada na clusula FROM.
Para criar uma tabela derivada, basta clicar com o boto direito na rea de construo de
consulta e selecionar a opo Adicionar tabela derivada.
Ao adicionar a tabela derivada, uma nova guia ser criada na rea de construo de consultas,
permitindo que a tabela derivada seja criada do mesmo modo que a consulta principal.
55
56
Funes especiais nada mais so que apelidos de campos que o Gerador de Relatrio interpreta
de uma maneira especial, efetuando clculos especficos e atribuindo novos valores aos campos
que utilizam esses apelidos.
Como esses apelidos so interpretados de maneira especial, os mesmos devem ser utilizados
somente quando o clculo da funo for necessrio. Caso os apelidos especiais sejam utilizados
para outros campos pesquisados, o relatrio poder apresentar resultados inconsistentes.
importante lembrar que essas funes especiais tem efeito somente no Gerador de Relatrios,
pois so interpretadas pelo prprio Gerador de Relatrios. Caso esses apelidos sejam utilizados
em ferramentas de SQL, os mesmos sero interpretados como apelidos simples, no gerando o
mesmo resultado que o Gerador de Relatrios.
57
7.1
7.1.1
C_RATEIO_
Funo: Efetua clculo de percentual de participao, ou seja, calcula quanto cada item do
relatrio representa sobre o montante de todo o relatrio.
Como utilizar: Aps o ltimo caractere _ (underline) deve ser informado o apelido do campo
que deseja utilizar para efetuar o clculo de percentual de participao.
7.1.2
C_ACUMULO_
7.1.3
C_RECNUM
58
7.2
SELECT
0 C_RECNUM,
0 C_RATEIO_QT,
0 C_ACUMULO_C_RATEIO_QT,
SUM(M.QT) QT,
M.CODPROD,
P.DESCRICAO
FROM
PCMOV M,
PCPRODUT P
WHERE
M.CODPROD= P.CODPROD
AND M.CODFISCAL>5000
AND P.CODEPTO <10
GROUP BY
M.CODPROD,
P.DESCRICAO
ORDER BY
QT DESC
59
Configurando Filtros
60
8.1
O que so Filtros ?
Filtros so variveis criadas no script SQL que possibilitam restringir o resultado da pesquisa,
garantindo a exibio de resultados mais especficos, de acordo com as necessidades do
usurio.
No script SQL as variveis so facilmente identificadas, pois so precedidas pelo caractere :
(dois pontos).
61
8.2
Ordem: Define a ordem em que os filtros sero exibidos na tela de filtros que precede
a emisso do relatrio.
Legenda: Contm o nome que ser exibido na tela de filtros que precede a emisso do
relatrio.
Default: Define qual ser o valor padro utilizado para o filtro. As possibilidades de
valor padro variam de acordo com o tipo de componente selecionado. A escolha de
valor padro no impede que os valores sejam alterados na tela de filtros que precede
a emisso do relatrio.
Itens: Recebe script de pesquisa a ser utilizado com componentes dos tipos
COMBOBOX, GROUPBOX, CONSULTA e COMBOCHEKBOX.
62
8.3
8.3.1
EDIT
o tipo de componente no qual o usurio digita o valor desejado. muito utilizado para
campos numricos e caractere.
Quando o componente for do tipo EDIT, os campos Itens e Consulta no tem efeito sobre o
componente.
O campo Default pode ser utilizado para exibir o valor inicial para o filtro, o qual poder ser
alterado na tela de filtros, caso necessrio.
Os campos Itens e Consulta no tem efeito sobre o componente de tipo EDIT.
63
A pesquisa do componente de tipo EDIT feito com Case Sensitive, ou seja, o componente
ir efetuar a pesquisa exatamente da maneira que a informao foi digitada, levando em
considerao caracteres maisculos, minsculos e acentuao.
Caso o campo de pesquisa no seja preenchido, o mesmo ir considerar todos os valores
existentes.
O campo de pesquisa tambm pode ser preenchido utilizando-se do critrio de pesquisa do
comando SQL like, onde o caractere % utilizado para determinar que qualquer informao
pode ser considerada na pesquisa.
64
8.3.2
DATA
o tipo de componente no qual o usurio informa o valor em formato de data. utilizado para
filtrar informaes em perodos de tempo.
Quando o componente for do tipo DATA, o item Default opes de valores padro especficas
para este tipo de componente.
As opes de valor padro so:
ONTEM: Preenche o campo automaticamente com a data do dia anterior, tendo como base
a data do sistema.
65
Observe que quando o componente do tipo DATA, o mesmo oferece a busca de datas
atravs de um calendrio, onde possvel navegar atravs dos meses e anos, para localizao
mais rpida e prtica da data desejada.
Nota: A data do sistema mencionada nos itens anteriores refere-se data do servidor do
banco de dados utilizado pelo sistema. Sendo assim, podem ocorrer casos em que a data/hora
da estao de trabalho seja diferente da data/hora exibida na tela de filtros.
66
8.3.3
COMBOBOX
o tipo de componente no qual apresentado para o usurio uma lista de opes, das quais
pode ser selecionado apenas um item, ou ento pode ser selecionado o item TODOS.
Quando o componente for do tipo COMBOBOX, as opes selecionadas no item Default no
tem efeito sobre o componente.
Para criar a lista de itens que sero exibidos necessrio criar um script de pesquisa que ser
adicionado no contedo do campo Itens.
67
8.3.4
GROUPBOX
o tipo de componente no qual apresentado para o usurio uma lista de opes, das quais
pode ser selecionado apenas um item. Diferentemente do componente de tipo COMBOBOX,
todos os itens da lista so imediatamente exibidos, ou seja, sem uma caixa com barra de
rolagem.
Quando o componente for do tipo GROUPBOX, as opes selecionadas no item Default no
tem efeito sobre o componente.
Para criar a lista de itens que sero exibidos necessrio criar um script de pesquisa que ser
adicionado no contedo do campo Itens
No componente de tipo GROUPBOX, a lista de opes pode ser criada de duas maneiras
diferentes:
1) Atravs de script de pesquisa, tal qual feito nos componentes de tipo COMBOBOX.
2) Atravs da lista de valores que podero ser selecionados.
68
Quando for utilizar uma lista pr-definida de valores, importe observar que a informao
digitada antes do hfen corresponde ao valor que ser pesquisado no banco de dados, e a
informao digitada aps o hfen corresponde ao valor que ser exibido na tela de filtros.
69
8.3.5
CHECKBOX
70
8.3.6
CONSULTA
71
O campo Consulta deve receber script de pesquisa que efetuar a pesquisa detalhada, ou seja,
a pesquisa que ser efetuada com a abertura de nova tela de pesquisa.
Particularidades do script do campo Consulta:
- Selecionar todos os campos que desejar exibir como resultado da pesquisa.
- Adicionar as clusulas de comparao entre o campo informado na tela e o campo da tabela
utilizada na pesquisa. Observe que neste script podem ser informados vrios campos para
serem comparados na pesquisa.
72
Esta a tela de pesquisa rpida, onde basta informar o cdigo desejado e teclar Tab para que
a pesquisa seja feita e o resultado seja exibido no campo logo frente.
73
74
8.3.7
CHECKCOMBOBOX
75
8.3.8
NUMERICO
76
77
A tela de resultado de pesquisa acessada a partir da tela de Opes de Filtros, onde todos os
filtros necessrios so informados.
Aps informar todos os filtros, clica-se no boto F3 Pesquisar (ou pressiona-se a tecla F3).
78
9.1
4
5
1) Botes de funes
Botes localizados na parte superior da tela de pesquisa, que possibilitam executar
funes de Expandir, Recolher, Imprimir e Fechar.
2) rea de Agrupamento
rea da tela destinada aos campos da pesquisa utilizados em agrupamentos de
informaes.
3) Cabealho da Grid
rea onde so visualizados os nomes dos campos utilizados na pesquisa, e onde podem
ser acionadas funes especficas de ordenao e configurao dos dados na grid.
4) rea de Rodap
rea da grid destinada funes de sumarizao, como por exemplo, soma, contagem,
mdia, etc.
5) Botes de Navegao
Botes utilizados para se navegar atravs das informaes da grid.
79
9.2
9.2.1
Botes de Funes
Expandir
Este boto utilizado para expandir as informaes da grid quando as mesmas esto sendo
exibidas de forma agrupada.
9.2.2
Recolher
Este boto utilizado para recolher as informaes da grid quando existem agrupamentos,
fazendo com que as informaes sejam exibidas de maneira agrupada.
80
9.2.3
Imprimir
81
82
83
84
85
9.2.4
Fechar
Este boto fecha a tela de resultado de pesquisa, retornando para a tela de filtros.
86
9.2.5
rea de Agrupamento
Nesta rea podem ser arrastados os campos desejados, para que as informaes da
grid sejam agrupadas.
Tela com rea de agrupamento j com campo adicionado.
87
9.2.6
Cabealho da Grid
9.2.7
Ao clicar neste boto (clique normal, com boto esquerdo), o mesmo exibido da seguinte
maneira:
Observe que exibida a relao dos campos resultantes da pesquisa. Os campos marcados
so os campos que esto sendo exibidos na grid. Para esconder os campos desejados basta
desmarc-los.
9.2.8
88
9.3
9.3.1
Sort Ascending
9.3.2
Sort Descending
9.3.3
Clear Sorting
9.3.4
9.3.5
Group by box
Exibe ou esconde a rea de Agrupamento. Esta funo afeta toda a rea de Agrupamento,
independente do campo onde a mesma tenha sido acionada.
9.3.6
Footer
Exibe ou esconde o rodap da grid. Esta funo afeta todo o rodap, independente do
campo onde a mesma tenha sido acionada.
89
9.3.7
Group Footers
Exibe ou esconde o rodap dos grupos da grid. Esta funo s disponvel quando existir
pelo menos um campo na rea de Agrupamento. Esta funo afeta todos os rodaps de
grupo, independente do campo onde a mesma tenha sido acionada.
9.3.8
Esta opo remove da grid a coluna selecionada, ou seja, a coluna onde o comando foi
acionado.
9.3.9
Field Chooser
Exibe a lista de campos disponveis que no esto sendo exibidos na grid, os quais podem
ser arrastados e soltos na grid, para que voltem a ser exibidos.
Caso todos os campos da pesquisa j estejam sendo exibidos na grid, a lista de campos
ser aberta em branco, sem nenhum campo disponvel.
90
Altera a largura da coluna selecionada, de forma que todos os valores possam ser
visualizados, sem que ocorram truncamentos (cortes) ou quebras de linha. Os contedos
dos cabealhos e rodaps tambm so considerados na execuo desta funo.
91
9.4
9.4.1
A classificao dos dados pode ser feita atravs de um clique sobre o nome do campo que
se deseja classificar os dados. A cada clique sobre o nome do campo a ordenao alternada
entre crescente e decrescente.
Observe os exemplos abaixo.
Observe que a
seta para cima
indica que a
classificao dos
dados da coluna
est em ordem
crescente.
Observe que a
seta para
baixo indica
que a
classificao
dos dados da
coluna est
em ordem
decrescente.
92
9.4.2
Filtros
Ao se posicionar o cursor do mouse sobre o campo, podemos observar que uma seta
exibida na extremidade direita do campo.
Clicando nesta seta, exibida uma lista contendo todos os valores do campo selecionado,
possibilitando que os mesmos sejam filtrados. Alm da lista com todos os valores, tambm so
exibidas as opes All e Custom.
Esta opo determina que todos os valores do campo selecionado sero considerados para
exibio, ou seja, no haver a aplicao de nenhum filtro.
Esta opo permite que sejam criados filtros mais complexos, possibilitando captar apenas
uma determinada faixa de valores, sem a necessidade de marcar os valores um a um na lista
de valores.
Ao selecionar esta opo, uma nova tela exibida, onde os filtros podem ser configurados.
1
3
2
93
b. OR: Os valores sero exibidos desde que pelo menos um dos dois filtros
configurados seja atendido.
Nota: Na tela de customizao de filtros, a utilizao dos dois critrios de filtros opcional, ou
seja, a configurao de filtros funciona normalmente com apenas um critrio de filtro
configurado.
Equals (Igual): Considera os registros onde o valor do campo for igual ao valor informado
na configurao do filtro.
Does note qual (no igual / diferente): Considera os registros onde o valor do campo
for diferente do valor informado na configurao do filtro.
Is less than (menor que): Considera os registros onde o valor do campo for menor que
o valor informado na configurao do filtro.
Is less than or equal to (menor que ou igual a): Considera os registros onde o valor
do campo for menor ou igual que o valor informado na configurao do filtro.
Is greater than (maior que): Considera os registros onde o valor do campo for maior
que o valor informado na configurao do filtro.
Is greater than or equal to (mairo que ou igual a): Considera os registros onde o
valor do campo for maior ou igual que o valor informado na configurao do filtro.
Is blank (em branco / vazio): Considera os registros onde o campo selecionado estiver
em branco, sem preenchimento.
Is not blank (no em branco / no vazio): Considera os registros onde o campo
selecionado estiver preenchido com qualquer valor, ou seja, quando no estiver em branco.
94
9.5
rea de Rodap
95
96
9.6
Efetua a soma dos valores da coluna. Esta funo inativa para campos de tipo data e
caractere.
Exibe o menor valor encontrado na coluna. Esta funo inativa para campos de tipo
caractere.
Exibe o maior valor encontrado na coluna. Esta funo inativa para campos de tipo
caractere.
Efetua clculo de mdia com todos os valores da coluna. Esta funo inativa para campos
de tipo data e caractere.
9.7
Botes de Navegao
97
98
Barras de Ferramentas
de Componentes
rea de
Cabealho
rea de
Detalhe
rea de
Rodap
99
Texto (Label)
Exibe texto. Atribui propriedade Caption o valor do texto. O tamanho do componente pode
ser redimensionado automaticamente, para isso, basta selecionar a opo Tamanho
automtico no menu de propriedades do componente. Esse menu acessado atravs de clique
com o boto direito sobre o componente que se deseja alterar as propriedades.
Memorando (Memo)
Exibe mltiplas linhas de texto simples em um relatrio. Para definir o valor, deve-se atribuir
uma lista de strings propriedade Lines.
Para redimensionar dinamicamente o Memorando durante a impresso, pode-se selecionar a
propriedade Ajustar (stretch). A propriedade Mover relativamente a... pode ser utilizada
para definir as relaes dinmicas com outros objetos ajustveis.
Varivel
Usado para clculos atravs de um evento manipulador de Object Pascal atribudo ao evento
OnCalc. A edio dos clculos pode ser acessada atravs do menu de acesso rpido do
componente (clique com boto direito, selecionando-se a opo Clculos).
Imagem
Exibe arquivos de imagem atribudos propriedade do componente em tempo de design.
Polgono
Imprime vrias formas (quadrados, retngulos, crculos e elipses). A propriedade Shape
define o tipo da forma. As propriedades Pincel e Caneta so utilizadas para controlar a cor e
a borda do polgono.
100
Linha
Exibe linhas simples e linhas duplas (verticais ou horizontais). A propriedade Estilo define se a
linha simples ou dupla. A propriedade Espessura permite controlar a espessura da linha em
pontos. A propriedade Posio permite controlar a localizao da linha, bem como se a
mesma uma linha vertical ou horizontal.
Cdigo de barras
Renderiza cdigo de barras. O valor atribudo propriedade Dados codificado com base em
tipo de cdigo de barras. Se o dado a ser codificado estiver em um banco de dados, utilize o
componente Campo com cdigo de barras. So suportados os seguintes formatos de cdigo
de barras: Codabar, Code 128, Code 39, EAN-13, EAN-8, FIM A, B, C, Intervalado 2 e 5,
PostNet, UPC-A e UPC-E.
101
Campo Texto
Apresenta valores de todos os tipo de campos da base de dados. A propriedade Formato de
Apresentao pode ser utilizada para formatar o modo como o valor ser exibido.
Campo Memorando
Imprime texto simples a partir de um campo memorando de uma tabela da base de dados.
Para redimensionar dinamicamente o campo Memorando durante a impresso, pode-se
selecionar a propriedade Ajustar (stretch). A propriedade Mover relativamente a... pode ser
utilizada para definir as relaes dinmicas com outros objetos ajustveis.
Campo Calculado
Usado para clculos simples de dados (Somar, Mnimo, Mximo, Contar e Mdia). O valor pode
ser reiniciado quando uma quebra de grupo utiliza a propriedade Grupo para Reincio.
Campo Imagem
Imprime imagens que esto armazenadas em campos BLOB no banco de dados.
102
10.3 Tamanho
Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Tamanho.
103
104
10.5 Deslocamento
Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Deslocamento.
Essa barra de ferramentas tem como objetivo auxiliar no deslocamento de componentes do
relatrio de maneira mais exata, sem a necessidade de arrastar os componentes com o mouse.
105
10.6 Desenho
Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Desenho.
Essa barra de ferramentas tem como objetivo auxiliar na configurao de cores e bordas dos
componentes.
Cor de preenchimento
utilizado apenas para componentes dos tipos Regio, Linhas e Polgonos.
Cor da linha
utilizado apenas para componentes dos tipos Regio, Linhas e Polgonos.
Espessura da linha
utilizado apenas para componentes do tipo Linha, e tem como objetivo definir a espessura da
linha.
Estilo da linha
utilizado apenas para componentes do tipo Linha, e tem como objetivo definir o estilo da
linha.
106
10.7 Formato
Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Formato.
Essa barra de ferramentas tem como objetivo auxiliar na configurao de das fontes dos
componentes. Essa barra de ferramentas tambm ir auxiliar no trabalho com componentes em
camadas.
Nome da fonte
Selecione o nome do tipo da fonte para os componentes de texto.
Tamanho da fonte
Permite selecionar o tamanho da fonte que ser aplicada ao componente de texto. Caso
desejar, o tamanho da fonte pode ser informado manualmente, digitando-se o tamanho
desejado.
Negrito
Configura a fonte dos componentes de texto para negrito.
Itlico
Configura a fonte dos componentes de texto para itlico.
Sublinhado
Configura a fonte dos componentes de texto para sublinhado.
Alinhar esquerda
Alinha o contedo do componente esquerda.
Centralizar
Alinha o contedo do componente ao centro.
Alinhar direita
Alinha o contedo do componente direita.
Justificar
Alinha o contedo do componente de maneira justificada.
107
Cor da fonte
Configura a cor da fonte dos componentes de texto.
Cor de destaque
Configura a cor de fundo dos componentes de texto.
Bordas (Border)
Permite configurar bordas para o componente selecionado.
108
10.8 Editar
Para acessar essa barra de ferramentas, v at o menu Visualizar / Barras de Ferramentas e
selecione a opo Editar.
Essa barra de ferramentas tem como objetivo auxiliar na configurao da propriedade mais
importante do componente atualmente selecionado.
A barra de ferramentas Editar pode assumir diversas funes, de acordo com o tipo de
componente selecionado.
1) Nenhum componente selecionado
109
110
Arquivo / Novo
111
Ser exibida a tela de Novos Itens, na qual podem ser selecionados ou o Assistente de
Relatrio, Relatrio, Matriz de Etiquetas ou o Assistente de Referncia Cruzada. Durante o
treinamento, utilizaremos o Assistente de Relatrio.
112
Recomenda-se selecionar a consulta de dados que tiver o maior nmero de informaes para o
relatrio, pois, caso seja necessrio adicionar campos de outras consultas de dados, ser
necessrio incluir esses campos manualmente.
113
Vamos deixar a montagem de grupos para mais adiante, aps o desenho bsico do relatrio j
completo.
114
115
116
117
118
119
120
O Sumrio exibido apenas na ltima pgina do relatrio, logo aps o final de todo contedo
do relatrio.
Obs.: o Sumrio exibido no final do contedo do relatrio, na ltima pgina, mas no
necessariamente no final da pgina (prximo ao rodap).
121
Clicando-se com o boto direito sobre o campo calculado criado, aberta uma janela de
opes.
No momento, vamos focar nossa ateno na opo Clculos.
122
Observe que essa opo exibe opes de clculos bsicos, exatamente iguais aos clculos
disponibilizados na aba Clculos na construo da consulta de dados, com a exceo da opo
Expresso.
Aps incluir o campo calculado e selecionar a frmula a ser utilizada, necessrio que tambm
seja selecionado o campo que ir ser calculado no campo que acabou de ser criado.
123
124
125
126
Porm, ao se selecionar o item Clculo, surge a real diferena entre a varivel e o campo
calculado.
127
Dados: nessa aba localizam-se todas as consultas de dados que foram criadas para a gerao
do relatrio.
128
Objetos: nessa aba localizam-se todos os objetos do relatrio. o lugar onde podem ser
localizadas, por exemplo, outras variveis.
129
Linguagem: Nessa aba localizam-se funes, operadores, definidores de tipo de dados, que
podem ser utilizados para criar condies para o clculo da varivel criada.
A parte branca dessa tela (lado esquerdo) o local onde todo o cdigo escrito da varivel ficar
disponvel.
130
Aps criar a varivel e definir seu clculo, importantssimo que tambm seja definido o tipo da
varivel, de modo a evitar erros de exibio.
Por exemplo: O relatrio sofre problemas de exibio se a varivel calcula valor numrico e
tenta ser exibido como texto.
So criadas quando o clculo a ser feito complexo o bastante para ser feito com
campo calculado.
So criadas quando existe a necessidade de utilizar seu resultado em outro clculo de
outra varivel.
importante definir o momento da ao da varivel, garantindo que as informaes
utilizadas em seu clculo sejam lidas no momento correto.
131
132
133
134
12.1 Exerccio 1
Montar o seguinte relatrio
Cadastro de Clientes
- Cdigo do Cliente
- Nome do Cliente
- Endereo do cliente
- Telefone de Contato
Ordenar por
- Cdigo do Cliente
- Nome do cliente
12.2 Exerccio 2
Montar o seguinte relatrio
Cadastro de Clientes com RCAs
- Cdigo do Cliente
- Nome do Cliente
- Telefone de Contato
- Cdigo do primeiro RCA
- Nome do primeiro RCA
- Cdigo do segundo RCA
- Nome do segundo RCA
Ordenar por
- Cdigo do Cliente
12.3 Exerccio 3
Montar o seguinte relatrio
Cadastro de Clientes com RCAs e Supervisores
- Cdigo do Cliente
- Nome do Cliente
- Cdigo do primeiro RCA
- Nome do primeiro RCA
- Cdigo do Supervisor
- Nome do supervisor
Ordenar por:
- Cdigo do Cliente
135
12.4 Exerccio 4
Montar o seguinte relatrio
Notas fiscais de venda de um determinado perodo
- Nmero da Nota
- Cdigo do Cliente
- Nome do cliente
- Cdigo do RCA
- Nome do RCA
- Valor total da nota
Resumo
- Informar quantidade de notas exibidas
- Informar valor total geral
Ordenar por:
- Cdigo do Cliente
- Nmero de nota fiscal
12.5 Exerccio 5
Montar o seguinte relatrio
Notas fiscais de venda de um determinado perodo
- Nmero da Nota
- Cdigo do Cliente
- Nome do cliente
- Cdigo do RCA
- Nome do RCA
Detalhe da nota fiscal
- Cdigo do produto
- Descrio do produto
- Quantidade vendida
- Valor unitrio
- Valor total do produto
Resumo do detalhe
- Informar quantidade de produtos da nota fiscal
- Valor total da nota fiscal
Resumo
- Informar quantidade de notas exibidas
- Informar valor total geral
Ordenar por:
- Cdigo do Cliente
- Nmero de nota fiscal
136
12.6 Exerccio 6
Montar o seguinte relatrio
Relatrio de Estoque:
- Cdigo Produto.
- Descrio do produto
- Quantidade gerencial
- Quantidade reservada
- Quantidade bloqueada
- Quantidade disponvel
Filtros:
- Faixa de cdigo de produto
- Faixa de seo
- Faixa de departamento
Ordenao:
- Cdigo de produto
12.7 Exerccio 7
Montar o seguinte relatrio
Relatrio de produtos vendidos por RCA
- Cdigo do RCA
- Nome do RCA
Detalhe do RCA
- Cdigo do produto
- Descrio do produto
- Quantidade vendida do produto
- Valor da venda por produto
- Custo financeiro total por produto
- Rentabilidade por produto
Resumo do detalhe
- Quantidade de produto por RCA
- Total do valor da venda por RCA
Resumo
- Total de venda geral de todos RCA
- Quantidade geral de produtos exibidos
137