 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
paulinhofeix Aprendiz

Registrado: Quinta-Feira, 15 de Junho de 2006 Mensagens: 130
|
Enviada: Sex Fev 23, 2007 6:47 pm Assunto: Calculo de Juros com procedure |
|
|
Boa Tarde
Alguém pode me ajudar nesta procedure já tentei de tudo mais só me
retorna um registro, quando coloco a opção de cálculos de juros nos títulos vencidos
--------------------------------------------------------------------------
--Select * From SALDO_PRODUTOS_CLIENTE (1,1,2,1,1,1,'01.01.2007','12.12.2007','26.01.2007',1.5)
Juros_Diarios =0;
Conta_Dias = 0;
Juros_Diarios_por_Dia = 0;
TOTAL_JURO = 0;
Juros_Diarios = :TASA_JORO / 30;
For Select
a.REC_VENTA, a.REC_GERAL, a.FECHA, a.FECHA2, a.BOLETA, a.HISTORICO,
Coalesce(a.DEBITO,0), Coalesce(a.SALDO,0), Coalesce(a.Pago,0),
c.CODIGO_PRODUTO, c.PRODUTO_TEXT, c.UNIDAD, c.CANTIDAD, c.PRECIO_VENTA, c.TOTAL_VENTA
From Cuentas_Clientes a
Left JOIN Sub_Factura c on(a.REC_VENTA = c.REC_FACTURA)
Where a.ANULA = 1 and a.EMPRESA = :EMPRESA01 and a.FILIAL = :FILIAL01 and a.CLIENTE = :CLIENTE01 and
a.MONEDA = :MONEDA01 and a.GRANO = :GRANO01 and a.SAFRA = :SAFRA01 and a.PAGO_NO_PAGO = 1
Order by a.Fecha2, a.REC_CUENTAS_CLIENTES asc
Into :PREGISTRO, :PREC_GERAL, :PFECHA, :PFECHA2, :PBOLETA, :PHISTORICO, :PDEBITO, :PSALDO, :PPAGO,
FCODIGO, :FPRODUTOS, :FUNIDAD, :FCANTIDAD, :FPRECIO, :FTOTAL do
-----Nesta opção se eu retiro esta opção aqui para baixo daí mostra todos os registros se deixo retorna um só registro.
-----o serra que ele so me retorna as faturas vencidas?, só que ele deveria retornar todos os títulos sejam vencidas ou não por que eu quero trazer num relatório para o cliente e os vencidos já mostrando o juros de cada titulo.
Begin
--Inicia o calcular o juro-----
if (FECHA_BASE > PFECHA2 ) then
Begin
Conta_Dias = FECHA_BASE - PFECHA2; --contas quantos dias já venceram
Juros_Diarios_por_Dia = ( Juros_Diarios * Conta_Dias) * (PSALDO /100); ---Calcula a porcentagem Juro
TOTAL_JURO = + :Juros_Diarios_por_Dia;
end
end
suspend;
Paulinho... |
|
| Voltar ao Topo |
|
 |
thomazs Moderador


Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Sáb Fev 24, 2007 5:10 pm Assunto: |
|
|
Só está aparecendo 1 registro (e é o último do laço se você for prestar atenção) pq é a instrução suspend que faz com que o resultado seja passado para as variáveis de saída. Diferente de outros bancos (postgree, mysql) que só repassam os dados ao final da procedure, o firebird manda a cada Suspend. Para resolver seu problema, coloque o Suspend; dentro do laço do for select ... do begin _________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|