[firebase-br] Contas a Pagar/Receber-Valor Atual

Edson T. Marques marques em oriontec.com.br
Sáb Fev 11 11:00:06 -03 2006


Obrigado pela dica.

O seguinte: Quando faço uma consulta sobre um sp "seletável", se essa 
consulta tem uma cláusula where como é que o firebird otimisa isso. Ele 
constroi uma nova consulta analizando o código do sp ou simplesmente 
aplica as condições do WHERE sobre o result-set do SP?

por exemplo:

 select DTVENDA, VALORIGINAL, DEBATUAL from sp_CalcularContas (...params...)
 where ID_CLIENTE = 200 and
   DTVENDA between '01-02-06' and '28-02-06'

Faço essa pergunta porque, no caso de eu resolver usar sp 'seletável', 
eu vou ter que dar ao usuário a liberdade de efetuar filtros sobre 
qualquer coluna retornada (afinal, como eu disse, isso é para ser 
apresentado num grid) e nossa estrutura de filtro altera a consulta na 
sua cláusula where e a refaz. Esse é um grande complicador.

se o FB aplicar o where sobre o result set do sp e a saída for eu 
colocar parâmetros para todos os campos afim de prever os possíveis 
filtros e construir o código do sp considerando isso tudo, não tem como.

Desde já agradeço.
[]'s
Edson


Kléber Caneva escreveu:

>Entre usar uma SP e um campo calculado com UDF...
>
>Eu sem duvida partiria para a SP Selecionavel... Com isso esse campo não 
>precisa nem sem uma campo da tabela, apenas um retorno da SP.
>
>A solução com a UDF, o banco iria toda hora ficar calculando... a SP só qdo 
>o usuario quiser consultar..
>
>[]´s
>
>Kléber Caneva
>
>----- Original Message ----- 
>From: "Edson T. Marques" <marques em oriontec.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Sent: Friday, February 10, 2006 2:46 PM
>Subject: [firebase-br] Contas a Pagar/Receber-Valor Atual
>
>
>Olá pessoa, boa tarde.
>
>Um negócio interessante que enfrento e não tenho um padrão algorítmico
>para resolver é a questão das contas a pagar e receber. Do meu ponto de
>vista, Conta a Pagar/Receber possui um atributo que é o Valor Atual a
>ser quitado, ou seja, dado o valor original da compra, se existem
>penalidades ou bonificações às quais o devedor está sujeito caso atrase
>ou antecipe o pagamento então, o valor a ser quitado será recalculado
>com o passar do tempo.
>Nesse contexto, criar uma interface para se mostrar o débito total
>atualisado de um devedor é uma situação bem trivial. No entanto, como o
>requisito que eu tenho é o de mostrar em um grid as contas a receber de
>todos os devedores com a data da compra, a data de vencimento, o valor
>original e o VALOR ATUAL, entre outros, então eu tenho que efetuar os
>cálculos de correção dos valores dos débitos para todos os registros.
>Para resolver este problema estou pensando em duas possibilidades, uma é
>criar um sp que deve ser disparado pelo programador antes de fazer a
>consulta. Assim o campo VALOR ATUAL da tabela de contas a Receber é
>atualizado baseado nas configurações do usuário que vão estar gravadas
>em uma tabela de PARÂMETROS e quando o campo vier na consulta ele já vai
>estar com o seu valor atualizado. A outra é criar uma UDF para aplicar
>os parâmetros sobre o valor de compra e calcular o VALORATUAL sendo esse
>um campo COMPUTED BY que chama a UDF.
>Ambas são operações dispendiosas e não sei se estou no caminho mais
>apropriado.
>
>Gostaria de saber se alguem tem ou teve um problema semelhante e qual o
>seu padrão para solucionar requisitos como essas. Qualquer comentário é
>bem vindo.
>
>Muito obrigado
>Edson
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço 
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>E-mail classificado pelo Identificador de Spam Inteligente Terra.
>Para alterar a categoria classificada, visite
>http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1139589952.100718.25432.arrino.terra.com.br,4898,Des15,Des15
>
>Esta mensagem foi verificada pelo E-mail Protegido Terra.
>Scan engine: McAfee VirusScan / Atualizado em 10/02/2006 / Versão: 
>4.4.00/4694
>Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
>
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>  
>





Mais detalhes sobre a lista de discussão lista