Fórum loop na data e na parcela #368034

29/01/2009

0

Olá amigos tenho um formulario de pagamento que consta valor da compra, numero de parcelas e valor da parcela. onde tem um campo que recebe o valor da parcela sesultado da divisão .
o que eu quero é que ao enviar o pagamento p/ contas a receber o loop acrescente 30 dias em cada mês ja que a compra foi parcelada em 30, 60 e 90 dias e coloque o numero em cada parcela tipo pacela 1, 2, 3.

no código abaixo ele ta fazendo um loop infinito.
gostaria de ajuda sou novado...



procedure TFPagamentos.BitBtn1Click(Sender: TObject);
begin

cdsreceber.open;

while Dm.Venda.Eof do
begin

CdsReceber.Insert;
CdsreceberIDREC.Value:=DM.Gera_Novo_codigo(´CONTASRECEBER´);
CdsReceberDESCRICAO.Value:=Dm.VendaCLIENTE.Value;
CdsReceberDATA.Value:=DM.vendaDATA_VENDA.Value;
CdsReceberVALOR.Value:=Dm.vendaNP.value;
CdsReceberOrigem.Value:=Dm.TIPOPAG.Value;
CdsReceberVALOR.Value:=StrToFloat(EdtParcela.text);
CdsReceberIDPED.Value:=Dm.PedidosIDPED.Value;
CdsReceber.POST;
CdsReceber.next;
CdsReceber.ApplyUpdates(0);
end;


de já agradeço
_________________
Unnix


Benilton

Benilton

Responder

Posts

07/02/2009

Lightshine

É só vc criar um loop finito amigo. Por exemplo, vc tem um campo que corresponde ao numero de parcelas certo? É só vc fazer o seguinte:

var I: Integer;
begin
I:= 1;
for I := 1 to NumeroParcelas do
begin
I := I+1;
// Aqui estara o codigo para geração dos registros
end;

Quando chegar ao numero de parcelas o sistema sai do loop e continua conforme o restante do seu codigo

Lembrando que para incrementar 1 mes numa data é so usar uma função pré-definida na uses do formulario: DateUtils.
Data := incMonth(Data,1);

O 1 é a quantidade de meses que será acrescentada a data em questao.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar