GARANTIR DESCONTO

Fórum Dias de Atraso! Ajuda #617101

09/11/2021

0

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

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

Gostei + 1

Mais Posts

09/11/2021

Upmilk

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

Gostei + 0

09/11/2021

Emerson Nascimento

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

Gostei + 0

09/11/2021

Emerson Nascimento

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

Gostei + 0

12/11/2021

Upmilk

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

Gostei + 0

20/11/2021

Emerson Nascimento

conseguiu resolver?
Responder

Gostei + 0

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

Aceitar