Olá pessoal, venho solicitar ajuda principalmente do pessoal do RS.

Tenho o seguinte IE 4800001926, que quando cadastro no sistema, acusa que o 
mesmo é inválido

Tenho o seguinte código para validação, reparem na linha em negrito ou aquela q 
tem o nr 467. A validação testa se os primeiros 3 números são maior ou igual a 
1 e menor igual a 467.

Porém o início do meu IE é 480, dai ele não entra no if.

Verifiquei no próprios site do sefaz que existe mesmo essa validação, será que 
meu código está desatualizado ??

Gostaria da ajuda de vcs para resolver isso

function ChkIERS(const ie: string): Boolean; // 999.999999-9
var
  b, i, soma: Integer;
  nro: array[1..10] of byte;
  dig: SmallInt;
begin
  Result :=false;
  if (length(ie) <> 10) then
    exit;
  if not IsNumero(ie) then
    exit;
  i :=StrToInt(copy(ie, 1, 3));
  if (i >= 1) and (i <= 467) then //i = 480,
  begin
    for i :=1 to 10 do
      nro[i] :=CharToInt(ie[i]);
    b :=2;
    soma :=0;
    for i :=1 to 09 do
    begin
      inc(soma, nro[i] * b);
      dec(b);
      if b = 1 then
        b :=9;
    end;
    dig :=11 - (soma mod 11);
    if (dig >= 10) then
      dig :=0;
    Result :=(dig = nro[10]);
  end;
end;



      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a