Forma de Pagamento

Delphi

28/12/2006

Bom Dia a todos
estou precisando de uma ajuda em como desenvolver o cadastro de forma de pagamento
exemplo tenho uma fatura de R$1.000,00 quero dividir em 5x dai jah é gerada 5 duplicatas de R$200,00 com as datas de vencimento caindo sempre em apenas dias uteis...
não estou conseguindo manipular as datas para gerar cada duplicata para cada mês..se fosse possivel gostaria de gerar dentro de um grid para poder alterar os dias dos venciementos.......
obrigado pelo ajuda

$UCE$$O a todos em 2007


$grandaum$

$grandaum$

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

28/12/2006

Colega,

Geralmente, utilizo um formulário denominado ´Negociação´ e uma das etapas tem algo parecido com o que você procura:

var I, N: SmallInt;
Data: TDateTime;
    Restante, Parcela: Currency;
    Coincidir: Boolean;
begin
cds.EmptyDataSet;

  if rxLiquido.Value<=0 then
  begin
  MessageDlg(´Nenhum valor líquido para parcelar.´, mtInformation, [mbCancel], 0);
    exit;
end;

  if cbxFormas.Text=´´ then
  begin
  MessageDlg(´Selecione a forma de pagamento.´, mtInformation, [mbOK], 0);
    exit;
  end;

  Parcela:= RoundTo(rxLiquido.Value / rxQtdeParcelas.AsInteger, -2);
  Restante  := rxLiquido.Value;
  N:= rxQtdeParcelas.AsInteger;
Data:= dtpPrimeira.Date;
Coincidir:= false;

  if (rxIntervalo.Value=30) and (MessageDlg(´Ajustar data de vencimento para o mesmo dia?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
  begin
Coincidir:= true;
  end;
  
for I := 1 to N do
  begin

  cds.Append;
    CDSDATA.Value:= Data;
    CDSVALOR.Value:= ifThen(I<>N, Parcela, Restante);
    cds.Post;

    if Coincidir then
    Data:= IncMonth(Data, 1)
    else
  Data:= dtpPrimeira.Date+(I*rxIntervalo.AsInteger);
  Restante := Restante - Parcela;
  end;
  
end;


CDS = ClientDataSet


GOSTEI 0
POSTAR