Jump to content
Sign in to follow this  

Recommended Posts

Boa tarde,
Gostaria de uma ajuda com um relatório que estou montando,

no relatório deve ter todos os fornecedores que a empresa DEVE porem não pode ter "puxa" os já pagos, cancelados e com cheque.

montei um que a condição é flan.statuslan = '0' que vai puxar os resultados que não foram pagos, porem puxa os vencidos e com cheque, e nao acho nada nas tabelas que eu posssa por outra condição para diferenciar.

 

SELECT FLAN.CODCOLIGADA,
       FLAN.CODCFO,
       FCFO.NOME,
       SUM(FLAN.VALORORIGINAL) AS [VALOR TOTAL]

FROM FLAN

INNER JOIN FCFO ON ( FLAN.CODCOLCFO = FCFO.CODCOLIGADA AND FLAN.CODCFO = FCFO.CODCFO )

WHERE FLAN.PAGREC = '2' AND FLAN.STATUSLAN = '0'

GROUP BY FLAN.CODCOLIGADA,FLAN.CODCFO,  FCFO.NOME

ORDER BY FLAN.CODCOLIGADA, FCFO.NOME

Share this post


Link to post
Share on other sites

Você tem que analisar a tabela FLANBAIXA. Até porque podem existir baixas parciais nos seus títulos, onde o valor pendente não é o Valor Original mais. 

Share this post


Link to post
Share on other sites

fiz a condição com flan.statusextrato, e a principio funcionou.

 

SELECT FLAN.CODCOLIGADA,
       FLAN.CODCFO,
       FCFO.NOME,
       SUM(FLAN.VALORORIGINAL) AS [VALOR TOTAL]

FROM FLAN

INNER JOIN FCFO ON ( FLAN.CODCOLCFO = FCFO.CODCOLIGADA AND FLAN.CODCFO = FCFO.CODCFO )

WHERE FLAN.PAGREC = '2' AND FLAN.STATUSLAN = '0' AND FLAN.STATUSEXTRATO = '0'

GROUP BY FLAN.CODCOLIGADA,FLAN.CODCFO,  FCFO.NOME

ORDER BY FLAN.CODCOLIGADA, FCFO.NOME

  

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Sign in to follow this  

  • Similar Content

    • By Fórum RM
      Quando solicita pra rodar relatórios no Gerador em versões a partir da 12.1.21 e não está instalado o client 11, basta instalar esse arquivo, de acordo com a versão do seu Windows.
      https://www.forumrm.com.br/files/file/387-client-sql-server-2012
       
    • By Jair - Fórmula
      Script com função para montagem de data com último dia útil do mês, considerando a tabela de feriados do RM, ou seja, se o último dia do mês cair em algum feriado cadastrado no RM, retorna o dia útil anterior.Para o caso de usar versão do SQL mais antiga, onde não existe a função EOMONTH(). É só comentar a linha em questão que usa essa função do SQL Server deixando a outra. Mantenha a que preferir usar... 
       
      If OBJECT_ID (N'dbo.fnc_UltDiaUtilRM' ) is not null Drop Function dbo.fnc_UltDiaUtilRM; Go Create Function dbo.fnc_UltDiaUtilRM (@DataBase DateTime) Returns Date as Begin Declare @UltDia Date Declare @CalendOficial Varchaaaar(10) Set @CalendOficial = '0000001' -- Código do Calendário Oficial a ser usado do RM -- Usando a Função EOMONTH que funciona para o SQL 2012 em diante... Set @UltDia = EOMONTH(@DataBase) -- Usando a Função DateAdd apenas para montar o último dia do mês, que funciona para o SQL 2008 e mais atuais... Set @UltDia = DATEADD(dd, -DAY(DATEADD(M, 1, @DataBase)), DATEADD(M, 1, @DataBase)) inicio: If ( Select DiaFeriado From GFeriado (nolock) Where DiaFeriado = @UltDia and CodCalendario = @CalendOficial ) is not null Begin Set @UltDia = DateAdd(d, -1, @UltDia) End if (Select DatePart(dw, @UltDia)) in (1, 7) or ( Select DiaFeriado From GFeriado (nolock) Where DiaFeriado = @UltDia and CodCalendario = @CalendOficial ) is not null Begin Set @UltDia = DateAdd(d, -1, @UltDia) goto inicio End Return(@UltDia) End Go -- Exemplo de utilização Select dbo.fnc_UltDiaUtilRM (Getdate())
      Exemplo de utilização
      Select dbo.fnc_UltDiaUtilRM (Getdate())
       
      **** Veja que foi usado em uma parte no texto acima o VARCHAAAAR e não o nome correto, pois, há um bloqueio de segurança para evitar códigos maliciosos que façam ataques no fórum. Então, apenas enviando em arquivo, ou trocando essa palavra desta forma que fiz. Ao copiar e passar para seu ambiente, sempre deverá corrigir para o termo correto!! 😀
    • By Cláudio Matias
      Prezados, boa tarde.
      Sou novo aqui no fórum e gostaria, se possível, de expor uma dúvida e caso alguém possa me ajudar, ficarei muito grato.
      Situação: Preciso desenvolver uma consulta SQL que me retorne a jornada planejada do funcionário, montando o quadro de horário em linhas. Utilizei a tabela AJORHOR, porém, ela não atende em todos os casos, já que a jornada da visão do horário pode não corresponder a jornada executada do funcionário. 
      Exemplo do resultado: Linha 1: CHAPA 0001 - SEG - 7:30 - 12:00 - 13:00 - 17:45
                                               Linha 2: CHAPA 0001 - TER - 7:30 - 12:00 - 13:00 - 17:45
                                               Linha 3: CHAPA 0001 - QUA - 7:30 - 12:00 - 13:00 - 17:45
                                               ...
                                               ...
                                               Linha 6: CHAPA 0001 - SAB - COMPENSADO
                                               Linha 7: CHAPA 0001 - DOM - DESCANSO
                                               
       
    • By luisgustavogomes
      Pessoal, boa tarde!
       
      Preciso executar um SP dentro do visualizador de consultas !
       Alguém já conseguiu efetuar essa operação? 
    • By Hugh7777
      Bom tarde sou novo em programação e tenho um pequeno sisteminha para validade de medicamentos estou usando visual studio 2017 sql server 2014 c# asp.net linq to sql gostaria que aparecesse no gridview quantos dias falta para o medicamento vencer e o status se já venceu ou não, nem sei se tem que programar isso no sql ou no c#  e se for no sql ele avisar que o medicamento já venceu? Como faço, tentei fazer de várias formas e nada funciona.
    • By Ed Wilson Marçal Faria
      Boa tarde,
      Preciso criar um relatório com o saldo físico e financeiro do estoque por local e intervalo de tempo. Exemplo: 01/10/2017 a 05/10/2017
      Fiz a SQL, mas retorna apenas os itens que tiveram movimento no período. Por exemplo, um item que teve seu último movimento em 25/09/2017 não aparecerá no período de 01/10/2017 a 05/10/2017:
      with rownumber as(
      select
      ROW_NUMBER() over(partition by a.idprd, a.codloc order by a.sequencial desc)as rownumber
      ,A.SEQUENCIAL 
      ,A.DATAMOVIMENTO
      ,A.IDPRD                                
      ,A.CODLOC
      ,A.SALDOMOV
      ,A.TOTALMOV
      ,A.CUSTOMEDMOV
      ,B.NOMEFANTASIA
      ,case when C.CODTB3FAT='001' then 'Medicamentos'
            when C.CODTB3FAT='002' then 'Materiais' 
      else C.CODTB3FAT end TIPO
      from TRELSLD as A
      inner join tproduto AS B
      on A.idprd=B.idprd
      inner join TPRODUTODEF AS C
      on A.IDPRD=C.IDPRD AND A.CODCOLIGADA=C.CODCOLIGADA
      WHERE A.CODFILIAL=2 and a.IDPRD='38' and A.DATAMOVIMENTO between '2017-10-01 00:00:00.000' and '2017-10-05 00:00:00.000'  )
      select * from rownumber where rownumber=1 and SALDOMOV <> '0.0000'
      order by IDPRD
       
      Obrigado.

    • By henrique bonfim
      Boa tarde, gente.
      Criei um relatório com os seguintes parâmetros CODCCUSTO, CODCOLIGADA e NUMEROMOV.
      Acontece que determinado usuário possui filtros nas tabelas, FLAN.CODCCUSTO, TMOV.CODLOC e GCCUSTO.CODCCUSTO
      SELECT    TMOV.CODCOLIGADA AS 'Cód. coligada', TMOV.CODFILIAL AS 'Cód. filial', GFILIAL.NOMEFANTASIA AS 'Filial', TMOV.CODLOC, TMOV.CODTMV AS 'CODTMOV', TMOV.IDMOV AS 'Identificador', TMOV.NUMEROMOV AS 'Número',
              TMOV.VALORLIQUIDO AS 'Valor líquido', TMOV.VALORBRUTOORIG AS 'Valor bruto', TITMMOV.NSEQITMMOV AS 'ITEM', TITMMOV.IDPRD AS 'IDPRODUTO', TPRODUTO.CODIGOPRD AS 'Cód. produto',
              TPRODUTO.NOMEFANTASIA AS 'Produto', TITMMOV.CODUND AS 'Unidade', TITMMOV.PRECOUNITARIO AS 'Preço unitário', CASE TITMMOV.QUANTIDADE WHEN 0 THEN NULL ELSE TITMMOV.QUANTIDADE END AS 'Quantidade',
              TITMMOV.QUANTIDADETOTAL AS 'Quantidade total', TITMMOV.VALORBRUTOITEM AS 'Valor bruto item', TITMMOV.VALORBRUTOITEMORIG AS 'Valor bruto item origem',
              TITMMOV.VALORDESC AS 'Valor desconto', TMOV.CODCCUSTO AS 'Cod Centro de Custo', GCCUSTO.NOME AS 'Centro de custo', TLOC.CODLOC AS 'Cód. local',
              TLOC.NOME AS 'Local', FCFO.CODCFO AS 'Cód. fornecedor', FCFO.NOMEFANTASIA AS 'Fornecedor', TMOV.DATAEMISSAO AS 'Emissao'
      FROM TMOV WITH(NOLOCK)
      INNER JOIN GFILIAL WITH(NOLOCK) ON GFILIAL.CODCOLIGADA = TMOV.CODCOLIGADA
             AND GFILIAL.CODFILIAL = TMOV.CODFILIAL
      INNER JOIN TLOC WITH(NOLOCK) ON TLOC.CODCOLIGADA = TMOV.CODCOLIGADA
             AND TLOC.CODLOC = TMOV.CODLOC
      INNER JOIN GCCUSTO WITH(NOLOCK) ON GCCUSTO.CODCOLIGADA = TMOV.CODCOLIGADA
             AND GCCUSTO.CODCCUSTO = TMOV.CODCCUSTO
      INNER JOIN TITMMOV WITH(NOLOCK) ON TITMMOV.CODCOLIGADA = TMOV.CODCOLIGADA
             AND TITMMOV.IDMOV = TMOV.IDMOV
      INNER JOIN TPRODUTO WITH(NOLOCK) ON TPRODUTO.IDPRD = TITMMOV.IDPRD
      INNER JOIN FCFO WITH(NOLOCK) ON FCFO.CODCOLIGADA = TMOV.CODCOLCFO
             AND FCFO.CODCFO = TMOV.CODCFO
      WHERE TMOV.NUMEROMOV=:NUMEROMOV AND TMOV.CODCOLIGADA=:CODCOLIGADA AND TMOV.CODTMV='1.1.08' AND TMOV.CODCCUSTO=:CODCCUSTO
      GROUP BY TMOV.IDMOV, TMOV.CODCOLIGADA, TMOV.CODFILIAL, GFILIAL.NOMEFANTASIA, TMOV.CODLOC, TMOV.CODTMV, TMOV.NUMEROMOV, TMOV.VALORLIQUIDO, TMOV.VALORBRUTOORIG, TITMMOV.NSEQITMMOV, TITMMOV.IDPRD,
              TPRODUTO.CODIGOPRD, TPRODUTO.NOMEFANTASIA, TITMMOV.CODUND, TITMMOV.PRECOUNITARIO, TITMMOV.QUANTIDADE, TITMMOV.QUANTIDADETOTAL,
              TITMMOV.VALORBRUTOITEM, TITMMOV.VALORBRUTOITEMORIG,    TITMMOV.VALORDESC, TMOV.CODCCUSTO, GCCUSTO.NOME, TLOC.CODLOC,
              TLOC.NOME, FCFO.CODCFO, FCFO.NOMEFANTASIA, TMOV.DATAEMISSAO
      Porém, ao executar o relatório, surge a seguinte mensagem
      "Erro ao executar relatório
      Erro ao executar relatório
      Erro ao executar sentença.
      Não será possível executar essa consulta, pois não foi possível aplicar o filtro por usuário.
      Essa consulta deverá conter o(s) seguinte(s) campo(s) da tabela GCCUSTO: CODCCUSTO
      Usuário da execução: METROENG\MTPLAN02$"
       
      Observem que o campo GCCUSTO.CODCCUSTO, já está na consulta.
      Também fiz um teste trocando o filtro do usuário da tabela GCCUSTO para a tabela TMOV.CODCCUSTO, que tambpem faz parte da planilha e dos parâmetros do relatório, Retornando o mesmo erro ".... tabela TMOV: CODCCUSTO".
       
      Alguém pode me ajudar?
       
    • By henrique bonfim
      Bom dia.
      Sou novo aqui no fórum. Espero poder ajudar e ser ajudado por todos e a todo aqui.
      Estou com um problema. No ano de 2016, tivemos um problema com unidades base no cadastro de produtos o qual exibia a seguinte mensagem:
      "Conversão não permitida: a unidade de origem UN e a de destino MT possuem unidade base diferente."
      E assim por diante com várias unidades, num total de 85 produtos e em torno de 750 registros do sistema. Uma consultora da filial local, realizou uma alteração via BD onde o problema foi corrigido.
      Detalhe, a versão era a 11.82.xxx
      Acontece que, hoje, ao gerar os Saldos e Custos o mesmo erro voltou a aparecer.
      Executei uma busca no SQL Server usando a consulta
      SELECT TMOV.CODCOLIGADA, TMOV.IDMOV, TMOV.CODTMV, TMOV.NUMEROMOV, TMOV.DATACRIACAO, TITMMOV.NSEQITMMOV, TITMMOV.CODUND, TUND.CODUNDBASE, TPRODUTODEF.IDPRD, TPRODUTO.CODIGOPRD, TPRODUTO.NOMEFANTASIA, TPRODUTODEF.CODUNDCONTROLE, TUND2.CODUNDBASE
      FROM TMOV
      JOIN TITMMOV ON (TMOV.IDMOV = TITMMOV.IDMOV AND TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA)
      JOIN TPRODUTODEF ON(TITMMOV.IDPRD = TPRODUTODEF.IDPRD AND TITMMOV.CODCOLIGADA = TPRODUTODEF.CODCOLIGADA)
      JOIN TUND ON (TITMMOV.CODUND = TUND.CODUND)
      JOIN TUND AS TUND2 ON (TUND2.CODUND = TPRODUTODEF.CODUNDCONTROLE)
      JOIN TPRODUTO ON TPRODUTO.IDPRD=TPRODUTODEF.IDPRD
      WHERE TUND.CODUNDBASE <> TUND2.CODUNDBASE
      ORDER BY TMOV.CODCOLIGADA, TPRODUTO.NOMEFANTASIA
      ... e notei que o trabalho feito pela consultora no ano passado foi desfeito. 
      A pegunta é: Isso pode ter acontecido na atualização do BD, da versão 11.82.xxx para a 12.1.15.154 (atual utilizada). Alguém já passou por algo parecido?
      Ah sim!... Não sou quem faz a atualização do BD. Temos um TI que informa não ter acontecido quaisquer erros no processo. 
      Mas como pode haver essa divergência entre unidade base para produtos com movimentação, e mais ainda, o trabalho realizado pela consultora no BD ter simplesmente desaparecido?!
    • By ChromusMaster
      Alguem já conseguiu desenvolver ou tenha ideia de como buscar um item de movimento onde consiga saber o saldo dele subtraindo a quantidade de entrada com a de saida ?
      At.. Nathann Lucas
  • Recent

×
×
  • Create New...

Important Information

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