Estou disponibilizando uma SQL para utilizar nos cubos, para análise de folha de pagamento.
Espero que gostem.
Segue link abaixo para baixar
DOWNLOAD CUBO
/* DESENVOLVIDO POR ALBERTO LIBÓRIO TEL 12 98153-3003 */ DECLARE @MESINI INT, @MESFIM INT, @ANOINI INT, @ANOFIM INT SET @MESINI = :MESINI_I SET @MESFIM = :MESFIM_I SET @ANOINI = :ANOINI_I SET @ANOFIM = :ANOFIM_I SELECT PFUNC.CODCOLIGADA, PFUNC.CODFILIAL, PFUNC.PISPASEP, PFUNC.CODSINDICATO, PFUNC.CODBANCOPAGTO 'BANCO PAGAMENTO', PFUNC.DIASUTEISMES 'DIAS UTEIS VT', SECAOANT.SECAOANT 'COD.SEÇÃO MES COMPETÊNCIA', SECAOANT.DESCSECAOANT 'DESC. SEÇÃO MES COMPETÊNCIA', PFUNC.CHAPA, PFUNC.NOME 'NOME DO FUNCIONÁRIO', PFUNC.CODSITUACAO 'SITUAÇÃO', PFUNC.CODSECAO 'CÓD. SEÇÃO', PFUNC.SALARIO 'SALÁRIO', PSECAO.DESCRICAO 'NOME SEÇÃO', CASE WHEN PFFINANC.MESCOMP = '1' THEN 'JANEIRO' WHEN PFFINANC.MESCOMP = '2' THEN 'FEVEREIRO' WHEN PFFINANC.MESCOMP = '3' THEN 'MARÇO' WHEN PFFINANC.MESCOMP = '4' THEN 'ABRIL' WHEN PFFINANC.MESCOMP = '5' THEN 'MAIO' WHEN PFFINANC.MESCOMP = '6' THEN 'JUNHO' WHEN PFFINANC.MESCOMP = '7' THEN 'JULHO' WHEN PFFINANC.MESCOMP = '8' THEN 'AGOSTO' WHEN PFFINANC.MESCOMP = '9' THEN 'SETEMBRO' WHEN PFFINANC.MESCOMP = '10' THEN 'OUTUBRO' WHEN PFFINANC.MESCOMP = '11' THEN 'NOVEMBRO' WHEN PFFINANC.MESCOMP = '12' THEN 'DEZEMBRO' END 'MES NOME', PFFINANC.MESCOMP 'MES Nº', PFFINANC.ANOCOMP 'ANO', PFFINANC.NROPERIODO 'PERIODO', PFFINANC.REF, PPESSOA.CPF 'CPF', PFFINANC.HORA/60+( (PFFINANC.HORA%60)/100)'HORA' , PEVENTO.CODIGO, CASE WHEN PEVENTO.PROVDESCBASE = 'P' THEN 'PROVENTO' WHEN PEVENTO.PROVDESCBASE = 'D' THEN 'DESCONTO' WHEN PEVENTO.PROVDESCBASE = 'B' THEN 'BASE DE CALCULO' END PROVDESCBASE, PTPFUNC.DESCRICAO 'TIPO FUNCIONARIO', PCODSITUACAO.DESCRICAO 'SITUACAO FUNCIONARIO', PEVENTO.DESCRICAO 'EVENTO', PRUBRICA.DESCRICAO 'RUBRICA', PEVENTO.TOTALIZADOR, PEVENTO.CODIGOCALCULO, PFRATEIOTOMADOR.CODTOMADOR 'COD. TOMADOR', FCFO.NOME 'TOMADOR', PFUNC.CONTAPAGAMENTO 'CONTA', PFUNC.CODAGENCIAPAGTO 'AGENCIA', PFUNC.CODFUNCAO, PFRATEIOTOMADOR.VALOR 'DIAS TOMADOR', CASE WHEN PEVENTO.PROVDESCBASE = 'P' THEN PFFINANC.VALOR WHEN PEVENTO.PROVDESCBASE = 'D' THEN -PFFINANC.VALOR WHEN PEVENTO.PROVDESCBASE = 'B' THEN PFFINANC.VALOR END VALOR, PFPERFF.BASEFGTS, PFPERFF.BASEFGTS13, PFPERFF.BASEINSS, PFPERFF.BASEINSS13, PFPERFF.BASEIRRF, PEVENTO.INCIRRF, PEVENTO.INCINSS, PEVENTO.ESTINSS, PEVENTO.ESTIRRF FROM PFUNC (NOLOCK) LEFT OUTER JOIN PTPFUNC (NOLOCK) ON PFUNC.CODTIPO = PTPFUNC.CODCLIENTE LEFT OUTER JOIN PCODSITUACAO (NOLOCK) ON PFUNC.CODSITUACAO = PCODSITUACAO.CODCLIENTE LEFT OUTER JOIN PSECAO (NOLOCK) ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PFUNC.CODSECAO = PSECAO.CODIGO LEFT OUTER JOIN PFFINANC (NOLOCK) ON PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA LEFT OUTER JOIN PEVENTO (NOLOCK) ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO LEFT OUTER JOIN PRUBRICA (NOLOCK) ON PEVENTO.CODCOLIGADA = PRUBRICA.CODCOLIGADA AND PEVENTO.CODRUBRICA = PRUBRICA.CODCLIENTE LEFT OUTER JOIN PFRATEIOTOMADOR (NOLOCK) ON PFUNC.CODCOLIGADA = PFRATEIOTOMADOR.CODCOLIGADA AND PFUNC.CHAPA = PFRATEIOTOMADOR.CHAPA LEFT OUTER JOIN PPESSOA (NOLOCK) ON PFUNC.CODPESSOA = PPESSOA.CODIGO LEFT OUTER JOIN FCFO (NOLOCK) ON PFRATEIOTOMADOR.CODCOLIGADA = FCFO.CODCOLIGADA AND PFRATEIOTOMADOR.CODTOMADOR = FCFO.CODCFO LEFT OUTER JOIN PFPERFF (NOLOCK) ON PFFINANC.CODCOLIGADA = PFPERFF.CODCOLIGADA AND PFFINANC.CHAPA = PFPERFF.CHAPA AND PFFINANC.MESCOMP = PFPERFF.MESCOMP AND PFFINANC.ANOCOMP = PFPERFF.ANOCOMP AND PFFINANC.NROPERIODO = PFPERFF.NROPERIODO OUTER APPLY (SELECT TOP 1 PFHSTSEC.CODSECAO 'SECAOANT', PSECAOANT.DESCRICAO 'DESCSECAOANT' FROM PFHSTSEC (NOLOCK) LEFT OUTER JOIN PSECAO PSECAOANT (NOLOCK) ON PFHSTSEC.CODCOLIGADA = PSECAOANT.CODCOLIGADA AND PFHSTSEC.CODSECAO = PSECAOANT.CODIGO WHERE PFHSTSEC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSTSEC.CHAPA = PFUNC.CHAPA AND YEAR(PFHSTSEC.DTMUDANCA)*100+MONTH(PFHSTSEC.DTMUDANCA)<=@ANOINI*100+@MESINI ORDER BY PFHSTSEC.DTMUDANCA DESC ) SECAOANT WHERE PFFINANC.ANOCOMP >= @ANOINI AND PFFINANC.ANOCOMP <= @ANOFIM AND PFFINANC.MESCOMP >= @MESINI AND PFFINANC.MESCOMP <= @MESFIM
0 Comentários