IE MT
Enviado: 25 Jun 2011 17:09
Olá pessoal,
tenho a seguinte rotina para calculo da IE do estado do Mato Grosso:
Está retornando com digito incorreto. Acontece que esta rotina para incrição com 11 digitos. O Cliente tem a inscrição 13192112-6, ou seja, 9 digitos. O Estado do Mato Grosso, quantos digitos tem a IE?
Algue teria como corrigir a rotina acima? Compilo em xHarbour.
Agradeço a ajuda.
Laudelino
tenho a seguinte rotina para calculo da IE do estado do Mato Grosso:
Código: Selecionar todos
mascara:="9999999999-9"
base :=padr(origem,11,"0")
vmul :={3,2,9,8,7,6,5,4,3,2} // PESO DOS DIGITOS
vsom:=0
for vpos:=1 to 10
valg:=val(substr(base,vpos,1))
valg:=valg*vmul[vpos]
vsom+=valg
next
vres :=vsom%11
vdig1 :=if(vres<2,0,11-vres)
vbase2:=left(base,10)+str(vdig1,1,0)
ok :=(vbase2==origem)
SGINSCR = VBASE2
if !ok
if empty(vbase2)
alert("Os D¡gitos Identificadores de Cidade e/ou Estado N„o Conferem !")
else
vbase2:=strtran(transform(val(vbase2),mascara)," ","0")
vbase2:=strtran(vbase2,",",".")
alert("Inscri‡„o Inv lida !;O Correto Seria;"+vbase2)
endif
sgresult=1
else
sginscrest:=strtran(transform(val(sginscr),mascara)," ","0")
sginscrest:=strtran(sginscrest,",",".")
endif
Algue teria como corrigir a rotina acima? Compilo em xHarbour.
Agradeço a ajuda.
Laudelino