Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 12/27/2019 in all areas

  1. 1 point
    Fala Mauro, Blz? Cara, eu fiz um artigo lá no Linkedin há um tempo atrás que vai lhe ajudar. Confere aí https://www.linkedin.com/pulse/agrupamento-collation-sql-server-marcos-miguel/
  2. 1 point
    Montei uma listagem de tabelas dinâmicas do sistema para quem quiser consultar facilmente o nome de alguma tabela usada para armazenar detalhes de tabelas usadas internamente no sistema para algumas funções, como itens de código de situação de funcionários, tipo de dependente, entre outros. Vou montar uma outra consulta , provavelmente uma procedure, com informações das tabelas com os detalhes, da GCONSIST, e demais tabelas internas usadas nas tabelas dinâmicas do sistemas. Listagem de Tabelas Dinâmicas.xlsx
  3. 1 point
    Estou com uma dúvida sobre a funcionalidade de geolocalização do App Meu RH, preciso saber se é possível delimitar a área que os funcionários podem bater o ponto utilizando o celular, sabe me dizer se tem como fazer essa delimitação e caso não esteja dentro dessa área bloquear a marcação?
  4. 1 point
    Desconsiderar. Arquivo foi utilizado pela TOTVS para atualização do TAF, mas pelo que vi não é o arquivo completo. Ele deve ter utilizado outros arquivos. Chamei o suporte local após executar o atualizador e o mesmo não encontrar o TSS (não estava no diretório padrão) e o atualizador ter apresentado erro no taf. Ele tirou o arquivo do link abaixo: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360026673572-MP-TAF-Atualização-completa-TAF opção: Atualização TAF - ERP RM, Datasul ou Logix.
  5. 1 point
    Acho que sim Dennys. Basta ter a view criada no banco e você ter a string de conexão para conectar o Banco com o Power BI.
  6. 1 point
    Boa tarde Emanuel, Para a marcação de ponto via Meu RH é necessário Autorização via Convenção ou Acordo Coletivo de Trabalho. O link abaixo tem o passo a passo de como liberar o acesso. Para restringir basta desfazer esses passos. https://centraldeatendimento.totvs.com/hc/pt-br/articles/360020815391-RM-PTO-Meu-RH-Como-realizar-a-inserção-de-batidas-por-geolocalização
  7. 1 point
    Bom dia. Eu crio views no banco de dados e puxo destas views para o Power BI. Alguns abaixo: 1. Absenteismo: SELECT DISTINCT dbo.PFUNC.CODCOLIGADA, dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PFUNC.NOME AS FUNCIONARIO, RIGHT(LEFT(dbo.PFUNC.CODSECAO, 6), 3) AS CODSECAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFFINANC.REF AS FALTAS, dbo.PFFINANC.MESCOMP AS MES, dbo.PFFINANC.ANOCOMP AS ANO, dbo.PFFINANC.DTPAGTO, UPPER(dbo.PSECAO.CIDADE) AS FILIAL, dbo.PFUNCAO.NOME AS FUNCAO FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.GFILIAL WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GFILIAL.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GFILIAL.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.GFILIAL.CODFILIAL = dbo.PSECAO.CODFILIAL INNER JOIN dbo.PFFINANC WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFFINANC.CODCOLIGADA AND dbo.PFUNC.CHAPA = dbo.PFFINANC.CHAPA INNER JOIN dbo.PEVENTO WITH (NOLOCK) ON dbo.PFFINANC.CODEVENTO = dbo.PEVENTO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO AND dbo.GCOLIGADA.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA WHERE ( dbo.PEVENTO.CODIGOCALCULO = 8 ) 2. Saida Funcionários: SELECT TOP (100) PERCENT dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFUNCAO.NOME AS FUNCAO, COUNT(dbo.PFUNC.CHAPA) AS QUANTIDADE_DEMISSOES, DATEPART(MM, dbo.PFUNC.DATADEMISSAO) AS MES, DATEPART(YEAR, dbo.PFUNC.DATADEMISSAO) AS ANO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFUNC.DATADEMISSAO, dbo.PFUNC.CODSECAO FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GCOLIGADA.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.GCOLIGADA.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO WHERE (dbo.PFUNC.DATADEMISSAO IS NOT NULL) GROUP BY dbo.GCOLIGADA.NOME, dbo.PSECAO.DESCRICAO, dbo.PFUNCAO.NOME, DATEPART(MM, dbo.PFUNC.DATADEMISSAO), DATEPART(YEAR, dbo.PFUNC.DATADEMISSAO), dbo.PSECAO.CIDADE, dbo.PFUNC.DATADEMISSAO, dbo.PFUNC.CODSECAO ORDER BY DATEPART(MONTH, dbo.PFUNC.DATADEMISSAO) 3. Entrada Funcionário: SELECT dbo.FN_FORMATAR_TEXTO(REPLACE(dbo.GCOLIGADA.NOME, '/', '')) AS COLIGADA, dbo.PFUNC.CODSECAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFUNCAO.NOME AS FUNCAO, COUNT(DISTINCT dbo.PFUNC.CHAPA) AS QUANTIDADE_ADMISSOES, DATEPART(MM, dbo.PFUNC.DATAADMISSAO) AS MES, DATEPART(YEAR, dbo.PFUNC.DATAADMISSAO) AS ANO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFUNC.DATAADMISSAO, dbo.GCOLIGADA.CODCOLIGADA FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GCOLIGADA.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.PSECAO.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO GROUP BY dbo.GCOLIGADA.NOME, dbo.PFUNC.CODSECAO, dbo.PSECAO.DESCRICAO, dbo.PFUNCAO.NOME, DATEPART(MM, dbo.PFUNC.DATAADMISSAO), DATEPART(YEAR, dbo.PFUNC.DATAADMISSAO), dbo.PSECAO.CIDADE, dbo.PFUNC.DATAADMISSAO, dbo.GCOLIGADA.CODCOLIGADA 4. Folha Completa: SELECT dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PFUNC.CODCOLIGADA, dbo.PFUNC.CHAPA, dbo.PFUNC.CODFILIAL, dbo.PFUNC.NOME AS NOMEFUNCIONARIO, dbo.PFUNC.SALARIO, RIGHT(LEFT(dbo.PFUNC.CODSECAO, 6), 3) AS CODSECAO, dbo.PFUNC.CODHORARIO, dbo.AHORARIO.DESCRICAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFUNC.CODSITUACAO, dbo.PFUNCAO.NOME AS FUNCAO, dbo.PEVENTO.PROVDESCBASE AS PDB, dbo.PEVENTO.DESCRICAO AS EVENTO, dbo.PFFINANC.ANOCOMP AS ANO, dbo.PFFINANC.MESCOMP AS MES, dbo.PFFINANC.HORA, dbo.PFFINANC.NROPERIODO, CASE WHEN PEVENTO.PROVDESCBASE = 'B' THEN PFFINANC.VALOR * 0 WHEN PEVENTO.PROVDESCBASE = 'D' THEN PFFINANC.VALOR * - 1 WHEN PEVENTO.PROVDESCBASE = 'P' THEN PFFINANC.VALOR END AS VALOR, dbo.PFCOMPL.ADM, dbo.PFCOMPL.ADOB, dbo.PFFINANC.DTPAGTO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFFINANC.CODEVENTO FROM dbo.PEVENTO WITH (NOLOCK) INNER JOIN dbo.PFFINANC WITH (NOLOCK) ON dbo.PEVENTO.CODCOLIGADA = dbo.PFFINANC.CODCOLIGADA AND dbo.PEVENTO.CODIGO = dbo.PFFINANC.CODEVENTO INNER JOIN dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO INNER JOIN dbo.PFUNCAO WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA AND dbo.PFUNCAO.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA AND dbo.PSECAO.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA ON dbo.PFFINANC.CODCOLIGADA = dbo.PFUNC.CODCOLIGADA AND dbo.PFFINANC.CHAPA = dbo.PFUNC.CHAPA AND dbo.PFFINANC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA AND dbo.PEVENTO.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.AHORARIO WITH (NOLOCK) ON dbo.PFUNC.CODHORARIO = dbo.AHORARIO.CODIGO AND dbo.GCOLIGADA.CODCOLIGADA = dbo.AHORARIO.CODCOLIGADA INNER JOIN dbo.PFCOMPL WITH (NOLOCK) ON dbo.PFUNC.CHAPA = dbo.PFCOMPL.CHAPA AND dbo.PFUNC.CODCOLIGADA = dbo.PFCOMPL.CODCOLIGADA WHERE (dbo.AHORARIO.CODCOLIGADA = dbo.AHORARIO.CODCOLIGADA) AND (dbo.PFFINANC.ANOCOMP >= 2015) AND (dbo.PEVENTO.PROVDESCBASE <> 'B') 5. Hora Extra: SELECT DISTINCT dbo.GCOLIGADA.NOME AS COLIGADA, dbo.PFUNC.NOME AS FUNCIONARIO, RIGHT(LEFT(dbo.PFUNC.CODSECAO, 6), 3) AS CODSECAO, dbo.PSECAO.DESCRICAO AS SECAO, dbo.PFFINANC.REF AS EXTRA, dbo.PFFINANC.MESCOMP AS MES, dbo.PFFINANC.ANOCOMP AS ANO, dbo.PFFINANC.DTPAGTO, dbo.PSECAO.CIDADE AS FILIAL, dbo.PFUNCAO.NOME AS FUNCAO FROM dbo.PFUNC WITH (NOLOCK) INNER JOIN dbo.GCOLIGADA WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GCOLIGADA.CODCOLIGADA INNER JOIN dbo.GFILIAL WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.GFILIAL.CODCOLIGADA INNER JOIN dbo.PSECAO WITH (NOLOCK) ON dbo.GFILIAL.CODCOLIGADA = dbo.PSECAO.CODCOLIGADA AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.PFUNC.CODSECAO = dbo.PSECAO.CODIGO AND dbo.GFILIAL.CODFILIAL = dbo.PSECAO.CODFILIAL INNER JOIN dbo.PFFINANC WITH (NOLOCK) ON dbo.PFUNC.CODCOLIGADA = dbo.PFFINANC.CODCOLIGADA AND dbo.PFUNC.CHAPA = dbo.PFFINANC.CHAPA INNER JOIN dbo.PEVENTO WITH (NOLOCK) ON dbo.PFFINANC.CODEVENTO = dbo.PEVENTO.CODIGO INNER JOIN dbo.PFUNCAO ON dbo.PFUNC.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA AND dbo.PFUNC.CODFUNCAO = dbo.PFUNCAO.CODIGO AND dbo.GCOLIGADA.CODCOLIGADA = dbo.PFUNCAO.CODCOLIGADA WHERE (dbo.PEVENTO.CODIGO = '0054') OR (dbo.PEVENTO.CODIGO = '0055') OR (dbo.PEVENTO.CODIGO = '0191') OR (dbo.PEVENTO.CODIGO = '0372') 6. Faixas Salariais: SELECT TOP (100) PERCENT A.CHAPA, A.NOME, B.NOME AS funcao, A.SALARIO, CASE WHEN SALARIO < 1000 THEN '< 1000' WHEN SALARIO >= 1000 AND salario < 2000 THEN 'De 1000 a 2000' WHEN SALARIO >= 2000 AND salario < 3000 THEN 'De 2000 a 3000' WHEN SALARIO >= 3000 AND salario < 5000 THEN 'De 3000 a 5000' WHEN SALARIO >= 5000 AND salario < 10000 THEN 'De 5000 a 10000' ELSE '> 10000' END AS [Faixa Salarial] FROM dbo.PFUNC AS A INNER JOIN dbo.PFUNCAO AS B ON A.CODCOLIGADA = B.CODCOLIGADA AND A.CODFUNCAO = B.CODIGO WHERE (A.CODSITUACAO <> 'D') AND (A.CODSITUACAO <> 'I') ORDER BY A.SALARIO
  8. 1 point
    Pessoal, boa tarde!! Fiz um script para consultar esses dados via banco, acho que fica mais fácil e da até para montar alguns joins !! Tabela: ZTABELASTAF ZTABELASTAF.rar
  9. 1 point
    Virgílio, boa noite! Trabalhe com o processo de adiantamento da seguinte forma: 1 - Faça um Tipo de documento com a classificação ( Adiantamento ). 2 - Crie um lançamento ( A pagar ) com este tipo de documento em seguida baixe este lançamento. Obs.: Você está entregando o dinheiro ao sujeito então o dinheiro saiu do seu caixa, por isso deve baixar este lançamento. 3 - Quando o sujeito voltar, provavelmente ele tem que ter algumas notas, recibos, papel de pão ( rss ) do que ele gastou. Lance no sistema normalmente ( A pagar ), faça o vínculo do lançamento ao adiantamento. Quando fizer a baixa destes documentos os sistema irá sugerir para você que gere um lançamento com o restante ( a receber caso o sujeito tenha que devolver, ou a pagar caso o valor não tenha sido suficiente. Espero ter explicado, caso alguém tenha algo a acrescentar é sempre válido. At,
This leaderboard is set to Sao Paulo/GMT-02:00
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.