Fórum Registro FastReport #498392
20/10/2014
0
Estou fazendo um relatório de horas extras e preciso que o ultimo dia não seja impresso.
Explicando:
No meu relatório eu calculo o intervalo de um periodo para outro.
Acontece que as vezes o funcionário trabalha: 16:00 as 23:00 intervalo 0:00 as 6:00 ou seja ele trabalhou "virado"
No meio do mês tá beleza, mas quando este é o ultimo registro
Dia entrada saida Intervalo Entrada Saida intervalo ... 28/10 00:00 06:00 16:00h 18:00 23:00 1:00h 29/10 00:00 06:00 16:00h 18:00 23:00 1:00h 30/10 00:00 06:00 16:00h 18:00 23:00 1:00h 01/11 00:00 06:00 16:00h 18:00 23:00 1:00h
Só que eu quero listar só até o dia 30, mas preciso calcular até o dia 01/11.
Não sei se expressei direito.
Dirceu Morais
Curtir tópico
+ 0Posts
20/10/2014
Marisiana Battistella
Ou a cada registro de hora é armazenada uma data para aquele registro?
Gostei + 0
20/10/2014
Dirceu Morais
Vem Separado.
Gostei + 0
20/10/2014
Marisiana Battistella
Por exemplo, se o usuário informa um mês ou um período para gerar o relatório vc filtra pelo mês daquele período informado.
Gostei + 0
20/10/2014
Jair N.
exemplo abaixo com objetivo de, não pegar a última data do funcionário...
SELECT r.*
FROM [relatório] r
LEFT JOIN (SELECT d.chave_funcionaro
, MAX (d.data) AS ultima_data
WHERE (d.data BETWEEN '2014-10-01' AND '2014-10-31')
FROM [relatório] d
GROUP BY d.chave_funcionaro
) u
ON (u.chave_funcionario = r.chave_funcionario)
AND (u.ultima_data = r.data)
WHERE (r.data BETWEEN '2014-10-01' AND '2014-10-31')
AND (u.chave_funcionario IS NULL)
ORDER BY ...
também pode ser o NOT IN ....
também pode ser o NOT IN ....
Gostei + 0
20/10/2014
Dirceu Morais
Quando eu escolher o período 01/09/2014 a 30/09/2014, eu terei que acrescentar 1 dia, para poder fazer os calculos dos intervalos. Isso é moleza.
Só que ao mandar imprimir, quero que no FastReport, imprima somente a data que eu escolhi, ou seja, 01/09 a 30/09.
Grato.
Gostei + 0
21/10/2014
Marisiana Battistella
Gostei + 0
29/10/2014
Dirceu Morais
Mas ainda não consegui o que estou precisando.
Estou precisando de outra coisa, somar a linha atual com a próxima linha, tipo assim:
linha Atual que esta sendo impressa: 20:00 as 23:00 -> intervalo = 03:00-23:00 = 4:00hs
Próxima linha "Não imprimiu ainda": 03:00 as 07:00 ->
Não sei se fui claro.
Isto queria fazer direto no FastReport.
Gostei + 0
29/10/2014
Marisiana Battistella
Gostei + 0
29/10/2014
Dirceu Morais
É que desenvolvi um relatório de intervalos (Interjornada e Intrajornada), então tenho que calcular as horas de intervalo que o funcionário teve durante determinado tempo.
Como a empresa tem muitos funcionarios e trabalha 24 horas por dia. Tem funcionário que trabalha a noite, outros durante o dia, ou seja, existe várias escala de trabalho.
Até um mesmo funcionário começa a trabalha a noite outras vezes durante dia, isto no mesmo periodo.
Mais ou menos assim meu relatório.
Dia entrada saida Intervalo Entrada Saida intervalo Entrada Saida Intervalo
...
26/10 04:00 06:00 16:00h 22:00 23:00 01:00h 01:00 03:00 5:00H**
27/10 08:00 12:00 02:00H 14:00 18:00 12:00h
28/10 00:00 06:00 16:00h 18:00 23:00 1:00h
29/10 00:00 06:00 16:00h 18:00 23:00 1:00h
30/10 00:00 06:00 16:00h 18:00 23:00 1:00h
** Esse periodo é que preciso calcular
(Saida para o intervalo 3:00H do dia 26/10 até as 08:00H do dia 27/10)
É isso.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)