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

Trazer Valores De Dois Lançamentos Financeiros Originados De Um Movimento Do Nucleus. (RESOLVIDO)


R.Ferreira

Posts Recomendados


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Pessoal, bom dia

Estou precisando de uma ajuda no seguinte:

Usamos aqui no Nucleus umas formas de pagamento do tipo 95% a vista e 5% para 120 dias. ( usamos para retenções contratuais ), com isso ao fazer o movimento o sistema gera dois lançamentos financeiros no Fluxus, um no valor de 95% do valor bruto e outro no valor de 5% do valor bruto.

E ai usamos um relatório de Aprovação de Pagamento, e nesse relatório quando gerado para esse caso de dois lançamentos gerados a partir de um movimento ele traz uma pagina com o valor de 95% e outra pagina no valor de 5%.

Então preciso que na primeira página, onde é exibido o valor de 95% venha mostrando que existe uma retenção no valor de 5% e na outra pagina dos 5% não venha nada pois já se trata da retenção.

Alguém pode me ajudar ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

pode postar um print do relatório?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Vou montar um documento com as imagens e postarei.

Muito obrigado João.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

João, boa tarde

Segue em anexo um passo a passo explicando o pedido.

Muito obrigado pela ajuda.

Explicação do pedido.rar

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

Entendi sim... esta solução para o problema pode ser uma consulta em SQL?

select case when r=1 then ( 'Retenção Contratual de R$ '+ convert(varchar, cast((select sum(valororiginal) from flan where idmov=:IDMOV and CODCOLIGADA=:CODCOLIGADA )-f.valororiginal AS money), 1))
else null end
from(
select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r
from flan where idmov=:IDMOV
)f
where IDLAN=:IDLAN  and CODCOLIGADA=:CODCOLIGADA 

Editado por João Rodrigo
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

João, bom dia

Muito obrigado pela ajuda!

Mas está retornando vazio.

pode me ajudar?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

João,

Analisando e fazendo testes aqui, na verdade o resultado está caindo no else que retorna NULL.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Outro detalhe que percebi é que na sentença do r (select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r ) está sendo ordenada pelo idlan, e sempre o idlan da retenção contratual é maior que a dá primeira parcela.

Mas fiz um teste mudando para valororiginal mas mesmo assim continua caindo no NULL.

Editado por R.Ferreira
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

Pelo o que eu entendi de seus anexos era para funcionar:

select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r

from flan where idmov=:IDMOV

nesta query, será retornado todos os lançamentos de um movimento, ordenando pelo idlan

e aqui é tratado quando é o primeiro lançamento, retornando a mensagem ou null quando não for:

select case when r=1 then ( 'Retenção Contratual de R$ '+ convert(varchar, cast((select sum(valororiginal) from flan where idmov=:IDMOV and CODCOLIGADA=:CODCOLIGADA )-f.valororiginal AS money), 1))

else null end

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Pois é, a logica usada foi muito boa, porém nos testes que fiz e mudando algumas coisas cai apenas no else.

Tem alguma coisa haver se o lançamento da retenção sempre é o segundo idlan gerado ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

veja o resultado.

resultado.rar

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

João,

Fiz uns ajustes alterando o valor de r e informando o campo codcoligada na sentença:

select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r

from flan where idmov=:IDMOV

e então deu certo.

veja em anexo:

Muito obrigado pela ajuda!!

resultado correto.rar

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

João,

Gostaria de saber se consigo agora, quando imprimir o relatório do lançamento referente a própria retenção não viesse o texto 'Retenção Contratual de R$ '

Pois o lançamento já é a própria retenção.

O ideal seria cair no else, caso fosse a própria retenção.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

é ai que entra a outra query, ou melhor, o case da outra query...

por exemplo:

esta query vai gerar este resultado :

select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r

from flan where idmov=:IDMOV

CODCOLIGADA, idlan, valororiginal, r

1 , 13, 95, 1 ( primeira parcela)

1 , 14, 5, 2 (retenção)

com base nessa query, é feito o case onde passamos o idlan e conseguir comparar qual parcela estamos "vendo", se passar o idlan=13 o valor de r será igual a 1 e com isso a mensagem é exibida.

já se passarmos o idlan=14 o valor de r será 2 e não teremos retorno (null)

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  100
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  624
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

João, é isso mesmo !

Fiz apenas uns ajustes como te disse anteriormente e fiz o teste completo e deu tudo certo:

SQL ajustada:

SELECT CASE WHEN R=2 THEN ( 'RETENÇÃO CONTRATUAL DE R$ '+ CONVERT(VARCHAR, CAST((SELECT SUM(VALORORIGINAL)

FROM FLAN WHERE IDMOV=:P_IDMOV AND CODCOLIGADA=:P_CODCOLIGADA )-F.VALORORIGINAL AS MONEY), 1))

ELSE 'NÃO POSSUI RETENÇÃO CONTRATUAL!' END

FROM(SELECT CODCOLIGADA, IDLAN, VALORORIGINAL, ROW_NUMBER() OVER(ORDER BY VALORORIGINAL ) AS R

FROM FLAN WHERE IDMOV=:P_IDMOV AND CODCOLIGADA=:P_CODCOLIGADA)F

WHERE IDLAN=:P_IDLAN AND CODCOLIGADA=:P_CODCOLIGADA

Muito obrigado mais uma vez !

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.