|
Inicio → WINDEV 25 → Função Válida Inscrição Estadual para cálculos usados para fins fiscais no Brasil |
Função Válida Inscrição Estadual para cálculos usados para fins fiscais no Brasil |
Iniciado por Boller, 05,ago. 2021 19:02 - No hay respuesta |
| |
| | | |
|
| |
Miembro registrado 4.547 mensajes |
|
Publicado el 05,agosto 2021 - 19:02 |
function ie(inscEst,estado) { if (estado=="AC") { if (inscEst.length!=13) { return false; } primDigito=0; seguDigito=0; pesos="43298765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } pesos="543298765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } seguDigito=11-(soma%11); if (seguDigito>9){ seguDigito=0; } if ((parseInt(inscEst.substr(11,1))!=primDigito) || (parseInt(inscEst.substr(12,1))!=seguDigito)) { return false; } } if (estado=="AL") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } soma=soma*10; primDigito=soma%11; if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="AP") { if (inscEst.length!=9) { return false; } if (inscEst.substr(0,2) != "03") { return false; } if (parseFloat(inscEst.substr(0,8))<3017000) { p=5; d=0; } else{ if (parseFloat(inscEst.substr(0,8))<3019022) { p=9; d=1; }else{ p=0; d=0; } } primDigito=0; pesos="98765432"; soma=p; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito==10){ primDigito=0; } else if (primDigito==11){ primDigito=d; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="AM") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } if (soma<11){ primDigito=11-soma; } else { primDigito=soma%11; } if (primDigito<2){ primDigito=0; } else{ primDigito=11-primDigito; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="BA") { if (inscEst.length!=9) { return false; } primDigito=0; seguDigito=0; if ((parseInt(inscEst.substr(1,1))<6) || (parseInt(inscEst.substr(1,1))==8)){ modulo=10; } else { modulo=11; } pesos="8765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } seguDigito=parseInt(soma%modulo); if ((modulo==10 && seguDigito>0) || (modulo==11 && seguDigito>1)){ seguDigito=parseInt(modulo-seguDigito); } var inscEstAux=inscEst; inscEstAux=inscEst.substr(0,7) + inscEst.substr(8,1); pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEstAux.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=parseInt(soma%modulo); if ((modulo==10 && primDigito>0) || (modulo==11 && primDigito>1)){ primDigito=parseInt(modulo-primDigito); } if ((parseInt(inscEst.substr(7,1))!=primDigito) || (parseInt(inscEst.substr(8,1))!=seguDigito)) { return false; } } if (estado=="CE") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="DF") { if (inscEst.length!=13) { return false; } if (inscEst.substr(0,2) != "07") { return false; } primDigito=0; seguDigito=0; pesos="43298765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } pesos="543298765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } seguDigito=11-(soma%11); if (seguDigito>9){ seguDigito=0; } if ((parseInt(inscEst.substr(11,1))!=primDigito) || (parseInt(inscEst.substr(12,1))!=seguDigito)) { return false; } } if (estado=="ES") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="GO") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (inscEst.substr(0,8)=="11094402") { if ((parseInt(inscEst.substr(8,1))!="0") && (parseInt(inscEst.substr(8,1))!="1")) { return false; } } if (primDigito==11){ primDigito=0; } else{ if (primDigito==10) { if ((parseFloat(inscEst.substr(0,8))>=10103105) && (parseFloat(inscEst.substr(0,8))<=10119997)){ primDigito=1; }else{ primDigito=0; } } } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="MA") { if (inscEst.length!=9) { return false; } if (inscEst.substr(0,2) != "12") { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="MT") { if (inscEst.length!=11) { return false; } primDigito=0; pesos="3298765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(10,1))!=primDigito) { return false; } } if (estado=="MS") { if (inscEst.length!=9) { return false; } if (inscEst.substr(0,2) != "28") { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="MG") { if (inscEst.length!=13) { return false; } inscEst=inscEst.substr(0,3)+"0"+inscEst.substr(3); primDigito=0; seguDigito=0; pesos="121212121212"; soma=0; resultado=0; for(i=0;i resultado=parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1)); resultado=resultado+""; for(j=0;j soma=soma+(parseInt(resultado.substr(j,1))); } } somaAux=soma+""; primDigito=parseInt((parseInt(somaAux.substr(0,1))+1)+"0")-soma; if (primDigito>9){ primDigito=0; } inscEst=inscEst.substr(0,3)+inscEst.substr(4); pesos="321098765432"; soma=0; for(i=0;i mult=parseInt(pesos.substr(i,1)); if ((i>1) && (i<4)){ mult=parseInt(pesos.substr(i,1))+10; } soma=soma+(parseInt(inscEst.substr(i,1))*mult); } seguDigito=11-(soma%11); if (seguDigito>9){ seguDigito=0; } if ((parseInt(inscEst.substr(11,1))!=primDigito) || (parseInt(inscEst.substr(12,1))!=seguDigito)) { return false; } } if (estado=="PA") { if (inscEst.length!=9) { return false; } if (inscEst.substr(0,2) != "15") { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="PB") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="PR") { if (inscEst.length!=10) { return false; } primDigito=0; seguDigito=0; pesos="32765432"; soma=0; for(i=0;i { soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9) { primDigito=0; } pesos="432765432"; soma=0; for(i=0;i { soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } seguDigito=11-(soma%11); if (seguDigito>9) { seguDigito=0; } if ((parseInt(inscEst.substr(8,1))!=primDigito) || (parseInt(inscEst.substr(9,1))!=seguDigito)) { return false; } } if (estado=="PE") { if (inscEst.length!=9) { return false; } primDigito=0; seguDigito=0; pesos="8765432"; soma=0; for(i=0;i { soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=parseInt(soma%11); if (primDigito==1 || primDigito==0){ primDigito=0; }else{ primDigito=11-primDigito; } pesos="98765432"; soma=0; for(i=0;i { soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } seguDigito=parseInt(soma%11); if (seguDigito==1 || seguDigito==0){ seguDigito=0; }else{ seguDigito=11-seguDigito; } if (parseInt(inscEst.substr(7,1))!=primDigito || parseInt(inscEst.substr(8,1))!=seguDigito) { return false; } } if (estado=="PI") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="RJ") { if (inscEst.length!=8) { return false; } primDigito=0; pesos="2765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(7,1))!=primDigito) { return false; } } if (estado=="RN") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } soma=soma*10; primDigito=soma%11; if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="RS") { if (inscEst.length!=10) { return false; } primDigito=0; pesos="298765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(9,1))!=primDigito) { return false; } } if (estado=="RO") { if (inscEst.length!=14) { return false; } primDigito=0; pesos="6543298765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito-=10; } if (parseInt(inscEst.substr(13,1))!=primDigito) { return false; } } if (estado=="RR") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="12345678"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } soma=soma*10; primDigito=soma%9; if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="SC") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } soma=soma*10; primDigito=soma%11; if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="SP") { if (inscEst.length!=12) { return false; } primDigito=0; seguDigito=0; pesos="13456780"; soma=0; for(i=0;i mult=parseInt(pesos.substr(i,1)); if (i==7){ mult=10; } soma=soma+(parseInt(inscEst.substr(i,1))*mult); } primDigito=soma%11; if (primDigito>9){ primDigito=0; } pesos="32098765432"; soma=0; for(i=0;i mult=parseInt(pesos.substr(i,1)); if (i==2){ mult=10; } soma=soma+(parseInt(inscEst.substr(i,1))*mult); } seguDigito=soma%11; if (seguDigito>9){ seguDigito=0; } if ((parseInt(inscEst.substr(8,1))!=primDigito) || (parseInt(inscEst.substr(11,1))!=seguDigito)) { return false; } } if (estado=="SE") { if (inscEst.length!=9) { return false; } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=11-(soma%11); if (primDigito>9){ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } if (estado=="TO") { if (inscEst.length!=9 && inscEst.length!=11) { return false; } if (inscEst.length==11){ inscEst=inscEst.substr(0,2)+inscEst.substr(4,7); } primDigito=0; pesos="98765432"; soma=0; for(i=0;i soma=soma+(parseInt(inscEst.substr(i,1))*parseInt(pesos.substr(i,1))); } primDigito=parseInt(soma%11) if (primDigito>1){ primDigito=11-(soma%11); }else{ primDigito=0; } if (parseInt(inscEst.substr(8,1))!=primDigito) { return false; } } return true; }
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
|