Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Gerar Quantidades X De Parcelas


robinhocne
 Share

Question

Estou fazendo um cadastro de lançamento e gostaria de fazer assim:

Tenho um campo que se chama quantidade de parcela e nesse campo por exemplo a gente coloca 6 parcela e tenho um botão para gerar essas parcelas, mas como eu faço isso para que o valor que eu colocar no campo gerar as quantidades de parcelas e mostrar no grid?

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Olá Robinhocne

Você terá que fazer um Loop com FOR ou WHILE para ele ir gravando informações até atingir o número de parcelas digitadas.

Eu utilizo da seguinte maneira:

for X := 1 to Parcelas do
    begin
      ADOQuery1.Append;

AQUI VOCÊ ADICIONA OS COMANDOS DE GRAVAÇÃO DE DADOS NA SUA TABELA

      ADOQuery1.Post;
    end;

Bom resumidamente é isso ....

eu uso e funciona certinho...

Alexandre

Link to comment
Share on other sites

  • 0
Olá Robinhocne

Você terá que fazer um Loop com FOR ou WHILE para ele ir gravando informações até atingir o número de parcelas digitadas.

Eu utilizo da seguinte maneira:

for X := 1 to Parcelas do
    begin
      ADOQuery1.Append;

AQUI VOCÊ ADICIONA OS COMANDOS DE GRAVAÇÃO DE DADOS NA SUA TABELA

      ADOQuery1.Post;
    end;

Bom resumidamente é isso ....

eu uso e funciona certinho...

Alexandre

Como assim....

Dados da Tabela

Aluno = Busca o nome do aluno na tabela de alunos

Tipo = Entrada ou saida

QtParcelas = Quantidade de parcelas

Vencimento = 'No caso aqui seria um dia Util ex.: 15 de cada mes na "quantidade de parcelas"'

Como poderia atribuir esses dados e favorecer nessa tabela?

Link to comment
Share on other sites

  • 0
Como assim....

Dados da Tabela

Aluno = Busca o nome do aluno na tabela de alunos

Tipo = Entrada ou saida

QtParcelas = Quantidade de parcelas

Vencimento = 'No caso aqui seria um dia Util ex.: 15 de cada mes na "quantidade de parcelas"'

Como poderia atribuir esses dados e favorecer nessa tabela?

robinhocne, se você quer um exemplo mais específico, seria melhor você especificar:

- banco de dados utilizado;

- componente de acesso ao banco (ADO, DBE, DBExpress,...)

- Nome das tabelas envolvidas (há uma que você define a qtd da parcela, mas dever haver a outra que corresponde às parcelas), bem como campos.

O que o colega Vivendo&Aprendendo colocou é o básico da coisa, não tem mistério, você vai ter que adicionar um registro na tabela das parcelas para cada enlace do for.

Link to comment
Share on other sites

  • 0
Como assim....

Dados da Tabela

Aluno = Busca o nome do aluno na tabela de alunos

Tipo = Entrada ou saida

QtParcelas = Quantidade de parcelas

Vencimento = 'No caso aqui seria um dia Util ex.: 15 de cada mes na "quantidade de parcelas"'

Como poderia atribuir esses dados e favorecer nessa tabela?

robinhocne, se você quer um exemplo mais específico, seria melhor você especificar:

- banco de dados utilizado;

- componente de acesso ao banco (ADO, DBE, DBExpress,...)

- Nome das tabelas envolvidas (há uma que você define a qtd da parcela, mas dever haver a outra que corresponde às parcelas), bem como campos.

O que o colega Vivendo&Aprendendo colocou é o básico da coisa, não tem mistério, você vai ter que adicionar um registro na tabela das parcelas para cada enlace do for.

Banco de Dados = Firedird

Componente de Conexão = IBQuery, IBTable, IBTransaction.

Tabelas Envolvidas = Será no Caso duas a tabela de Alunos e Lancamentos.

Dados da Tabela de Lancamento

Codigo > Busca do ALuno na tabela Aluno

Status > Se é Entrada ou saida.

Parcelas > Quantidade de parcelas * onde vai falar a quantidade de parcelas a serem gerados

Vencimento > Data de vencimento das parcelas (' no caso aki Micheus eu não sei como e o que fazer, digo queria assim: por exemplo um dia util de vencimento e ai gerar todas as parcelas apartir desse dia')

Valor > Valor de cada parcela

Emissão > Current_Date.

Link to comment
Share on other sites

  • 0

robinhocne, em algum momento estas informações são preenchidas certo?!

...
  LancamentosCodigo .Value := 
  LancamentosStatus.Value := 
  LancamentosParcelas.Value := 
  LancamentosVencimento.Value := 
  LancamentosValor.Value := 
  LancamentosEmissão.Value := Date;
...

Esta tabela Lancamentos parece ser um "header", então as parcelas serão geradas e armazenadas em que tabela?

Vencimento > Data de vencimento das parcelas (' no caso aki Micheus eu não sei como e o que fazer, digo queria assim: por exemplo um dia util de vencimento e ai gerar todas as parcelas apartir desse dia')
este dia de vencimento a partir do qual você quer gerar os vencimentos, não será informado pelo usuário?

Por acaso você queria que fosse informado algo como vencimento todo dia 10 do mês?

Se os vencimentos calculados, cairem em num final de semana, o vencimento deverá ser alterado para o próximo dia útil, é isto?

Link to comment
Share on other sites

  • 0
robinhocne, em algum momento estas informações são preenchidas certo?!

...
  LancamentosCodigo .Value := 
  LancamentosStatus.Value := 
  LancamentosParcelas.Value := 
  LancamentosVencimento.Value := 
  LancamentosValor.Value := 
  LancamentosEmissão.Value := Date;
...
Esta tabela Lancamentos parece ser um "header", então as parcelas serão geradas e armazenadas em que tabela?
Vencimento > Data de vencimento das parcelas (' no caso aki Micheus eu não sei como e o que fazer, digo queria assim: por exemplo um dia util de vencimento e ai gerar todas as parcelas apartir desse dia')
este dia de vencimento a partir do qual você quer gerar os vencimentos, não será informado pelo usuário? Por acaso você queria que fosse informado algo como vencimento todo dia 10 do mês? Se os vencimentos calculados, cairem em num final de semana, o vencimento deverá ser alterado para o próximo dia útil, é isto?
Resolvido Fiz dessa maneira no Botão Gerar Parcelas.
procedure Tfrmcadlan.SpbGeParClick(Sender: TObject);
var a, prazo : integer; data : TDate;
begin
   if ( not tblPar.Active ) then tblPar.Open else tblPar.EmptyTable;
   
   data  := StrToDate( txtVen.Text );

   prazo := 30;

   for a := 1 to StrToInt( txtPar.Text ) do
   begin
      with tblPar do
      begin
         Insert;
         Fields[00].AsInteger  := a;
         Fields[01].AsDateTime := data;
         Fields[02].AsCurrency := StrToFloat( txtVal.Text );
         Post;
      end;
      data := ( data + prazo );
   end;
end;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...