Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Gerar Quantidades X De Parcelas


robinhocne

Pergunta

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 para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...