Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Aglutinar campos iguais


Raimundo Neto

Posts Recomendados


  • Tópicos Que Criei:  18
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  61
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  499
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Boa Tarde Pessoal

 

Estou anexando um fluxo que esta funcionando certinho, porem estou com um problema, gostaria dele sintético, como puxo da tabela de rateio o mesmo, ele esta puxando natureza e projeto deste lançamento, porem quando tivesse lançamentos com o mesmo projeto e mesma natureza, gostaria que os mesmos apenas somassem.

Se alguém puder me ajudar o arquivo esta em anexo, lembrando que o SQL que utilizei neste arquivo tem customizações de acordo com a empresa.

06 - FLUXO DE CAIXA CONTAS A PAGAR X RECEBER.TotvsReport

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  899
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.841
  • Conteúdo/Dia:  1.34
  • Reputação:   310
  • Pontos/Conquistas:  106.571
  • Conteúdo Resolvido:  0
  • Dias Ganho:  194
  • Status:  Online
  • Idade:  52
  • Dispositivo:  Windows

Raimundo, como tem customizações e campos que em geral o pessoal não deve ter, fica complicado carregar o relatório e testar algo. Não seria mais fácil vc exportar a sentença aqui para alguém de repente conseguir olhar e te ajudar pelo seu conteúdo diretamente?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  18
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  61
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  499
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Segue Sql usado no relatório:

 

SELECT                      
                
                             TTBORCAMENTO.DESCRICAO               AS NATUREZA,
                             
                ( CASE
                    WHEN FLAN.PAGREC = 2
                         AND FLAN.CLASSIFICACAO <> '90'
                         AND FLAN.CODTDO <> 'CREDIT'
                         AND FLAN.STATUSLAN <> '1' THEN ( FLANRATCCU.VALOR ) + ( FLAN.VALORJUROS * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORBAIXADO * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORADIANTAMENTO * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORDESCONTO * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALOROP1 * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALOROP2 * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALOROP3 * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORRETENCOESBX * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORdescontoacordo * FLANRATCCU.PERCENTUAL ) / 100 + ( FLAN.VALOROP5 * FLANRATCCU.PERCENTUAL ) / 100 + ( FLAN.VALORACRESCIMOACORDO * FLANRATCCU.PERCENTUAL ) / 100
                    WHEN FLAN.PAGREC = 2
                         AND FLAN.CLASSIFICACAO <> '90'
                         AND FLAN.CODTDO <> 'CREDIT'
                         AND FLAN.STATUSLAN = '1' THEN '0.00'
                  END )                              AS 'PAGAR',
               
              
                ( CASE
                    WHEN FLAN.PAGREC = 1
                         AND FLAN.CLASSIFICACAO <> '90'
                         AND FLAN.CODTDO <> 'CREDIT'
                         AND FLAN.STATUSLAN <> '1' THEN ( FLANRATCCU.VALOR ) + ( FLAN.VALORJUROS * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORBAIXADO * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORADIANTAMENTO * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORDESCONTO * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALOROP1 * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALOROP2 * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALOROP3 * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORRETENCOESBX * FLANRATCCU.PERCENTUAL ) / 100 - ( FLAN.VALORdescontoacordo * FLANRATCCU.PERCENTUAL ) / 100
                    WHEN FLAN.PAGREC = 1
                         AND FLAN.CLASSIFICACAO <> '90'
                         AND FLAN.CODTDO <> 'CREDIT'
                         AND FLAN.STATUSLAN = '1' THEN '0.00'
                  END )                              AS 'RECEBER'
              
               
               
               
               
               
FROM   FLANRATCCU(NOLOCK),
       FLAN(NOLOCK),
       GCOLIGADA(NOLOCK),
       GFILIAL(NOLOCK),
       GCCUSTO(NOLOCK),
       FCFO(NOLOCK),
       TTBORCAMENTO(NOLOCK),
       FLANCOMPL (NOLOCK),
       FTDO(NOLOCK)
WHERE  ( GFILIAL.CODCOLIGADA = GCOLIGADA.CODCOLIGADA )
       AND FLANRATCCU.CODCOLIGADA = 1
       AND FLAN.CODCOLIGADA = 1
       AND GCOLIGADA.CODCOLIGADA = 1
       AND GCCUSTO.CODCOLIGADA = 1
       AND TTBORCAMENTO.CODCOLIGADA = 1
       AND FTDO.CODCOLIGADA = 1
       AND ( FLAN.CODCOLIGADA = GFILIAL.CODCOLIGADA )
       AND ( FLAN.CODFILIAL = GFILIAL.CODFILIAL )
       AND ( FLANRATCCU.CODCCUSTO = GCCUSTO.CODCCUSTO )
       AND ( FLANRATCCU.CODCOLIGADA = GCCUSTO.CODCOLIGADA )
       AND ( FLAN.CODCOLIGADA = FLANRATCCU.CODCOLIGADA )
       AND ( FLAN.IDLAN = FLANRATCCU.IDLAN )
       AND (( FLAN.STATUSLAN = '0' ) or  ( FLAN.STATUSLAN = '4' ))
       AND ( FLAN.NFOUDUP <> 2 )
       AND ( FCFO.CODCOLIGADA = FLAN.CODCOLCFO )
       AND ( FLAN.CODTDO = FTDO.CODTDO )
       AND FLANCOMPL.IDLAN = FLAN.IDLAN
       AND FLAN.CODTDO <> 'CREDIT'
       AND ( TTBORCAMENTO.CODTBORCAMENTO = FLANRATCCU.CODNATFINANCEIRA )
       AND ( FCFO.CODCOLIGADA = FLAN.CODCOLCFO )
       AND ( FCFO.CODCFO = FLAN.CODCFO )
       AND ( FLAN.VALORORIGINAL <> FLAN.VALORADIANTAMENTO )
       AND ( ( FLAN.CLASSIFICACAO <> 7 )
              OR ( FLAN.CLASSIFICACAO <> 34 ) )
       AND flan.dataprevbaixa >= :DATA_INICIO_D
       AND flan.dataprevbaixa <= :DATA_FINAL_D
GROUP  BY GCOLIGADA.NOME,
          GFILIAL.NOME,
          FLAN.SEGUNDONUMERO,
          GCCUSTO.NOME,
          FLAN.NUMERODOCUMENTO,
          FLAN.DATACRIACAO,
          FLAN.CODTDO,
          FLAN.VALORIRRF,
          FLAN.VALORORIGINAL,
          FLAN.PAGREC,
          FLAN.CODFILIAL,
          FCFO.NOMEFANTASIA,
          FLAN.DATAPREVBAIXA,
          FCFO.NOME,
          FLAN.DATAEMISSAO,
          GCCUSTO.CAMPOLIVRE,
          FLAN.CODCXA,
          FLANRATCCU.CODNATFINANCEIRA,
          TTBORCAMENTO.CODTBORCAMENTO,
          FLAN.USUARIOCRIACAO,
          FLAN.HISTORICO,
          TTBORCAMENTO.DESCRICAO,
          FLAN.VALORACRESCIMOACORDO,
          FLANRATCCU.VALOR,
          FLANCOMPL.SITFUNC,
          FLAN.VALORJUROS,
          FLAN.NFOUDUP,
          FLAN.IDLAN,
          FLAN.VALORMULTA,
          FLAN.VALORCAP,
          FLAN.VALORDESCONTO,
          FLAN.VALOROP4,
          FLAN.VALOROP5,
          FLAN.VALOROP3,
          FLAN.VALOROP1,
          FCFO.CGCCFO,
          FLAN.VALOROP6,
          FLAN.DATAVENCIMENTO,
          FLANRATCCU.VALOR,
          FLANRATCCU.CODCCUSTO,
          FLAN.VALORBAIXADO,
          FLANRATCCU.PERCENTUAL,
          FLAN.CLASSIFICACAO,
          FLAN.CHAPA,
          FLAN.VALORDEDUCAO,
          FLAN.VALORDEVOLUCAO,
          FLAN.VALOROP2,
          FLAN.STATUSLAN,
          FLAN.VALORADIANTAMENTO,
          FTDO.DESCRICAO,
          FLAN.VALORRETENCOESBX,
          FCFO.CODCFO,
          FLAN.DATABAIXA,
          TTBORCAMENTO.CAMPOLIVRE,
          FLAN.RECCREATEDBY,
          FLAN.VALORORIGINALBX,
          FCFO.RUA,
          FCFO.NUMERO,
          FCFO.COMPLEMENTO,
          FCFO.CODETD,
          FCFO.CIDADE,
          FLANCOMPL.PROCESSO,
          FCFO.CEP,
          FLAN.VALORDESCONTOACORDO
ORDER  BY FLANRATCCU.CODCCUSTO
 

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  59
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  820
  • Conteúdo/Dia:  0.16
  • Reputação:   107
  • Pontos/Conquistas:  4.791
  • Conteúdo Resolvido:  0
  • Dias Ganho:  74
  • Status:  Online
  • Idade:  61
  • Dispositivo:  Windows

Boa tarde.  Acho que faltou usar a função SUM em valores que estão rateados.  Por exemplo SUM(FLANRATCCU.PERCENTUAL) e SUM(FLANRATCCU.VALOR).

 

Veja este exemplo:

SELECT DISTINCT TOP (100) PERCENT ( CASE
                                      WHEN FLAN.CODCCUSTO = '000169' THEN '000550'
                                      ELSE FLAN.CODCCUSTO
                                    END )                                                                    AS CODCCUSTO,
                                  DBO.FLAN.CODCOLIGADA,
                                  ( CASE LEFT(FLANBAIXARATDEP.CODDEPARTAMENTO, 1)
                                      WHEN 1 THEN 'MAT'
                                      WHEN 2 THEN 'MOB'
                                      WHEN 3 THEN 'SER'
                                      WHEN 4 THEN 'MAT'
                                      WHEN 5 THEN 'MOB'
                                      WHEN 6 THEN 'SER'
                                      ELSE 'D.I.'
                                    END )                                                                    AS TIPO,
                                  SUM(DBO.FLANBAIXARATDEP.VALOR)                                             AS VALOR,
                                  DBO.FLANBAIXARATDEP.CODDEPARTAMENTO,
                                  DBO.GDEPTO.NOME                                                            AS ETAPANOME,
                                  DBO.GCCUSTO.NOME                                                           AS OBRA,
                                  INCC_1.INCC,
                                  (SELECT MAX(INCC) AS I
                                   FROM   DBO.INCC)                                                          AS INCCA,
                                  DATEPART(MM, DBO.FLAN.DATABAIXA)                                           AS MES,
                                  DATEPART(YYYY, DBO.FLAN.DATABAIXA)                                         AS ANO,
                                  SUM(DBO.FLANBAIXARATDEP.VALOR) / INCC_1.INCC * (SELECT MAX(INCC) AS I
                                                                                  FROM   DBO.INCC AS INCC_2) AS VALORA
FROM   DBO.FLAN WITH (NOLOCK)
       INNER JOIN DBO.FLANBAIXA WITH (NOLOCK)
         ON DBO.FLAN.CODCOLIGADA = DBO.FLANBAIXA.CODCOLIGADA
            AND DBO.FLAN.IDLAN = DBO.FLANBAIXA.IDLAN
       INNER JOIN DBO.FCXA WITH (NOLOCK)
         ON DBO.FLANBAIXA.CODCOLIGADA = DBO.FCXA.CODCOLIGADA
            AND DBO.FLANBAIXA.CODCXA = DBO.FCXA.CODCXA
       INNER JOIN DBO.FLANBAIXARATDEP WITH (NOLOCK)
         ON DBO.FLAN.IDLAN = DBO.FLANBAIXARATDEP.IDLAN
            AND DBO.FLAN.CODCOLIGADA = DBO.FLANBAIXARATDEP.CODCOLIGADA
            AND DBO.FLANBAIXA.IDBAIXA = DBO.FLANBAIXARATDEP.IDBAIXA
            AND DBO.FLANBAIXA.CODCOLIGADA = DBO.FLANBAIXARATDEP.CODCOLIGADA
       INNER JOIN DBO.FCFO WITH (NOLOCK)
         ON DBO.FLAN.CODCFO = DBO.FCFO.CODCFO
            AND DBO.FLAN.CODCOLCFO = DBO.FCFO.CODCOLIGADA
       INNER JOIN DBO.GDEPTO WITH (NOLOCK)
         ON DBO.FLAN.CODCOLIGADA = DBO.GDEPTO.CODCOLIGADA
            AND DBO.FLANBAIXARATDEP.CODDEPARTAMENTO = DBO.GDEPTO.CODDEPARTAMENTO
            AND DBO.FLANBAIXARATDEP.CODFILIAL = DBO.GDEPTO.CODFILIAL
       INNER JOIN DBO.GCCUSTO WITH (NOLOCK)
         ON DBO.GCCUSTO.CODCOLIGADA = DBO.FLAN.CODCOLIGADA
            AND DBO.GCCUSTO.CODCCUSTO = DBO.FLAN.CODCCUSTO
       INNER JOIN DBO.INCC AS INCC_1 WITH (NOLOCK)
         ON INCC_1.MES = DATEPART(MM, DBO.FLAN.DATABAIXA)
            AND INCC_1.ANO = DATEPART(YYYY, DBO.FLAN.DATABAIXA)
WHERE  ( DBO.FLAN.PAGREC = 2 )
       AND ( DBO.FLAN.STATUSLAN <> 2 )
       AND ( DBO.FLANBAIXA.STATUS <> 1 )
       AND ( DBO.FCXA.DESCRICAO NOT LIKE '%CAIXA GERAL%'
              OR DBO.FCXA.DESCRICAO IS NULL )
GROUP  BY ( CASE
              WHEN FLAN.CODCCUSTO = '000169' THEN '000550'
              ELSE FLAN.CODCCUSTO
            END ),
          DBO.FLAN.CODCOLIGADA,
          DBO.FLANBAIXARATDEP.CODDEPARTAMENTO,
          DBO.GDEPTO.NOME,
          DBO.GCCUSTO.NOME,
          INCC_1.INCC,
          DATEPART(MM, DBO.FLAN.DATABAIXA),
          DATEPART(YYYY, DBO.FLAN.DATABAIXA)

 

Editado por omar
Complemento
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  18
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  61
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  499
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Bom dia

Ate mudei o SQL, porem acredito que seja em alguma função do relatório que não sei usar que deve estar rateando o mesmo.

 

Quando aparecer o centro de custo e natureza igual ele tem que somar e não ratear.

 

Se alguém tiver uma luz vou agradecer muito.

 

Olha o anexo como sai o relatório.

rel.png

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  899
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.841
  • Conteúdo/Dia:  1.34
  • Reputação:   310
  • Pontos/Conquistas:  106.571
  • Conteúdo Resolvido:  0
  • Dias Ganho:  194
  • Status:  Online
  • Idade:  52
  • Dispositivo:  Windows

Raimundo...

Vc está usando no seu SELECT, conforme o seu segundo post, um monte de campos na Cláusula GROUP BY, e isso faz com que repita, e não agrupe como está dizendo que deseja.

Veja:

GROUP  BY GCOLIGADA.NOME,
          GFILIAL.NOME,
          FLAN.SEGUNDONUMERO,
          GCCUSTO.NOME,
          FLAN.NUMERODOCUMENTO,
          FLAN.DATACRIACAO,
          FLAN.CODTDO,
          FLAN.VALORIRRF,
          FLAN.VALORORIGINAL,
          FLAN.PAGREC,
          FLAN.CODFILIAL,
          FCFO.NOMEFANTASIA,
          FLAN.DATAPREVBAIXA,
          FCFO.NOME,
          FLAN.DATAEMISSAO,...

e muito mais...

Neste caso, vc deve agrupar, apenas pelo que quer AGLUTINAR, como falou... veja um exemplo básico:

---

Select CodColigada, CodCcusto, Departamento, Sum(Valor) From FlanBaixa Group By CodColigada, CodCcusto, Departamento

-- Acima, irá agrupar por CodColigada, CodCcusto e Departamento. Se não me interessa o Departamento, e sim apenas a Coligada e C.Custo, mudo o meu SELECT para este abaixo:

Select CodColigada, CodCcusto, Sum(Valor) From FlanBaixa Group by CodColigada, CodCcusto

---

Entendeu?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  18
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  61
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  499
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Ótimo. Deu certinho.

 

Obrigado

Link para comentar
Compartilhar em outros sites

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.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.