| jescudeiro Aprendiz
 
  
 
 Registrado: Segunda-Feira, 2 de Abril de 2012
 Mensagens: 261
 Localização: ribeirao preto
 
 | 
			
				|  Enviada: Seg Mar 01, 2021 12:32 pm    Assunto: Alterar o filtro de pesquisa na procedure. |   |  
				| 
 |  
				| Boa tarde, Tenho uma procedure em SQL Server 2014.
 gera consulta de contas a pagar.
 O usuário pode escolher se quer filtrar por data de emissão, vencimento ou pagamento e não sei como implementar essa parte.
 Nas 3 ultimas linhas tem minha tentativa, porém da erro.
 obrigado
 
 ALTER PROCEDURE pRelatorioPagarGeral
 
 @dInicio DateTime,
 @dFim DateTime,
 @CodFornecedor   Int,
 @CodHistorico    Int,
 @CodTipo         Int,
 @CodBanco        Int,
 @CodEmpresa      Int,
 @TpData          Int = 0,
 @PagarPagasTodas Int = 0
 
 as
 
 -- EXEC pRelatorioPagarGeral '01-01-2020','31-12-2025',3,null,Null,null,null,null,null
 
 BEGIN
 
 SELECT
 p.Chave,
 p.VlrPago,
 p.VlrDevido,
 p.CodCompra,
 Dbo.fncFormataString(p.CodFornecedor,5,'0') + ' - ' + COALESCE(f.RazaoSocial,f.Nome) as Fornecedor,
 t.Descricao as TipoPagamento,
 p.NCheque,
 p.DtPedido,
 p.DtVencimento,
 p.NroTitulo,
 Dbo.fncFormataString(p.NParcela,3,'0') + ' / ' + Dbo.fncFormataString(p.QddParcelas,3,'0') as nParcelas,
 p.NroNota,
 p.observacao1,
 p.observacao2,
 p.DtPagamento,
 p.CodCcusto,
 p.CodBanco,
 p.CodEmpresa
 FROM
 Pagar p
 
 Inner Join
 Fornecedores f
 on
 p.CodFornecedor = f.Codigo
 
 Inner Join
 TipoPagto t
 on
 t.Codigo = p.CodTipo
 
 WHERE
 (@CodFornecedor  IS NULL OR (p.CodFornecedor   = @CodFornecedor)) AND
 (@CodHistorico   IS NULL OR (p.CodCcusto       = @CodHistorico))  AND
 (@CodBanco       IS NULL OR (p.CodBanco        = @CodBanco    ))  AND
 (@CodEmpresa     IS NULL OR (p.CodEmpresa      = @CodEmpresa  ))  AND
 (@CodTipo        IS NULL OR (p.CodTipo         = @CodTipo     ))  AND
 
 CASE  @TpData WHEN 0 THEN p.DtEmissao between @dinicio and @dfim
 CASE  @TpData WHEN 1 THEN p.DtVencimento between @dinicio and @dfim
 CASE  @TpData WHEN 2 THEN p.DtPagamento between @dinicio and @dfim
 
 
 
 END
 |  |