R.Ferreira Postado 10 de Julho de 2013 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 Denunciar Compartilhar Postado 10 de Julho de 2013 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 ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 12 de Julho de 2013 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 Denunciar Compartilhar Postado 12 de Julho de 2013 pode postar um print do relatório? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 12 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 12 de Julho de 2013 Vou montar um documento com as imagens e postarei. Muito obrigado João. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 17 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 17 de Julho de 2013 João, boa tarde Segue em anexo um passo a passo explicando o pedido. Muito obrigado pela ajuda. Explicação do pedido.rar Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 17 de Julho de 2013 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 Denunciar Compartilhar Postado 17 de Julho de 2013 (editado) 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 18 de Julho de 2013 por João Rodrigo Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 18 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 18 de Julho de 2013 João, bom dia Muito obrigado pela ajuda! Mas está retornando vazio. pode me ajudar? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 18 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 18 de Julho de 2013 João, Analisando e fazendo testes aqui, na verdade o resultado está caindo no else que retorna NULL. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 18 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 18 de Julho de 2013 (editado) 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 18 de Julho de 2013 por R.Ferreira Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 18 de Julho de 2013 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 Denunciar Compartilhar Postado 18 de Julho de 2013 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 18 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 18 de Julho de 2013 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 ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 18 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 18 de Julho de 2013 veja o resultado. resultado.rar Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 18 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 18 de Julho de 2013 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 18 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 18 de Julho de 2013 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. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 18 de Julho de 2013 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 Denunciar Compartilhar Postado 18 de Julho de 2013 é 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) Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
R.Ferreira Postado 19 de Julho de 2013 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 Autor Denunciar Compartilhar Postado 19 de Julho de 2013 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 ! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.