Segue exemplo abaixo, espero que o ajude

procedure TFrm_lancaMatricula.SpeedButton1Click(Sender: TObject);
var
Ano, mes, dia: Word;
contparc : integer;
vardata : TDateTime;
v_mnn,v_mcb, dvcb  : Integer ;
nn, DigitoNossoNumero  : String ;
v_dnn  : Real ;
valorint : string[12];
valorfrac: string[2];
begin
if DBEditqtparcelas.Text = '' then
   begin
    Mensagem('Quantidade de Parcelas não informada. Informe a Qtde no intervalo 
de 1...5');
    DBEditqtparcelas.setfocus;
    Abort;
   end;

      // Grava parcelas no historico de Pgtos

      dmgcnet.tblhistpgto.Active := true;
      vardata := Strtodate(dbedit6.text);
      contparc:= 1;
      while contparc <= StrToInt(DBEditqtparcelas.Text) do    ///  o que 
interessa é esta parte, neste laço voce qtde de parcelas

        begin
      dmgcnet.tblhistpgto.Append;
      dmgcnet.tblhistpgto.edit;
     DMGCNET.tblhistpgtoID_MATRICULA.AsString := DBEdit4.Text;
      dmgcnet.tblhistpgtoPARCELA.Value := 
IntToStr(contparc)+'/'+DBEditqtparcelas.Text;;
      dmgcnet.tblhistpgtoNDOC.AsString :=  dmgcnet.tblhistpgtoID_ALUNO.asstring 
+ copy(dbedit2.Text,6,1)+ '0'+ IntToStr(contparc)+ copy(dbedit2.Text,1,4);
      If DBEditmensdif.text <> '' then
         begin
          dmgcnet.tblhistpgtoVALOR.Value := strtofloat( DBEditmensdif.text);
          ValorInt := 
StrZero(IntToStr(Trunc(dmgcnet.tblhistpgto.FieldByName('Valor').AsFloat)), 12); 
 //    FormatCurr('R$ ###0.00',ValorAbatimento)
          ValorFrac := 
Right(FloatToStrF(dmgcnet.tblhistpgto.FieldByName('Valor').AsFloat, ffFixed, 
10,2), 2)
         end
         else
         begin
          dmgcnet.tblhistpgtoVALOR.Value := strtofloat( DBEditvlmensal.text) * 
0.90;
          ValorInt := 
StrZero(IntToStr(Trunc(dmgcnet.tblhistpgto.FieldByName('Valor').AsFloat)), 12);;
          ValorFrac := 
Right(FloatToStrF(dmgcnet.tblhistpgto.FieldByName('Valor').AsFloat, ffFixed, 
10,2), 2) ;
         end;

        case contparc of                  1:begin
                   dmgcnet.tblhistpgtoDTVENCTO.AsDateTime := vardata;
                   dmgcnet.tblhistpgtoMESANO.value := 
copy(datetostr(vardata),4,2)+copy(datetostr(vardata),7,4);
                  end;
                2:begin
                   dmgcnet.tblhistpgtoDTVENCTO.AsDateTime := 
StrToDate(copy(Datetostr(vardata),1,2)+'/'+copy(Datetostr(vardata+31),4,2)+'/'+copy(Datetostr(vardata+31),7,4));
                   dmgcnet.tblhistpgtoMESANO.value := 
copy(datetostr(vardata+31),4,2)+copy(datetostr(vardata+31),7,4);
                  end;
                3:begin
                   dmgcnet.tblhistpgtoDTVENCTO.AsDateTime := 
StrToDate(copy(Datetostr(vardata),1,2)+'/'+copy(Datetostr(vardata+62),4,2)+'/'+copy(Datetostr(vardata+62),7,4));
                   dmgcnet.tblhistpgtoMESANO.value := 
copy(datetostr(vardata+62),4,2)+copy(datetostr(vardata+62),7,4);
                  end;
                4:begin
                   dmgcnet.tblhistpgtoDTVENCTO.AsDateTime := StrToDate(copy(
                     
Datetostr(vardata),1,2)+'/'+copy(Datetostr(vardata+93),4,2)+'/'+copy(Datetostr(vardata+93),7,4));
                   dmgcnet.tblhistpgtoMESANO.value := 
copy(datetostr(vardata+93),4,2)+copy(datetostr(vardata+93),7,4);
                  end;
                5:begin
                   dmgcnet.tblhistpgtoDTVENCTO.AsDateTime := StrToDate(copy(
                     
Datetostr(vardata),1,2)+'/'+copy(Datetostr(vardata+124),4,2)+'/'+copy(Datetostr(vardata+124),7,4));
                   dmgcnet.tblhistpgtoMESANO.value := 
copy(datetostr(vardata+124),4,2)+copy(datetostr(vardata+124),7,4);
                  end;
                6:begin
                   dmgcnet.tblhistpgtoDTVENCTO.AsDateTime := 
StrToDate(copy(Datetostr(vardata),1,2)+'/'+copy(Datetostr(vardata+150),4,2)+'/'+copy(Datetostr(vardata+150),7,4));
                   dmgcnet.tblhistpgtoMESANO.value := 
copy(datetostr(vardata+150),4,2)+copy(datetostr(vardata+150),7,4);
                  end;

         end;
      dmgcnet.tblhistpgtoTPPGTO.AsString := 'MEN';
      dmgcnet.tblhistpgtoPERLETIVO.AsString := dbedit2.Text;
      dmgcnet.tblhistpgtoSTATUS.Value := 'A';

            //Calculo do dígito Verificador do Código de Barras
              cb := '0019'+ Valorint + Valorfrac 
+'999210'+'0000'+Copy(Dmgcnet.tblhistpgtoID_ALUNO.ASSTRING,1,6)+Copy(Dbedit2.text,6,1)+'0'+Inttostr(contparc)+Copy(Dbedit2.text,1,4)+'21';
            
//**********************************************************************************************************************

                 v_dcb := (v_mcb mod 11) ;

              if (11 - v_dcb > 9) OR (11 - v_dcb = 1) OR (11 - v_dcb = 0) then
                begin
                 Dmgcnet.tblhistpgtoCBARRAS.asstring := '0019'+ inttostr(1)+ 
Valorint + Valorfrac 
+'999210'+'0000'+Copy(Dmgcnet.tblhistpgtoID_ALUNO.ASSTRING,1,6)+Copy(Dbedit2.text,6,1)+'0'+inttostr(contparc)+Copy(Dbedit2.text,1,4)+'21';
                 
//***************************************************************************************************************************************
                end
              else
                begin
('0',StrtoFloat(InttoStr(m)))+Dados.sociosS_grupo.value+Dados.sociosS_Cod.value+'064800300000685';
                Dmgcnet.tblhistpgtoCBARRAS.asstring := '0019'+ inttostr(v_dcb)+ 
Valorint + Valorfrac 
+'999210'+'0000'+Copy(Dmgcnet.tblhistpgtoID_ALUNO.ASSTRING,1,6)+Copy(Dbedit2.text,6,1)+'0'+IntToStr(contparc)+Copy(Dbedit2.text,1,4)+'21';;
               end;

               // Calculo DA Linha digitavel recebe valor da funçÃO
                Dmgcnet.tblhistpgtoLDIGITAVEL.AsString := linhadigitavel;

               // Calculo do nosso Número
                 nn  := 
'0000'+Copy(Dmgcnet.tblhistpgtoID_ALUNO.ASSTRING,1,6)+Copy(Dbedit2.text,6,1)+'0'+Inttostr(contparc)+Copy(Dbedit2.text,1,4)
 ;
                 DigitoNossoNumero := Modulo11NN(nn,9);
                 if StrToInt(DigitoNossoNumero) = 10 then
                 DigitoNossoNumero := 'X' ;
                 dmgcnet.tblhistpgtoNNUMERO.AsString := nn + '-' + 
digitonossonumero;

      dmgcnet.tblhistpgto.post;
      contparc := contparc + 1;
     end;
     dmgcnet.TblTurmas.edit;
     dmgcnet.TblTurmasTOTALALUNO.value :=  dmgcnet.TblTurmasTOTALALUNO.value +1;
     dmgcnet.TblTurmas.post;
     DBGtitulos.Visible :=true;
     DMGCNET.TblMatriculas.POST;
     
    end;


www.gcnetinfomatica.net

Giovanni Oliveira
  ----- Original Message ----- 
  From: João S. Araújo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, October 17, 2006 8:06 AM
  Subject: Re: [delphi-br] Gerar parcelas e Cobrança de juros no recebimento


  Olá Giovani,

  estou fazendo o meu contas receber baseado em vendas, então quando solicitio 
  que uma venda seja faturada, abro abro a tela do contas  receber, cadastro 
  o contas no nome do cliente, consulto as vendas do cliente que ainda não 
  foram faturadas, então solicito que a mesmas sejam faturadas, então valor da 
  venda é somado ao valor contas, a partir desse momento tava pensando em 
  chamar atraves de um botão uma tela pra gerar as parcelas, até consegui um 
  função na net pra isso, só que ela gera todas as parcelas de uma vez, e eu 
  estava precisando de algo que possibilitasse ao usuário informa se os 
  valores das prestações são iguais ou se as prestações contem valores 
  diferenciados.

  Obrigado

  João
  ----- Original Message ----- 
  From: "Giovanni Cupertino de Oliveira" <[EMAIL PROTECTED]>
  To: <delphi-br@yahoogrupos.com.br>
  Sent: Tuesday, October 17, 2006 12:20 AM
  Subject: Re: [delphi-br] Gerar parcelas e Cobrança de juros no recebimento


  Como são os títulos gerados pelo seu contas a receber?
  são parcelas mensais ou são parcelas únicas?
  Varia muito  de aplicação e regras do negócio, esta geração. Por exemplo: 
  estou desenvolvendo um sistema para uma escola que gera 5 parcelas fora a 
  matricula. me situe melhor para que eu possa tentar ajudar.

  Giovanni Oliveira
  www.gcnetinformatica.net

    ----- Original Message ----- 
    From: João S. Araújo
    To: delphi-br@yahoogrupos.com.br
    Sent: Monday, October 16, 2006 4:45 PM
    Subject: [delphi-br] Gerar parcelas e Cobrança de juros no recebimento


    Boa tarde pessoal,

    To precisando gerar as parcelas do meu contas a receber e também efeturar 
  a cobrança de juros no recebimento quando o cliente pagar atrasado. Tava 
  precisando de alguns exemplos. Vc6 podem me ajudar...

    Obrigado

    João

    [As partes desta mensagem que não continham texto foram removidas]



  [As partes desta mensagem que não continham texto foram removidas]



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Links do Yahoo! Grupos




   

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a