Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   descontar saldo a credito (https://www.clubdelphi.com/foros/showthread.php?t=81553)

ferglo 24-11-2012 01:42:10

descontar saldo a credito
 
buen dia.

tengo una cnsulta para ustedes.

como puedo restar el saldo de un cliente de varias ventas.
ejemplo:
saldo 1811 abono 1600 saldo nuevo 211


primer factura pendiete 1500 abono 1600 se liquida la factura y quedan 100 buenos.
segunda factura pendiente 311 menos los 100 de la factura anteior saldo nuevo 211 y queda 0

como lo puedo hacer a codigo?

los saldos vienen de dos tablas cliente para el saldo y factura para el pendiente

agradeceria su ayuda.

ecfisa 24-11-2012 08:51:15

Hola ferglo y bienvenido a Club Delphi :).

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Sería importante que nos dieras mas detalles, como por ejemplo que DBMS estas usando y con que componentes te estas conectando con ella.

Saludos.

ferglo 25-11-2012 20:15:46

Cita:

Empezado por ferglo (Mensaje 450377)
buen dia.

tengo una cnsulta para ustedes.

como puedo restar el saldo de un cliente de varias ventas.
ejemplo:
saldo 1811 abono 1600 saldo nuevo 211


primer factura pendiete 1500 abono 1600 se liquida la factura y quedan 100 buenos.
segunda factura pendiente 311 menos los 100 de la factura anteior saldo nuevo 211 y queda 0

como lo puedo hacer a codigo?

los saldos vienen de dos tablas cliente para el saldo y factura para el pendiente

agradeceria su ayuda.

utilizo delphi 2010 base de datos en acces para la conectarma la la base de datos utilizo un adoconecction y para las consultas adoquery.

ecfisa perdon por lo antrior pense que con lo que puse era suficiente y muchas gracias por la bienvenida.

de nuevo muchas gracias por la ayuda que me puedan dar.

Casimiro Notevi 25-11-2012 22:02:29

No sé si con access puedes usar "stored procedures", supongo que no, así que tendrás que hacerlo desde delphi.
Un query que retorne todo los registros en los que debe el cliente, por ejemplo, ordenado por importe.
Recorrer e ir editando cada registro hasta que se acabe el importe pagado.

ferglo 26-11-2012 05:15:03

buen dia ya encontre la solucion que fue esta


Código:

var
C,A,res,x, Valor:REAL;
 flg : boolean;

begin
a:=StrToFloat(cantidad);
  flg := False;

  ADOQuery1.First;
    While not adoquery1.eof do
    begin
      b:=StrToFloat(ADOQUERY1.FieldByName('pendiente').Value);
      if (a > b) then
      Valor := 0
      else
      if a>0 then
        begin
        Valor := b-a;
        flg := True;
        end;
      a := a-b;

      ABONO.Close;
      ABONO.SQL.Clear;
      ABONO.SQL.Add('UPDATE FACTURA SET PENDIENTE=:VALOR WHERE NUMVENTA=:NUMVENTA');
      ABONO.Parameters.ParamByName('NUMVENTA').Value:=ADOQuery1.Fields.FieldByNumber(1).Value;
      ABONO.Parameters.ParamByName('valor').Value:=valor;
      ABONO.ExecSQL;

      if Not flg then
      adoquery1.next
      else
      break;
    end;
end;

el codigo lo saque de este post

clubdelphi.com/foros/showthread.php?t=74911

muchas gracias por su ayuda
espero no romper alguna regla del foro.

Casimiro Notevi 26-11-2012 11:09:44

Estupendo ^\||/


La franja horaria es GMT +2. Ahora son las 08:08:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi