Forma de Pagamento
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
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$
Curtidas 0
Respostas
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:
CDS = ClientDataSet
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