Jump to content

luisgustavogomes

Vip *
  • Content Count

    258
  • Joined

  • Last visited

  • Days Won

    31

luisgustavogomes last won the day on May 11

luisgustavogomes had the most liked content!

Community Reputation

58 Excelente

4 Followers

About luisgustavogomes

  • Rank
    Membro Ativo no Fórum
  • Birthday 01/08/1989

Profile Information

  • Sexo
    Masculino

Recent Profile Visitors

1,019 profile views
  1. @Mônica Alves, boa tarde! Pois bem, a configuração vai depender de qual tipo de relatório você utiliza para essa saída TXT, pode ser em Delphi, Reports e o ideal gerador de saída, já existem alguns vídeos mostrando como criar/configurar esses relatórios, porém, no gerador de saída tem o vídeo do fabio #009 Totvs RM Gerador de Saidas® - Desenvolvendo seu primeiro arquivo .TXT - YouTube, que podes lhe ajudar a entender o funcionando desse gerador! Logo, em qualquer dessas opções, terás que submeter seu arquivo para validação e ir ajustando conforme o layout do banco, pois o CNAB 240 tem campos de utilização do banco que são configurados por eles. Acredito que tenham outras vídeos com esse conteúdo, mas eu assisti esse é o conteúdo é muito bom. Espero ajudar você nesta questão. Abraços.
  2. @Mônica Alves, boa tarde! 1. Existe a fórmula VFER, vide exemplo, porém ela pega o último registro da PFUFERIASVERBAS. 2. Em relação a sua pergunta "Existe como fazer isso no cálculo de uma ficha financeira?" não consegui compreender muito bem, você está falando no lançamento das verbas das férias para a ficha ? No aguardo. Abraços
  3. @fernandolk_1992, boa noite! Existem algumas formas de resolver essa questão... criando vários parâmetros de entrada, exemplo projeto 1, 2, 3 ...assim limitando a quantas forem criadas na query. Porém, a maneira que "eu" utilizo (possível solução) é a seguinte, com SQLServer (Compatibility level < 130): Crio uma CTE para efetuar um split do parâmetro, essa função do split é do incrível Dirceu Resende Como quebrar um string em uma tabela de substrings utilizando um delimitador no SQL Server - Dirceu Resende, depois envolvo a query em uma CTE e utilizo um JOIN para continuar a query. Conforme imagem: Texto da query Essa é uma das formas, porém , existem formar mais fácies, por exemplo a utilização da função nativa STRING_SPLIT STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Docs, contudo o nível de compatibilidade do banco deve ser maior que (130). Olha que simples... Porém a aplicação não aceita ainda o "Compatibility level" acima de 120... Espero ajudar. Abraços. TEXTO_QUERY.sql
  4. @Mônica Alves, boa noite! Saberias nós informar qual é o CNAB utilizado nesse arquivo ? Especificamente, não tenho nada no Bradesco, mas se tiver o arquivo podemos lhe ajudar na configuração, pois dependendo do padrão é disponibilizado pela Totvs "só configurar" rsrsrs Abraços.
  5. @DKInfo,Boa noite! Vai tem uma "meia-solução" e uma "solução-meia" vai compreender, na sequencia, claro no que eu conseguir criar! * meia-solução FN Floor([VALOR] / 60.0) + Abs(Abs(Abs([VALOR] / 60.0 - Floor([VALOR] / 60.0)) * 60.0) / 100.0) Nessa solução "meia-solução", o errado está no total (s), pois o cubo irá somar os valores e não recalcular sobre o total. * solução-meia Esse é mais simples é transformar os minutos em decimal, e somar... logo o usuário terá que calcular os números pós o separador decimal sempre dividindo por 60, assim transformando em sexagesimal. Solução, infelizmente "eu" só consegui resolver no relatório e dinamicamente utilizando o Power BI dai é outra esfera!. Porém, o @Jair - Fórmula ficou de nós ajudar... sim nós, me incluir nessa! Abraços.
  6. @Jair - Fórmula, boa noite! Isso, isso, isso... famoso erro, ler depois de subir o post! Mas não estou conseguindo mais alterar o texto após a publicação .
  7. @Jair - Fórmula, boa tarde! Tudo certo? Em relação sua afirmação, no primeiro momento pensei nesta questão... porém não era, entrei com contato e consegui compreender que o usuário queria os dados da PFFINANC... Agora sobre os proventos, teríamos utilizar a mesma lógica para ler as tabelas PFENCARDO e/ou PFENCCC. abraços.
  8. @meurehelp, Boa noite! Segue uma possível solução. Nessa query é necessário a criação de dois objetos: TOTVS-RM/FOP_GET_HISTFUNCAO_ANOMES.sql at master · luisgustavogomes/TOTVS-RM (github.com) TOTVS-RM/FOP_GET_HISTSECAO_ANOMES.sql at master · luisgustavogomes/TOTVS-RM (github.com) Esses objetos são para listar a seção e função no período. USE CORPORERM GO SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; DECLARE @DATAINICIAL DATETIME = '2021-06-01'; DECLARE @DATAFINAL DATETIME = '2021-07-31'; ;WITH TAB_PFPERFF AS ( SELECT P.CODCOLIGADA ,P.CHAPA ,P.ANOCOMP ,P.MESCOMP ,P.NROPERIODO ,HF.CODFUNCAO_HIST ,HS.CODSECAO_HIST FROM DBO.PFPERFF P OUTER APPLY [dbo].[TB_FOP_GET_HISTFUNCAO_ANOMES] (P.CODCOLIGADA, P.CHAPA, P.ANOCOMP,P.MESCOMP) HF OUTER APPLY [dbo].[TB_FOP_GET_HISTSECAO_ANOMES] (P.CODCOLIGADA, P.CHAPA, P.ANOCOMP,P.MESCOMP) HS WHERE DATEFROMPARTS(P.ANOCOMP, P.MESCOMP, 1) >= @DATAINICIAL AND DATEFROMPARTS(P.ANOCOMP, P.MESCOMP, 1) <= @DATAFINAL ) , TAB_QTDE AS ( SELECT SUM(QTDE) AS 'QTDE' FROM ( SELECT DISTINCT ANOCOMP, MESCOMP, 1 AS 'QTDE' FROM TAB_PFPERFF ) TAB ) , TAB_DADOS AS ( SELECT T.CODCOLIGADA ,T.CHAPA ,T.ANOCOMP ,T.MESCOMP ,T.NROPERIODO ,F.CODEVENTO ,E.DESCRICAO AS 'NOMEEVENTO' ,F.VALOR ,T.CODSECAO_HIST ,T.CODFUNCAO_HIST FROM TAB_PFPERFF T JOIN DBO.PFFINANC F ON (F.CODCOLIGADA = T.CODCOLIGADA AND F.ANOCOMP = T.ANOCOMP AND F.MESCOMP = T.MESCOMP AND F.NROPERIODO = T.NROPERIODO AND F.CHAPA = T.CHAPA) JOIN DBO.PEVENTO E ON (F.CODCOLIGADA = E.CODCOLIGADA AND F.CODEVENTO = E.CODIGO AND E.PROVDESCBASE = 'P') ) , TAB_AGRUPADO AS ( SELECT T.CODCOLIGADA ,T.CODEVENTO ,T.NOMEEVENTO ,T.CODSECAO_HIST ,T.CODFUNCAO_HIST ,Q.QTDE AS 'QTDE_PERIODO' ,IIF( (COUNT(*) / Q.QTDE) = 0 , 1, (COUNT(*) / Q.QTDE)) AS 'QTDE_FUNC' ,SUM(T.VALOR) AS 'VALOR' FROM TAB_DADOS T CROSS APPLY TAB_QTDE Q GROUP BY T.CODCOLIGADA ,T.CODEVENTO ,T.NOMEEVENTO ,T.CODSECAO_HIST ,T.CODFUNCAO_HIST ,Q.QTDE ) SELECT T.CODCOLIGADA ,T.CODEVENTO ,T.NOMEEVENTO ,T.CODSECAO_HIST ,P.DESCRICAO AS 'NOMESECAO' ,T.CODFUNCAO_HIST ,F.NOME AS 'NOMEFUNCAO' ,T.QTDE_PERIODO ,T.QTDE_FUNC ,T.VALOR/T.QTDE_FUNC/T.QTDE_PERIODO AS 'MEDIA_FUNC_PERIODO' ,T.VALOR/T.QTDE_FUNC AS 'MEDIA_FUNC' ,T.VALOR FROM TAB_AGRUPADO T JOIN DBO.PSECAO P ON (P.CODCOLIGADA = T.CODCOLIGADA AND P.CODIGO = T.CODSECAO_HIST) JOIN DBO.PFUNCAO F ON (F.CODCOLIGADA = T.CODCOLIGADA AND F.CODIGO = T.CODFUNCAO_HIST) ORDER BY T.CODCOLIGADA, T.CODEVENTO, T.CODSECAO_HIST , T.CODFUNCAO_HIST Espero que lhe ajude.
  9. @meurehelp e @Jair - Fórmula, bom dia! Se os dados estão salvos nas tabelas de históricos de encargos e provisões, dai teremos que montar a regra para a arquitetura da query de forma dinâmica utilizando agrupamentos... aqui sim @Jair - Fórmula fica um pouco complexo... abraços.
  10. @Marcus Sampaio, boa noite! Conseguiu resolver esse problema ?
  11. @meurehelp, boa noite, Claro, podemos lhe ajudar, mas não consegui lhe entender muito bem, poderia citar um exemplo e/ou me explicar pelo skype ? Contato: luisgustavogomes@outlook.com. Ficamos no aguardo. Abraços.
  12. @Dayana Fernandes, Boa tarde! Em relação a esse assunto, temos uma 2 FV para controlar esse fluxo... 1º Na action "SmtConsultasProntData" Inclusão: Validar se o campo DATAASO está preenchido ("não pode!"), Situação não pode ser (Apto, Inapto e/ou Apto com Restrições); Alteração: Se tiver DATAASO a situação tem que ser (Apto, Inapto e/ou Apto com Restrições), Código do Médico obrigatório, DATAASO maior ou igual as datas do exames; 2º Na action "SmtExamesProntPessoaData" Inclusão/Alteração: Valida se não tem DATAASO se tiver não deixa nem incluir, código do procedimento obrigatório, quando o procedimento for igual à 9999 tens que obrigar a observação. Existem também outras validações que precisamos colocar nessas actions tais como: Fluxo de controle de exames e seus campos obrigatórios, barrar alteração da DATAASO pois é chave do campo XML para o TAF e outros coisas mais.... Abraços.
  13. @Marcus Sampaio, Bom dia! Terias como me chamar no skype ?
×
×
  • Create New...

Important Information

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