Não entendi essa parte da logica:
if (iInstrucao1 = 0) then
if (DiasDeProtesto > 0) then
case TipoDiasProtesto of
diCorridos: iInstrucao1 := 1;
diUteis: iInstrucao1 := 2;
end
else if (DiasDeNegativacao > 0) then
iInstrucao1 := 7 // Negativar dias corridos
else
iInstrucao1 := 3; // sem protesto -> aqui indica que o resultado fica "3" que seria sem protesto
{Pegando campo Intruções}
//01, 02, 07 [05..55]
case iInstrucao1 of
1 : aIdentificacaoOcorrencia := IntToStrZero(DaysBetween(Vencimento,DataProtesto), 2);
2 : aIdentificacaoOcorrencia := IntToStrZero(WorkingDaysBetween(Vencimento,DataProtesto), 2);
7 : aIdentificacaoOcorrencia := IntToStrZero(DaysBetween(Vencimento,DataNegativacao), 2);
3,99 : aIdentificacaoOcorrencia := '00'; -> aqui identifica a ocorrencia sem protesto
else
iInstrucao1 := 0;
aIdentificacaoOcorrencia := '00';
end;
if (StrToIntDef(aIdentificacaoOcorrencia,0) < 5) or (StrToIntDef(aIdentificacaoOcorrencia,0) > 55) then -> aqui não deixa passar menos que 5 que no caso esta vindo sem protesto = 3
raise Exception.Create(ACBrStr('O número de dias a protestar / negativar '+
'deve ser mínimo 05 a máximo 55 dias'));