Incrementar Data de Emissão em 30 dias (Data_ Vencimento).
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+
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
Curtidas 0
Respostas
Diogoalles
02/03/2004
acho q é o q vc precisa
abraço
Diogo
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
02/03/2004
Colega,
Adicione DateUtils na lista de uses.
var dVencimento: TDateTime; begin dVencimento := IncMonth(dEmissao); end;
Adicione DateUtils na lista de uses.
GOSTEI 0
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
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