PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Ajuda como adicionar valor em uma parcela #425984

10/10/2012

0

olá, agora no meu projeto estou precisando da seguinte ajuda:

no meu form de solicitação_internet eu tenho um campo numero de parcelas do equipamento, numero de arcelas à gerar, e valor do equipamento,

estes valores eu estou armazenando em variaveis publicas e mandando para meu form de cadastro de parcela, que abre quando eu dou o post do solicitação internet

nesse cadastro de parcelas eu tenho um campo para quantas parcelas eu quero gerar, que está pegando automaticamente da solicitação, o número inicial da parcela, no caso sempre que vir da solicitação vai ser 1 pois significa que é a primeira parcela e o valor da parcela que seria a mensalidade docliente e outros acrescimos que seria o valor do equipamento

no meu caso se na solicitação eu cadastro que o equipamento vale R$200,00 e vou dividir em 4 vezes, e já quero gerar 12 parcelas eu queria que na criação das minhas parcelas ele pegasse esses R$200,00 dividisse em 4 e no caso as 4 primeiras (ou outro valor que eu cadastrar na solicitação) parcelas das 12 que eu mandei gerar viesse o valor da mensalidade + os R$50,00 referente ao equipamento.

No meu caso para gerar automaticamente estas parcelas eu estou entrando no modo edição na primeira vez, salvo todos os valores q eu inserir em variáveis e faço um for para quantas parcelas eu quis gerar e vai copiado os valores das variáveis.

segue o código para vocês darem uma olhada:


begin
// iniciais
    iniciais := PegarInicias(DTM.DTSParcelasClientesnome_cliente.AsString) +
      DBECodigoSolicitacao.Text + '/';

    clientecodsolicitacao := StrToInt(DBECodigoSolicitacao.Text);
    quantosmeses := StrToInt(DBEQuantosMeses.Text);
    meses := StrToInt(EdtQuantosMeses.Text);
    proximaparcela := StrToInt(EdtUltimaParcela.Text);
    clientenomesolicitacao := DBLCodSolicitacao.Text;
    Situacao := DBESituacao.Text;
    datavencimento := StrToDate(DBEDataVencimento.Text);
    datamora := StrToDate(DbeDataMora.Text);
    DataDesconto := StrToDate(DbeDataDesconto.Text);
    DataProtesto := StrToDate(DbeDataProtesto.Text);
    usuario := UntLogin.FrmLogin.EdtLogin.Text;
    DBGrid1.Refresh;
    ValorParcela := DTM.DTSParcelasClientespar_valorparcela.AsCurrency;
    Desconto := DTM.DTSParcelasClientespar_desconto.AsCurrency;
    deducoes := DTM.DTSParcelasClientespar_deducoes.AsCurrency;
    mora := DTM.DTSParcelasClientespar_mora.AsCurrency;
    acrescimos := DTM.DTSParcelasClientespar_acrescimos.AsCurrency;
    valorcobrado := DTM.DTSParcelasClientespar_valorcobrado.AsCurrency;
    DTM.DTSParcelasClientes.cancel;
    // meses, ultimaparcela,contador: Integer;
   
//inicio do FOR!
 for contador := proximaparcela to (proximaparcela + meses - 1) do
    begin

      DTM.DTSParcelasClientes.Insert;
      DTM.DTSParcelasClientespar_nossonumero.AsString :=
        DTM.DTSParcelasClientespar_codigo.AsString;
      DTM.Dtsparcelasclientespar_codigosolicitacao.AsInteger :=
        clientecodsolicitacao;
      // datas inicio
      DTM.DTSParcelasClientespar_datavencimento.AsDateTime :=
        IncMonth(datavencimento, contador - 1);
      DTM.DTSParcelasClientespar_datamora.AsDateTime :=
        IncMonth(datamora, contador - 1);
      DTM.DTSParcelasClientespar_datadesconto.AsDateTime :=
        IncMonth(DataDesconto, contador - 1);
      DTM.DTSParcelasClientespar_dataProtesto.AsDateTime :=
        IncMonth(DataProtesto, contador - 1);
      // datas fim

      DTM.DTSParcelasClientespar_quantosmeses.AsInteger := quantosmeses;
      DTM.DTSParcelasClientespar_valorparcela.AsCurrency := ValorParcela;
      DTM.DTSParcelasClientespar_desconto.AsCurrency := Desconto;
      DTM.DTSParcelasClientespar_deducoes.AsCurrency := deducoes;
      DTM.DTSParcelasClientespar_mora.AsCurrency := mora;
      DTM.DTSParcelasClientespar_acrescimos.AsCurrency := acrescimos;
      DTM.DTSParcelasClientespar_valorcobrado.AsCurrency := ValorParcela -
        Desconto - deducoes + mora + acrescimos;
      DTM.DTSParcelasClientespar_situacao.AsString := Situacao;
      DTM.DTSParcelasClientespar_usuario.AsString := usuario;
      DTM.DTSParcelasClientespar_data_cad.AsDateTime := date;
      DTM.DTSParcelasClientesnome_cliente.AsString := clientenomesolicitacao;

      DbeNumeroDoc.Text := iniciais + IntToStr(contador);

      
      DTM.DTSParcelasClientes.post;

    end;
    self.TrataBotoes;
    DTM.DTSParcelasClientes.Refresh;
    EdtQuantosMeses.Text := '1';

  end;
Jeferson Araujo

Jeferson Araujo

Responder

Posts

11/10/2012

Jeferson Araujo

Desculpa galera... já consegui...

se quiserem ver o código como fiz:

      if numero <= numeroparcelas then
      begin
        
        DTM.DTSParcelasClientespar_acrescimos.AsCurrency:=valorequipamento/numeroparcelas;
        DTM.DTSParcelasClientespar_valorcobrado.AsCurrency := ValorParcela -
        Desconto - deducoes + mora + DTM.DTSParcelasClientespar_acrescimos.AsCurrency;
        Inc(numero);
      end;


no caso o numero eu estou definindo como 1, e o numero de parcelas é aquele que eu recebo da solicitação,
ele ta colocando o valor dividido no acréscimo, calculando o valor cobrado e depois incrementa 1 ao numero, até que ele chegue ao mesmo valor do numero de parcelas, onde ele para de adicionar.

Não estava conseguindo antes pois pensei que devia de fazer com o while
Responder

Gostei + 0

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

Aceitar