Página 2 de 2

Validar Inscrição Estadual BA

Enviado: 12 Dez 2017 00:17
por JoséQuintas
A doideira é mais doida ainda.... rs
O cálculo velho é diferente do cálculo novo mas..... bateu

E pra ficar mais doido isso.... parece que não foi coincidência....

Código: Selecionar todos


#include "inkey.ch"

PROCEDURE Main

   LOCAL nCont

   SetMode(25,80)
   CLS
   FOR nCont = 100 TO 100000000
      IF ValidIe( StrZero( nCont, 8 ) ) != ValidIE( StrZero( nCont, 9 ) )
         ? nCont
      ENDIF
      IF Inkey() == K_ESC
         EXIT
      ENDIF
      IF Mod( nCont, 100000 ) == 0
         ? "alcancou " + Str( nCont, 10, 0 )
      ENDIF
   NEXT

   RETURN
É calcular o dígito usando a rotina velha e a rotina nova, pra ver se dá diferença....

Na rotina velha, a multiplicação é por 1,2,3,4,5,6,7
Na rotina nova, a multiplicação é por 8,7,6,5,4,3,2, de trás pra frente iniciando no 2

por enquanto o resultado é o mesmo, e já chegou em 30.000.000

Deixar aqui rodando e vou jantar....
Mas ao que parece, vai ficar resolvido usando somente o cálculo novo.

Validar Inscrição Estadual BA

Enviado: 12 Dez 2017 00:21
por JoséQuintas
O detalhe é que não estava verificando nada, porque não indiquei UF..... rs

Código: Selecionar todos

#include "inkey.ch"

PROCEDURE Main

   LOCAL nCont

   FOR nCont = 10 TO 100000000
      IF ValidIe( StrZero( nCont, 8 ), "BA" ) != ValidIE( StrZero( nCont, 9 ), "BA" )
         ? nCont
      ENDIF
      IF Inkey() == K_ESC
         EXIT
      ENDIF
      IF Mod( nCont, 1000000 ) == 0
         ? "alcancou " + Str( nCont, 10, 0 )
      ENDIF
   NEXT

   RETURN
Agora sim, cálculo da BA, vai demorar bem mais..... rs

Validar Inscrição Estadual BA

Enviado: 12 Dez 2017 00:34
por janio
Ha alguns dias atras quando fui ajustar minha rotina para o novo calculo da Bahia, o cliente me passou a IE 127.128.225. Ajustei, passou.

Hj outro cliente reclamou que nao estava validando a IE 74147046. Achei que estivesse errado, mas consultando o sintegra vi que foi acrescentado um 0 (zero) antes, mas mesmo assim a função não estava validando.

Então que percebi q a função ajustada pelo Toledo estava pegando o primeiro dígito para verificar a ocorrencia de 6, 7 ou 9, quando na realidade deve ser verificado o segundo dígito. Batata!

Validar Inscrição Estadual BA

Enviado: 12 Dez 2017 14:18
por JoséQuintas
A dúvida agora é se a Sefaz vai aceitar 9 dígitos mesmo pras de 8.... rs

Putz... e como testei de uma em uma... não chegou a pegar com dígito diferente, que entra no segundo cálculo.

Validar Inscrição Estadual BA

Enviado: 12 Dez 2017 15:04
por janio
A dúvida agora é se a Sefaz vai aceitar 9 dígitos mesmo pras de 8.... rs
Sim, as antigas foi acrescentado um ZERO no inicio