Dias de Atraso! Ajuda

09/11/2021

13

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.
Demilk

Demilk

Responder

Post mais votado

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;

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

09/11/2021

Demilk

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!
Responder

09/11/2021

Demilk

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.

Responder

09/11/2021

Emerson Nascimento

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

12/11/2021

Emerson Nascimento

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;
Responder

20/11/2021

Demilk

conseguiu resolver?
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar