Pular para o conteúdo principal

CFC001.R001 — Intervalos de data do filtro exigem início menor ou igual ao fim

Módulo: CFC001 · Menu: Financeiro > Consultas > Contas / Cheques / Adiantamentos Classificação: intencional · Relevância: sistemica

Regra​

Nos pares de data do filtro (Emissão, Vencimento) e no período de registro usado na impressão do relatório, a data inicial não pode ser maior que a data final e vice-versa.

Quando dispara​

Ao sair de qualquer um dos campos de data inicial/final desses pares, já com os dois preenchidos.

Mensagem exibida​

A Data Inicial não pode ser Maior que a Data Final! / A Data Final não pode ser Menor que a Data Inicial! (e variações para Vencimento e Período de Registro)

Como o usuário resolve​

Corrigir a data inicial ou final informada para que o intervalo fique coerente.

Evidência​

ArquivoLinhasRotinaO que o trecho faz
source/CFC001/UdmCFC001.pas452-465TdmCFC001.tabFILTRODT_INICIALValidateCompara data inicial e final de emissão do filtro.
source/CFC001/UdmCFC001.pas467-480TdmCFC001.tabFILTRODT_INIVENCValidateCompara data inicial e final de vencimento do filtro.
source/CFC001/UdmCFC001.pas884-896TdmCFC001.tabFILTRODT_PERIODOINIValidateCompara período de registro inicial e final usado no relatório.

source/CFC001/UdmCFC001.pas:452

procedure TdmCFC001.tabFILTRODT_INICIALValidate(Sender: TField);
begin
if ( (Trim(tabFILTRODT_INICIAL.AsString) <> '') And
(Trim(tabFILTRODT_FINAL.AsString) <> '') ) then
if ( tabFILTRODT_INICIAL.AsDateTime > tabFILTRODT_FINAL.AsDateTime ) then
Raise JException.Create('E-0000',['A Data Inicial não pode ser Maior que a Data Final!']);
end;

procedure TdmCFC001.tabFILTRODT_FINALValidate(Sender: TField);
begin
if ( Trim(tabFILTRODT_FINAL.AsString) <> '' ) then
if ( tabFILTRODT_INICIAL.AsDateTime > tabFILTRODT_FINAL.AsDateTime ) then

source/CFC001/UdmCFC001.pas:467

procedure TdmCFC001.tabFILTRODT_INIVENCValidate(Sender: TField);
begin
if ( (Trim(tabFILTRODT_INIVENC.AsString) <> '') And
(Trim(tabFILTRODT_FINVENC.AsString) <> '') ) then
if ( tabFILTRODT_INIVENC.AsDateTime > tabFILTRODT_FINVENC.AsDateTime ) then
Raise JException.Create('E-0000',['A Data Inicial não pode ser Maior que a Data Final!']);
end;

procedure TdmCFC001.tabFILTRODT_FINVENCValidate(Sender: TField);
begin
if ( Trim(tabFILTRODT_FINVENC.AsString) <> '' ) then
if ( tabFILTRODT_INIVENC.AsDateTime > tabFILTRODT_FINVENC.AsDateTime ) then