Clipper On Line • Ver Tópico - Validar Inscrição Estadual BA

Validar Inscrição Estadual BA

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Validar Inscrição Estadual BA

Mensagempor rosalvo rosa » 27 Mai 2014 11:15

Bom dia amigos do Forum.

A Inscrição estadual da BA foi alterada ?

Até 2012 eu estava emitindo NFe para clientes da BA que tinham IE com a máscara "999999-99", e agora
consultando o SINTEGRA da BA, vejo que mudou a IE para "999.999.999".

Alguém tem o verificador para a nova inscrição ?

Desde já agradeço.

Att

Rosalvo
Avatar de usuário

rosalvo rosa
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 10 Jan 2006 18:21
Cidade/Estado: Curitiba - PR
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Validar Inscrição Estadual BA

Mensagempor Maurício Elias » 27 Mai 2014 11:48

Bom dia companheiro.
Me passa uma ou mais IE válidas prá eu testar no meu validador, ai eu te passo ele.
Abraços.
_______
Maurício
Maurício Elias
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 302
Data de registro: 12 Mai 2005 08:48
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Validar Inscrição Estadual BA

Mensagempor rosalvo rosa » 27 Mai 2014 12:25

Ok.

Ex. :
IE antiga : 542.348-31 , hoje ela é : 054.234.831

Essa eu só tenho a atual : 106.636.242

Veja se vc consegue validar.

Rosalvo
Avatar de usuário

rosalvo rosa
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 10 Jan 2006 18:21
Cidade/Estado: Curitiba - PR
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Validar Inscrição Estadual BA

Mensagempor Toledo » 27 Mai 2014 14:46

Se não errei nada, a função seria a seguinte:

Function ValidaIE_BA(cIE)
local cStr := Left(cIE,7)
local nMod := if(Left(cIE,1) $ "679", 11, 10)
local nTot := 0
local i,k
*
for i := 1 to 2
    for k := Len(cStr) to 1 step -1
        nTot += Val(SubStr(cStr,k,1)) * ((8+i)-k)
    next
    cStr += if(nTot%nMod < nMod-9, "0", Str(nMod-(nTot%nMod),1))
    nTot := 0
next
return SubStr(cStr,9,1)+SubStr(cStr,8,1) == SubStr(cIE,8,2)

http://www.sefaz.ba.gov.br/contribuinte/informacoes_fiscais/doc_fiscal/calculodv.htm

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Validar Inscrição Estadual BA

Mensagempor zazibr » 27 Mai 2014 16:10

que coisa doida ... a dll do sintegra tem que mudar que coisa será que vao mudar isso ?

pois a dll da erro na validação dessa nova inscrição estadual do estado da bahia

aqui funciona https://www.sefaz.rs.gov.br/NFE/NFE-CCC.aspx

e aqui nao funciona http://www.sintegra.gov.br/download.html#dll

ta certo que o maldito site foi (atualizado em 29.12.2005)

que coisa de doido

sorte que nao atendo esse estado
Avatar de usuário

zazibr
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 72
Data de registro: 11 Set 2004 17:07
Cidade/Estado: Campo Grande/MS
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

Validar Inscrição Estadual BA

Mensagempor lucimauro » 27 Mai 2014 23:06

Estou usando a dll do sintegra, todas velidarão.
lucimauro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 448
Data de registro: 21 Set 2004 21:02
Cidade/Estado: Sobral-CE
Curtiu: 15 vezes
Mens.Curtidas: 19 vezes

Validar Inscrição Estadual BA

Mensagempor Maurício Elias » 28 Mai 2014 17:15

No meu validador tb dão erros essas duas novas inscrições.
Mas eu não travo o usuário não, apenas dou o alerta e continuo...
Abraços.
_______
Maurício
Maurício Elias
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 302
Data de registro: 12 Mai 2005 08:48
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Validar Inscrição Estadual BA

Mensagempor rosalvo rosa » 28 Mai 2014 19:28

Testei a funçao do mestre Toledo e deu certo. Nas duas opções, tanto na velha como na atual.

Obrigado Toledo.

Rosalvo
Avatar de usuário

rosalvo rosa
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 10 Jan 2006 18:21
Cidade/Estado: Curitiba - PR
Curtiu: 1 vez
Mens.Curtidas: 1 vez

Validar Inscrição Estadual BA

Mensagempor janio » 11 Dez 2017 19:57

Uma pequena correção na função q o Toledo postou.

Substituir
local nMod := if(Left(cIE,1) $ "679", 11, 10)


por
local nMod := if( SubStr(cIE,2,1) $ "679", 11, 10)
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Validar Inscrição Estadual BA

Mensagempor JoséQuintas » 11 Dez 2017 20:40

Vou ter que atualizar na SefazClass.
À primeira vista, é o mesmo cálculo anterior, mas agora duas vezes.
E ao aumentar um dígito, ao invés de analisar o primeiro vai ser o segundo, continua o oitavo de trás pra frente.

Pra quem não sabia, nem só de NFE trata a SefazClass.... rs

Mas fica a dúvida: os códigos anteriores valem até a troca, e por isso esses dois ainda valem apesar de não funcionar no cálculo novo?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18151
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Validar Inscrição Estadual BA

Mensagempor JoséQuintas » 11 Dez 2017 20:54

Acabo de consultar no site da Bahia, as duas inscrições são válidas, a velha e a nova.
Então precisará mais uma análise: se o primeiro dígito for ZERO, calcula do jeito antigo, apesar do site dizer diferente.

Só não entendo pra que m. serve aumentar um dígito, se vai aumentar um dígito de controle.
Acaba tendo somente 7 dígitos disponíveis pra numeração de IE, como era antes.

Talvez melhor manter o cálculo anterior, só aumentando um dígito, pelo menos por enquanto.
Ainda vou tentar entender o troço.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18151
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Validar Inscrição Estadual BA

Mensagempor JoséQuintas » 11 Dez 2017 21:12

Legal.... rs

No site do Sintegra, há duas rotinas de cálculo, uma pra 8 dígitos e outra pra 9 dígitos.

IE_BA.png


Nota:
Na verdade antes já existiam dois dígitos de controle, então houve um aumento real de um dígito.
Agora é pensar mais no assunto antes de alterar....

Primeiro é pensar, e só depois alterar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18151
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Validar Inscrição Estadual BA

Mensagempor JoséQuintas » 11 Dez 2017 21:45

Agora teremos a seguinte situação:

Se a checagem for pelo tamanho da IE, não pode ser adicionado o ZERO no início das IEs antigas, mas na consulta ao Sintegra, a BAHIA FEZ ISSO.

Não sei se poderia acontecer, mas pode ser reutilizado um número que ficou livre, desses antigos.

Nesse caso, o número reaproveitado, seria calculado da forma nova ou da forma antiga?

E na nota eletrônica, vão validar com ou sem o zero significativo?

Usando um termo técnico... acho que fud.....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18151
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Validar Inscrição Estadual BA

Mensagempor JoséQuintas » 11 Dez 2017 21:55

Testei a funçao do mestre Toledo e deu certo. Nas duas opções, tanto na velha como na atual.


Ué... isso já é um indício que a rotina está errada, porque os cálculos são diferentes.

Aqui também está errado:

return SubStr(cStr,9,1)+SubStr(cStr,8,1) == SubStr(cIE,8,2)


Supondo que os dígitos calculados sejam "42", nessa comparação, SubStr(cStr,9,1)+SubStr(cStr,8,1) equivale a 24 e não a 42.
Isso deixa confuso.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18151
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Validar Inscrição Estadual BA

Mensagempor JoséQuintas » 11 Dez 2017 22:41

Ok, sobre a inversão de números, é normal, é isso mesmo.
Na minha rotina, baseada no site do Sintegra, e o exemplo do Sintegra, bateu.
Mas acusa erro nessas duas.... rs
Ainda revisando.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18151
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro