Dias de Atraso! Ajuda

Delphi

CRUD - Delphi

09/11/2021

Olá, alguém pede me mostrar como conseguir dias de Atraso de uma conta! Se está paga mostrar quantos dias de Atraso, se aberta mostrar quantos dias também.
Upmilk

Upmilk

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

09/11/2021

var
  vencimento, pagamento: TDate;
  nDiasAtraso: extended;
begin
  vencimento := Trunc(ClientDataSet1.FieldByName('vencimento').AsDateTime);
  pagamento := Trunc(ClientDataSet1.FieldByName('pagamento').AsDateTime);

  if pagamento = 0 then // se não há data de pagamento, assume a data atual
    pagamento := System.SysUtils.Date;

  nDiasAtraso := System.Math.Max(pagamento - vencimento, 0);

  ShowMessage(nDiasAtraso.ToString);
end;

GOSTEI 1

Mais Respostas

Upmilk

Upmilk

09/11/2021

var
  vencimento, pagamento: TDate;
  nDiasAtraso: extended;
begin
  vencimento := Trunc(ClientDataSet1.FieldByName('vencimento').AsDateTime);
  pagamento := Trunc(ClientDataSet1.FieldByName('pagamento').AsDateTime);

  if pagamento = 0 then // se não há data de pagamento, assume a data atual
    pagamento := System.SysUtils.Date;

  nDiasAtraso := System.Math.Max(pagamento - vencimento, 0);

  ShowMessage(nDiasAtraso.ToString);
end;




Show! procurei muito por isso, eu queria mais uma ajuda sua para imprimir nDiasAtraso no FastReport! com esse código eu consegui usando um variável, mais mostrou mesma data para todos os registros.
sou iniciante, não sei como fazer, tenho um campo na tabela DIFE_DATA mais não esta preenchido!
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

09/11/2021

você pode trazer essa conta numa instrução SQL, porque é dinâmica, não dá pra guardar num campo, principalmente se o título estiver em aberto, porque a cada dia que passa a informação é diferente.

GOSTEI 0
Emerson Nascimento

Emerson Nascimento

09/11/2021

ou ainda criar um campo calculado pra fazer isso em tempo-real.
GOSTEI 0
Upmilk

Upmilk

09/11/2021

ou ainda criar um campo calculado pra fazer isso em tempo-real.

Boa noite
Não estou conseguindo, queria mais uma ajuda sua
estou com esse codigo
with FDQuery_Padrao do begin
FDQuery_Padrao.Close;
FDQuery1.SQL.Add('');
FDQuery1.Params.Clear;
FDQuery1.SQL.Clear;
FDQuery1.SQL.Add('SELECT DATA_CADASTRO_SAIDA, DATA_ENTRADA FROM MOVIMENTACAO ');
FDQuery1.SQL.Add('WHERE DATA_CADASTRO_SAIDA LIKE :PDATASAIDA');
FDQuery1.SQL.Add('WHERE DATA_ENTRADA LIKE :PDATAENTRADA');
FDQuery_Padrao.Open;

vencimento := Trunc(FDQuery1.ParamByName
('PDATASAIDA').AsDateTime);
pagamento := Trunc(FDQuery1.ParamByName('PDATAENTRADA')
.AsDateTime);

if pagamento = 0 then // se não há data de pagamento, assume a data atual
pagamento := System.SysUtils.Date;
nDiasAtraso := System.Math.Max(pagamento - vencimento, 0);


// -- Imprimir Variavel no FastReport-------------
pFrxReport.Variables['NovaData'] := (nDiasAtraso);
END;
end;
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

09/11/2021

conseguiu resolver?
GOSTEI 0
POSTAR