Ir para conteúdo
Anúncios Publicitários
Entre para seguir isso  
Gabriela Borin

Liquido de férias

Recommended Posts

Boa tarde!!

Estou criando uma SQL para trazer o líquido das férias, ela salva sem dar erro, porém não puxa os dados.

Alguém poderia verificar se está correto por favor.

SELECT

PFUNC.CODCOLIGADA AS COLIGADA,
PFUNC.CODFILIAL AS FILIAL,
PFUNC.CHAPA AS CHAPA,
PFUNC.NOME AS FUNCIONARIO,
PFUFERIASPER.DATAINICIO AS INICIOFERIAS,
PFUNC.CODBANCOPAGTO AS BANCO_PAGTO,
PFUNC.CODAGENCIAPAGTO AS AGENCIA,
PFUNC.CONTAPAGAMENTO AS CONTA,

SUM(PFUFERIASVERBAS.VALOR * (CASE PEVENTO.PROVDESCBASE
WHEN 'P' THEN +1
WHEN 'D' THEN -1
END)) LIQUIDO


FROM PFUFERIASPER(NOLOCK),PEVENTO(NOLOCK),PFUNC(NOLOCK), PFUFERIASVERBAS(NOLOCK)

WHERE PFUFERIASPER.CODCOLIGADA=PFUNC.CODCOLIGADA
AND PFUFERIASPER.CHAPA=PFUNC.CHAPA
AND PFUFERIASVERBAS.CODCOLIGADA=PFUNC.CODCOLIGADA
AND PFUFERIASVERBAS.CHAPA=PFUNC.CHAPA
AND PFUFERIASVERBAS.CODCOLIGADA=PEVENTO.CODCOLIGADA
AND PFUFERIASVERBAS.CODEVENTO=PEVENTO.CODIGO
AND PFUNC.CODCOLIGADA= :COD_COLIGADA
AND PFUNC.CODFILIAL= :COD_FILIAL
AND PFUFERIASPER.DATAINICIO= :INICIO_FERIAS1
AND PFUFERIASPER.DATAINICIO= :INICIO_FERIAS2
AND PEVENTO.PROVDESCBASE IN ('P','D')
AND PFUFERIASVERBAS.VALOR<>'0'
AND PFUNC.CODSITUACAO<>'D'

GROUP BY
PFUNC.CODCOLIGADA,
PFUNC.CODFILIAL,
PFUNC.CHAPA,
PFUNC.NOME,
PFUFERIASPER.DATAINICIO,
PFUNC.CODBANCOPAGTO,
PFUNC.CODAGENCIAPAGTO,
PFUNC.CONTAPAGAMENTO

ORDER BY PFUNC.NOME
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

2 horas atrás, Gabriela Borin disse:

Boa tarde!!

Estou criando uma SQL para trazer o líquido das férias, ela salva sem dar erro, porém não puxa os dados.

Alguém poderia verificar se está correto por favor.

SELECT

PFUNC.CODCOLIGADA AS COLIGADA,
PFUNC.CODFILIAL AS FILIAL,
PFUNC.CHAPA AS CHAPA,
PFUNC.NOME AS FUNCIONARIO,
PFUFERIASPER.DATAINICIO AS INICIOFERIAS,
PFUNC.CODBANCOPAGTO AS BANCO_PAGTO,
PFUNC.CODAGENCIAPAGTO AS AGENCIA,
PFUNC.CONTAPAGAMENTO AS CONTA,

SUM(PFUFERIASVERBAS.VALOR * (CASE PEVENTO.PROVDESCBASE
WHEN 'P' THEN +1
WHEN 'D' THEN -1
END)) LIQUIDO


FROM PFUFERIASPER(NOLOCK),PEVENTO(NOLOCK),PFUNC(NOLOCK), PFUFERIASVERBAS(NOLOCK)

WHERE PFUFERIASPER.CODCOLIGADA=PFUNC.CODCOLIGADA
AND PFUFERIASPER.CHAPA=PFUNC.CHAPA
AND PFUFERIASVERBAS.CODCOLIGADA=PFUNC.CODCOLIGADA
AND PFUFERIASVERBAS.CHAPA=PFUNC.CHAPA
AND PFUFERIASVERBAS.CODCOLIGADA=PEVENTO.CODCOLIGADA
AND PFUFERIASVERBAS.CODEVENTO=PEVENTO.CODIGO
AND PFUNC.CODCOLIGADA= :COD_COLIGADA
AND PFUNC.CODFILIAL= :COD_FILIAL
AND PFUFERIASPER.DATAINICIO= :INICIO_FERIAS1
AND PFUFERIASPER.DATAINICIO= :INICIO_FERIAS2

AND PEVENTO.PROVDESCBASE IN ('P','D')
AND PFUFERIASVERBAS.VALOR<>'0'
AND PFUNC.CODSITUACAO<>'D'

GROUP BY
PFUNC.CODCOLIGADA,
PFUNC.CODFILIAL,
PFUNC.CHAPA,
PFUNC.NOME,
PFUFERIASPER.DATAINICIO,
PFUNC.CODBANCOPAGTO,
PFUNC.CODAGENCIAPAGTO,
PFUNC.CONTAPAGAMENTO

ORDER BY PFUNC.NOME
 

Acho que o seu problema está no ponto que marquei acima. Quais as datas que está informando nestes dois parâmetros. Não lembro os campos desta tabela, mas não seria DATAINICIO e DATAFINAL?  ou talvez "AND PFUFERIASPER.DATAINICIO BETWEEN :INICIOFERIAS AND FINALFERIAS" ??? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Comenta essa parte abaixo no seu select e coloca outra pra poder testar:

-- SUM(PFUFERIASVERBAS.VALOR * (CASE PEVENTO.PROVDESCBASE
-- WHEN 'P' THEN +1
-- WHEN 'D' THEN -1
-- END)) LIQUIDO

E adiciona:

PFUFERIASVERBAS.CODEVENTO, PFUFERIASVERBAS.VALOR

E comenta também toda parte do "Group by" ao final. E ao rodar vai enxergar exatamente o que está sendo retornado na sentença para ajudar a entender onde está o erro. 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, verifiquei que está faltando um campo no seu join das tabelas ai... 

    and PFUFERIASVerbas.FIMPERAQUIS = PFUFERIASPer.FIMPERAQUIS 

Isso que está gerando valores errados na sua consulta. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/09/2018 at 10:12, Jair - Fórmula disse:

Comenta essa parte abaixo no seu select e coloca outra pra poder testar:

-- SUM(PFUFERIASVERBAS.VALOR * (CASE PEVENTO.PROVDESCBASE
-- WHEN 'P' THEN +1
-- WHEN 'D' THEN -1
-- END)) LIQUIDO

E adiciona:

PFUFERIASVERBAS.CODEVENTO, PFUFERIASVERBAS.VALOR

E comenta também toda parte do "Group by" ao final. E ao rodar vai enxergar exatamente o que está sendo retornado na sentença para ajudar a entender onde está o erro. 

 

Eu fiz isso que você orientou, ele está duplicando 93 vezes o mesmo evento, ele puxou os eventos do recibo que pedi porém duplicando. Você consegue identificar o que está errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está a sua sentença no momento? 

Verifique que você consegue identificar qual o problema com a mudança nos campos visiveis no seu select. 

Neste caso deve retirar a parte das somatórias, e analisar o conteúdo "aberto", que com isso você visualiza o que está errado. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O estranho é que agora quando eu comento a parte da somatória, ele trouxe todos os eventos em duplicar, porém quando eu deixo a somatória, o valor do liquido da muito alto, será que o erro está na somatória?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×

Important Information

Usando este site, você concorda com nossos Termos de Uso.