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

Registrado: Terça-Feira, 17 de Agosto de 2004 Mensagens: 32
|
Enviada: Ter Jul 17, 2007 9:31 am Assunto: Problema no Laço do Contas a Receber [RESOLVIDO] |
|
|
Bom dia galera.
Estou com uma rotina aqui no contas a Receber que nao estou conseguindo achar a solução...
Bom é o seguinte, o usuario seleciona o cliente, e vai baixar 700,00 por exemplo, daí o sistema pega os 700,00 e vai baixando em todos os pedidos em aberto q estiver, até acabar com os 700,00...
Exemplo
Ped. Valor - Vl Baixado
Ped. 0001 - 200,00 - 200,00
Ped. 0001 - 200,00 - 200,00
Ped. 0001 - 200,00 - 200,00
Ped. 0001 - 200,00 - 100,00
entaum, a rotina q estou fazendo começa a baixar errado, e nao sei o que esta de errado. alguem tem uma ideia o q pode ser?
valor := StrToFloat(edit1.text);
f_dados.Tb_Pedidos.First;
While Not(F_dados.Tb_Pedidos.Eof) do
begin
If f_dados.Tb_PedidosCod_Cli.Value = cliente then
if f_dados.Tb_PedidosCondPagto_Ped.Value = 2 then
if f_dados.Tb_PedidosSaldoReceb.Value > 0 then
Begin
If valor <f_dados> f_dados.Tb_PedidosSaldoReceb.Value then
begin
f_dados.Tb_Pedidos.Edit;
f_dados.Tb_PedidosVlReceb_Ped.Value := f_dados.Tb_Pedidostotalpedido.Value - f_dados.Tb_PedidosVlReceb_Ped.Value;
valor := valor - (f_dados.Tb_Pedidostotalpedido.Value - f_dados.Tb_PedidosVlReceb_Ped.Value);
f_dados.Tb_Pedidos.Post;
end;
end;
f_Dados.Tb_Pedidos.Next;
end;
Editado pela última vez por ftpadua em Ter Jul 17, 2007 11:52 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
ftpadua Novato

Registrado: Terça-Feira, 17 de Agosto de 2004 Mensagens: 32
|
Enviada: Ter Jul 17, 2007 10:21 am Assunto: |
|
|
Vou tentar esplicar de outra maneira...
é como se tivesse 700,00 e isse distribuindo entre diversos lançamentos, pagando os Pedidos...
até acabar com os saldo de 700,00...
bom, nao sei sei fui claro, mas espero q alguem me ajude...
Vlw |
|
Voltar ao Topo |
|
 |
ANDERSON22 Novato

Registrado: Terça-Feira, 3 de Janeiro de 2006 Mensagens: 75
|
Enviada: Ter Jul 17, 2007 11:04 am Assunto: |
|
|
ftpadua, qual seria o critério de ordem para essas baixas? Por data de vencimento ou código do Pedido? Só uma idéia, você pode tentar utilizar trigger e seria muito importante guardar o valor que deseja baixar para futuras verificações, em seu exemplo citado, os 700,00. |
|
Voltar ao Topo |
|
 |
ftpadua Novato

Registrado: Terça-Feira, 17 de Agosto de 2004 Mensagens: 32
|
Enviada: Ter Jul 17, 2007 11:31 am Assunto: |
|
|
Galera consegui achar o problema, é que eu estava salvando o valor depois de alterá-lo...
erro de principiante.... rsrsrs
valeu a todos pela atenção.
Código: |
f_dados.Tb_Pedidos.First;
While Not(F_dados.Tb_Pedidos.Eof) do
begin
If f_da,os.Tb_PedidosCod_Cli.Value = cliente then
if f_dados.Tb_PedidosCondPagto_Ped.Value = 2 then
if f_dados.Tb_PedidosSaldoReceb.Value > 0 then
Begin
If valor < f_dados.Tb_PedidosSaldoReceb.Value then
begin
f_dados.Tb_Pedidos.Edit;
f_dados.Tb_PedidosVlReceb_Ped.Value := valor;
f_dados.Tb_Pedidos.Post;
valor := valor - f_dados.Tb_PedidosVlReceb_Ped.Value;
end;
if f_dados.Tb_PedidosSaldoReceb.Value < valor then
begin
// O UNICO ERRO ERA QUE NAO ESTAVA COLOCANDO O SALDO, DAÍ RETORNAVA O VALOR ERRADO
saldo := f_dados.Tb_Pedidostotalpedido.Value - f_dados.Tb_PedidosVlReceb_Ped.Value;
f_dados.Tb_Pedidos.Edit;
f_dados.Tb_PedidosVlReceb_Ped.Value := f_dados.Tb_Pedidostotalpedido.Value - f_dados.Tb_PedidosVlReceb_Ped.Value;
f_dados.Tb_Pedidos.Post;
valor := valor - saldo;
end;
end;
f_Dados.Tb_Pedidos.Next;
end;
| [/b] |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|