ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Problema no Laço do Contas a Receber [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
ftpadua
Novato
Novato


Registrado: Terça-Feira, 17 de Agosto de 2004
Mensagens: 32

MensagemEnviada: Ter Jul 17, 2007 9:31 am    Assunto: Problema no Laço do Contas a Receber [RESOLVIDO] Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
ftpadua
Novato
Novato


Registrado: Terça-Feira, 17 de Agosto de 2004
Mensagens: 32

MensagemEnviada: Ter Jul 17, 2007 10:21 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
ANDERSON22
Novato
Novato


Registrado: Terça-Feira, 3 de Janeiro de 2006
Mensagens: 75

MensagemEnviada: Ter Jul 17, 2007 11:04 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
ftpadua
Novato
Novato


Registrado: Terça-Feira, 17 de Agosto de 2004
Mensagens: 32

MensagemEnviada: Ter Jul 17, 2007 11:31 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB