igoroliveira Postado 24 de Janeiro de 2019 Tópicos Que Criei: 13 Tópicos/Dia: 0.00 Meu Conteúdo: 30 Conteúdo/Dia: 0.01 Reputação: 2 Pontos/Conquistas: 283 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 30 Denunciar Compartilhar Postado 24 de Janeiro de 2019 Boa tarde pessoal, Algum de vocês possui um script/relatório que retorne o saldo de férias considerando as faltas de um funcionário? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 12 de Fevereiro de 2019 Tópicos Que Criei: 899 Tópicos/Dia: 0.14 Meu Conteúdo: 8.842 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.579 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 12 de Fevereiro de 2019 Processo complicado esse... a TOTVS faz o cálculo sempre na hora que precisa... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rafaeltluiz Postado 12 de Fevereiro de 2019 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 8 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 62 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 37 Denunciar Compartilhar Postado 12 de Fevereiro de 2019 Boa tarde! Meu sistema RM Labore tem um relatório pronto.. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 26 de Março de 2019 Tópicos Que Criei: 899 Tópicos/Dia: 0.14 Meu Conteúdo: 8.842 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.579 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 26 de Março de 2019 Em 12/02/2019 at 12:52, Rafaeltluiz disse: Boa tarde! Meu sistema RM Labore tem um relatório pronto.. Vocês que desenvolveram? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
ChromusMaster Postado 27 de Março de 2019 Tópicos Que Criei: 14 Tópicos/Dia: 0.01 Meu Conteúdo: 39 Conteúdo/Dia: 0.01 Reputação: 1 Pontos/Conquistas: 330 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 24 Denunciar Compartilhar Postado 27 de Março de 2019 Em 12/02/2019 at 12:52, Rafaeltluiz disse: Boa tarde! Meu sistema RM Labore tem um relatório pronto.. Bom dia complementando o comentário do Jair. Se foi relatório desenvolvido, poderia disponibilizar para nós? (claro, removendo o cabeçalho e outros detalhes) Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
guiesmeril Postado 4 de Fevereiro de 2021 Tópicos Que Criei: 9 Tópicos/Dia: 0.01 Meu Conteúdo: 19 Conteúdo/Dia: 0.02 Reputação: 0 Pontos/Conquistas: 185 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Denunciar Compartilhar Postado 4 de Fevereiro de 2021 Bom dia!! Vocês ainda tem disponível esse relatório? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
luisgustavogomes Postado 5 de Fevereiro de 2021 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 485 Conteúdo/Dia: 0.21 Reputação: 136 Pontos/Conquistas: 3.231 Conteúdo Resolvido: 0 Dias Ganho: 64 Status: Offline Idade: 35 Dispositivo: Windows Denunciar Compartilhar Postado 5 de Fevereiro de 2021 Boa tarde! Em relação ao saldo de férias... Segue view... USE CORPORERM GO CREATE VIEW VW_FOP_SALDO_FERIAS AS WITH TAB_1 AS ( SELECT ROW_NUMBER() OVER (PARTITION BY F.CODCOLIGADA, F.CHAPA ORDER BY F.CODCOLIGADA, F.CHAPA ) AS SEQ ,F.CODCOLIGADA ,F.CHAPA ,F.NOME ,FF.INICIOPERAQUIS ,FF.FIMPERAQUIS ,((DATEDIFF(DD, INICIOPERAQUIS, CASE WHEN FIMPERAQUIS >= GETDATE() THEN GETDATE() ELSE FIMPERAQUIS END )/30 )* 2.5) - ISNULL( FFF.DD, 0) AS 'DD' ,DATEADD(YY,1, DATEADD(YY, DATEDIFF(YY, 0, GETDATE()) + 1, -1)) AS FIM ,F.CODSITUACAO ,F.CODTIPO ,F.CODSECAO ,F.CODFUNCAO FROM DBO.PFUNC F (NOLOCK) JOIN DBO.PFUFERIAS FF (NOLOCK) ON (F.CODCOLIGADA=FF.CODCOLIGADA AND F.CHAPA=FF.CHAPA AND PERIODOABERTO = 1 ) CROSS APPLY ( SELECT SUM(ISNULL(NRODIASABONO,0)) + SUM(ISNULL(NRODIASFERIAS,0)) AS DD FROM PFUFERIASPER (NOLOCK) WHERE CODCOLIGADA = F.CODCOLIGADA AND CHAPA = F.CHAPA AND FIMPERAQUIS = FF.FIMPERAQUIS ) FFF WHERE F.CODSITUACAO <> 'D' AND F.CODTIPO <>'D' ) , TAB_2 AS ( SELECT SEQ ,CODCOLIGADA ,CHAPA ,NOME ,INICIOPERAQUIS ,FIMPERAQUIS ,FIM FROM TAB_1 T UNION ALL SELECT SEQ + 1 ,CODCOLIGADA ,CHAPA ,NOME ,DATEADD(YY , 1 , INICIOPERAQUIS) AS 'INICIOPERAQUIS' ,DATEADD(YY , 1 , FIMPERAQUIS) AS 'FIMPERAQUIS' ,FIM FROM TAB_2 WHERE DATEPART(YY,FIMPERAQUIS) < DATEPART(YY,FIM) ) , TAB_3 AS ( SELECT SEQ ,CODCOLIGADA ,CHAPA ,NOME ,INICIOPERAQUIS ,FIMPERAQUIS ,FIM ,DD ,(DATEDIFF(DD, INICIOPERAQUIS, CASE WHEN FIMPERAQUIS >= GETDATE() THEN GETDATE() ELSE FIMPERAQUIS END )/ 30 ) * 2.5 AS 'DDD' ,CASE WHEN FIMPERAQUIS <= GETDATE() THEN 1 ELSE 0 END AS 'VENCIDO' FROM TAB_2 T OUTER APPLY ( SELECT DD FROM TAB_1 WHERE CODCOLIGADA=T.CODCOLIGADA AND SEQ=T.SEQ AND CHAPA=T.CHAPA ) D ) , DADOS_FINAL AS ( SELECT T.SEQ ,T.CODCOLIGADA ,T.CHAPA ,T.NOME ,T.INICIOPERAQUIS ,T.FIMPERAQUIS ,CASE WHEN T.SEQ = 1 THEN T.DD ELSE T.DDD END AS 'DD' ,T.VENCIDO ,F.CODSECAO ,F.CODFUNCAO ,CASE WHEN T.SEQ = 1 THEN 1 ELSE 0 END AS 'NRO' FROM TAB_3 T CROSS APPLY ( SELECT CODSECAO, CODFUNCAO FROM TAB_1 WHERE CODCOLIGADA = T.CODCOLIGADA AND CHAPA = T.CHAPA ) F WHERE CASE WHEN T.SEQ = 1 THEN T.DD ELSE T.DDD END > 0 ) SELECT D.SEQ ,D.CODCOLIGADA ,D.CHAPA ,D.NOME ,D.INICIOPERAQUIS ,D.FIMPERAQUIS ,D.DD ,D.VENCIDO ,D.CODSECAO ,D.CODFUNCAO ,D.NRO FROM DADOS_FINAL D Para utilizar execute esse seguinte code... USE CORPORERM GO SELECT * FROM DBO.VW_FOP_SALDO_FERIAS (NOLOCK) WHERE CODCOLIGADA = 1 AND CHAPA = 'CHAPA PARA TESTE' Resultado... Boa tarde! Em relação ao saldo de férias... Segue view... USE CORPORERM GO CREATE VIEW VW_FOP_SALDO_FERIAS AS WITH TAB_1 AS ( SELECT ROW_NUMBER() OVER (PARTITION BY F.CODCOLIGADA, F.CHAPA ORDER BY F.CODCOLIGADA, F.CHAPA ) AS SEQ ,F.CODCOLIGADA ,F.CHAPA ,F.NOME ,FF.INICIOPERAQUIS ,FF.FIMPERAQUIS ,((DATEDIFF(DD, INICIOPERAQUIS, CASE WHEN FIMPERAQUIS >= GETDATE() THEN GETDATE() ELSE FIMPERAQUIS END )/30 )* 2.5) - ISNULL( FFF.DD, 0) AS 'DD' ,DATEADD(YY,1, DATEADD(YY, DATEDIFF(YY, 0, GETDATE()) + 1, -1)) AS FIM ,F.CODSITUACAO ,F.CODTIPO ,F.CODSECAO ,F.CODFUNCAO FROM DBO.PFUNC F (NOLOCK) JOIN DBO.PFUFERIAS FF (NOLOCK) ON (F.CODCOLIGADA=FF.CODCOLIGADA AND F.CHAPA=FF.CHAPA AND PERIODOABERTO = 1 ) CROSS APPLY ( SELECT SUM(ISNULL(NRODIASABONO,0)) + SUM(ISNULL(NRODIASFERIAS,0)) AS DD FROM PFUFERIASPER (NOLOCK) WHERE CODCOLIGADA = F.CODCOLIGADA AND CHAPA = F.CHAPA AND FIMPERAQUIS = FF.FIMPERAQUIS ) FFF WHERE F.CODSITUACAO <> 'D' AND F.CODTIPO <>'D' ) , TAB_2 AS ( SELECT SEQ ,CODCOLIGADA ,CHAPA ,NOME ,INICIOPERAQUIS ,FIMPERAQUIS ,FIM FROM TAB_1 T UNION ALL SELECT SEQ + 1 ,CODCOLIGADA ,CHAPA ,NOME ,DATEADD(YY , 1 , INICIOPERAQUIS) AS 'INICIOPERAQUIS' ,DATEADD(YY , 1 , FIMPERAQUIS) AS 'FIMPERAQUIS' ,FIM FROM TAB_2 WHERE DATEPART(YY,FIMPERAQUIS) < DATEPART(YY,FIM) ) , TAB_3 AS ( SELECT SEQ ,CODCOLIGADA ,CHAPA ,NOME ,INICIOPERAQUIS ,FIMPERAQUIS ,FIM ,DD ,(DATEDIFF(DD, INICIOPERAQUIS, CASE WHEN FIMPERAQUIS >= GETDATE() THEN GETDATE() ELSE FIMPERAQUIS END )/ 30 ) * 2.5 AS 'DDD' ,CASE WHEN FIMPERAQUIS <= GETDATE() THEN 1 ELSE 0 END AS 'VENCIDO' FROM TAB_2 T OUTER APPLY ( SELECT DD FROM TAB_1 WHERE CODCOLIGADA=T.CODCOLIGADA AND SEQ=T.SEQ AND CHAPA=T.CHAPA ) D ) , DADOS_FINAL AS ( SELECT T.SEQ ,T.CODCOLIGADA ,T.CHAPA ,T.NOME ,T.INICIOPERAQUIS ,T.FIMPERAQUIS ,CASE WHEN T.SEQ = 1 THEN T.DD ELSE T.DDD END AS 'DD' ,T.VENCIDO ,F.CODSECAO ,F.CODFUNCAO ,CASE WHEN T.SEQ = 1 THEN 1 ELSE 0 END AS 'NRO' FROM TAB_3 T CROSS APPLY ( SELECT CODSECAO, CODFUNCAO FROM TAB_1 WHERE CODCOLIGADA = T.CODCOLIGADA AND CHAPA = T.CHAPA ) F WHERE CASE WHEN T.SEQ = 1 THEN T.DD ELSE T.DDD END > 0 ) SELECT D.SEQ ,D.CODCOLIGADA ,D.CHAPA ,D.NOME ,D.INICIOPERAQUIS ,D.FIMPERAQUIS ,D.DD ,D.VENCIDO ,D.CODSECAO ,D.CODFUNCAO ,D.NRO FROM DADOS_FINAL D Para utilizar execute esse seguinte code... USE CORPORERM GO SELECT * FROM DBO.VW_FOP_SALDO_FERIAS (NOLOCK) WHERE CODCOLIGADA = 1 AND CHAPA = 'CHAPA PARA TESTE' Resultado... A coluna [DD] apresenta a quantidade de dias, conforme vide avos de férias que não estão computadas na DBO.PFUFERIAS... Agora em relação as faltas, terias como me explicar a regra ? Obs.: Caso não queiras criar a view, podes utilizar diretamente a query, porém terás que incluir o ";" no inicio da instrução WITH... essa query é uma CTE e tem uma recursividade... pode der um problema no volume de laços de iterações, se tiver esse erro é só avisar! Espero lhe ajudar nessa questão. Abraços. A coluna [DD] apresenta a quantidade de dias, conforme vide avos de férias que não estão computadas na DBO.PFUFERIAS... Agora em relação as faltas, terias como me explicar a regra ? Obs.: Caso não queiras criar a view, podes utilizar diretamente a query, porém terás que incluir o ";" no inicio da instrução WITH... essa query é uma CTE e tem uma recursividade... pode der um problema no volume de laços de iterações, se tiver esse erro é só avisar! Espero lhe ajudar nessa questão. Abraços. 1 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
luisgustavogomes Postado 5 de Fevereiro de 2021 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 485 Conteúdo/Dia: 0.21 Reputação: 136 Pontos/Conquistas: 3.231 Conteúdo Resolvido: 0 Dias Ganho: 64 Status: Offline Idade: 35 Dispositivo: Windows Denunciar Compartilhar Postado 5 de Fevereiro de 2021 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
luisgustavogomes Postado 8 de Fevereiro de 2021 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 485 Conteúdo/Dia: 0.21 Reputação: 136 Pontos/Conquistas: 3.231 Conteúdo Resolvido: 0 Dias Ganho: 64 Status: Offline Idade: 35 Dispositivo: Windows Denunciar Compartilhar Postado 8 de Fevereiro de 2021 @guiesmeril, boa tarde! Um amigo, leu o post e me encaminhou uma tabela que mostra a relação de dias faltas que deduzem das férias... pois bem, verifiquei como a rotina do código de calculo 38 efetua a conversão de Horas para dias... e sendo assim é possível efetuar esse cálculo via T-SQL de forma correta para resgatar essa conversão dentro desse período, mas é importante salientar que a query terá um alto custo para processa-la... basicamente, teremos que selecionar o período entre Inicio e fim, verificar os eventos, verificar histórico de jornadas e efetuar o cálculo... Diante desses questões relatadas acima, ainda queres saber dessa informação... Fico no seu aguardo, abraços. 1 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
guiesmeril Postado 9 de Fevereiro de 2021 Tópicos Que Criei: 9 Tópicos/Dia: 0.01 Meu Conteúdo: 19 Conteúdo/Dia: 0.02 Reputação: 0 Pontos/Conquistas: 185 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Denunciar Compartilhar Postado 9 de Fevereiro de 2021 Luis, View eu não consigo criar por conta que não tenho permissão de criação de view, acredito que a query seria a melhor opção para atender minha necessidade. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
luisgustavogomes Postado 9 de Fevereiro de 2021 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 485 Conteúdo/Dia: 0.21 Reputação: 136 Pontos/Conquistas: 3.231 Conteúdo Resolvido: 0 Dias Ganho: 64 Status: Offline Idade: 35 Dispositivo: Windows Denunciar Compartilhar Postado 9 de Fevereiro de 2021 Boa tarde! Segue... a primeira parte (Saldo) na query... foi desenvolver o saldo de faltas e anexar na mesma query, quando conseguir desenvolver eu post aqui... abraços. TSQL_SaldoFerias.txt Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
guiesmeril Postado 10 de Fevereiro de 2021 Tópicos Que Criei: 9 Tópicos/Dia: 0.01 Meu Conteúdo: 19 Conteúdo/Dia: 0.02 Reputação: 0 Pontos/Conquistas: 185 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Denunciar Compartilhar Postado 10 de Fevereiro de 2021 Opa, fico no aguardo!! Irei adaptar a query para o meu cenário,! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.