Incrementar Data de Emissão em 30 dias (Data_ Vencimento).

Delphi

02/03/2004

Na Minha tabela de Contas a receber existe o campo <DATA_EMISSAO>
e o campo <DATA_VENCIMENTO>, Preciso incrementar o campo <DATA_EMISSAO> em 30 dias o qual deverá ser a DATA_VENCIMENTO.

´MUITO OBRIGADO A QUÉM POSSA ME AJUDAR´

T+


Francisco Waldiney

Francisco Waldiney

Curtidas 0

Respostas

Diogoalles

Diogoalles

02/03/2004

acho q é o q vc precisa

abraço
Diogo


function SomaMes(Data : TDate; N_meses : Integer) : TDate;
var
  I, Meses : Integer;
  Ano, Mes, Dia, DiaFixo : Word;
  inicio, fim : Tdate;
begin
  Meses := n_meses;
  inicio  := data;
  DecodeDate(inicio,ano,mes,dia);
  DiaFixo := dia;
  for I:=1 to Meses do
  begin
    DecodeDate(inicio+(32-Dia), Ano, Mes, Dia);
    inicio := EncodeDate(Ano, Mes, 01);
    Dia  := 01;
  end;
  DecodeDate(inicio+(DiaFixo-Dia), Ano, Mes, Dia);
  result := EncodeDate(Ano, Mes, Dia);
  result := result - 1;
end;



GOSTEI 0
Aroldo Zanela

Aroldo Zanela

02/03/2004

Colega,

var dVencimento: TDateTime;
begin
  dVencimento := IncMonth(dEmissao);
end;


Adicione DateUtils na lista de uses.


GOSTEI 0
Diogoalles

Diogoalles

02/03/2004

Francisco, só um detalhe na função q utilizei, o Result recebe Result - 1
Isso vc terá q ver sua real necessidade, no meu caso eu precisava por exemplo que o Contrato tivesse inicio em 01/01/2003 e fim em 12 meses, o que resultaria em 01/01/2004.. mas o fim para mim devia ser 31/12/2003, então por isso adicionei -1 a data final para descontar sempre um dia.

então ficariam por exemplo
05/02/2004 (+1 mes) 04/03/2004

abraço
Diogo


GOSTEI 0
POSTAR