Relatorio QuickReport

06/02/2010

0

Olá amigos delphianos....

Estou precisando de criar um relatorio de espelho de ponto eletronico, porem estou sem saber como vou fazer.

Tenho 6 tabelas com as seguintes estruturas:

FUNCIONARIO

ID_FUNC integer NOT NULL (chave primaria)
NOME
...

CARGAHORARIA

ID_CARGAHORARIA      INTEGER NOT NULL,
CODIGO
TIPO    
ENTRADA
ALMOCO
RETORNO
SAIDA    
HRDIARIA
HRSEMANAL
HORAEXTRA
DOM
SEG           
TER           
QUA          
QUI           
SEX           
SAB           

PRESENCA

ID_FUNC integer NOT NULL +
DATA date NOT NULL (chave primaria)
DATA
HR_ENTRADA
HR_ALMOCO
HR_RETORNO
HR_SAIDA

FALTAS

CODIGO integer NOT NULL (chave primaria)
ID_FUNC integer NOT NULL (chave secundaria)
DATAINICIAL
DATAFINAL
MOTIVO

OCORRENCIAS

CODIGO integer NOT NULL (chave primaria)
ID_FUNC integer NOT NULL (chave secundaria)
DATA
DESCRICAO

FERIADO

CODIGO integer NOT NULL (chave primaria)
DATA
DESCRICAOFERIADO

Bom agora vem o grande lance.... preciso fazer um relacionamento entre todas essas tabelas para gerar um relatorio basicamente assim..

DATA
DIA SEMANA
ENTRADA
ALMOCO
RETORNO
SAIDA
HR TRABALHADAS
HR FALTAS
HR EXTRA
05/02/2010
SEXTA-FEIRA
08:00:0012:30:0014:00:0019:00:0007:30:00
00:30:00
01:00:00
06/02/2010
SABADO
08:00:00
12:00:00
14:00:00
18:00:00
08:00:00
00:00:00
00:00:00
07/02/2010
DOMINGO
-----------
-----------
-----------
-----------
00:00:00
00:00:00
00:00:00
08/02/2010
FERIADO
--------------------------------------------00:00:0000:00:0000:00:00

Como fazer isso caso o usuario selecione o periodo 01/02/2010 a 28/02/2010, deve listar todos os dias desse periodo e na coluna DATA do relatorio deve listar todos os dias do periodo selecionado, na coluna DIA SEMANA deve listar se qual dia da semana é aquela DATA, se for dia util e se na tabela de cargahoraria estiver marcado como dia que trabalha e nao for feriado (isso deve ser comparado nas tabelas de cargahoraria e na tabela feriado) preenche as colunas ENTRADA, ALMOCO, RETORNO e SAIDA e calcula as demais horas (isso ja esta funcionando).

Espero que deu para todos entenderem e possam me ajudar o mais rapido possivel.

Desde ja agradeço,

Iramar
ADS
Iramar Junior

Iramar Junior

Responder

Posts

08/02/2010

Alison Bissoli

Faça essa consulta utilizando um clientdataset, com os devidos inner joins para pegar o que quizer, no relatório do quick você coloca um qrband e seta para o tipo qrdetail e coloca os campos a serem impressos. Relacione o qrband do tipo detail criado ao seu clientdataset dos resultados da sua pesquisa. 
Responder

08/02/2010

Perivaldo Martins

Você poderia fazer as junções dos dados, trazendo-os prontos da sua query para o seu relatorio.   Eu particularment, substituiria os campos domingo, segunda, etc... pelo campo dia da semana ou talvez nem o colocasse optando por um campo virtual, mas isso é critério de cada um.   Pesquise sobre INNER     Boa sorte e bons códigos.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar