Lo tenía que hacer, gracias, me sirve!
Abrazo
P
On 5/26/07, Lautaro Bonetto <[EMAIL PROTECTED]> wrote:
> Hola a todos.
>
> Convertí una función de VBScript que encontré y andaba necesitando, a Ruby.
> Se las comparto a ustedes por si alguien en algún momento necesita de lo
> mismo.
> Básicamente es una función que calcula el CUIT/CUIL de una persona, en base
> al nro de DNI y al sexo de ella.
> Seguramente se le puede mejorar algo el código... pero está funcionando
> bien. La misma función en VBS ocupaba más del doble de lineas de código.
>
>
> class Impositivo
> def generar_cuit(sexo, nro_dni)
> dniStc = nro_dni.to_s.rjust 8, "0"
> xyStc = 30
> xyStc = 27 if sexo == "f"
> xyStc = 20 if sexo == "m"
> cDocum = xyStc.to_s + dniStc
> matriz = [5,4,3,2,7,6,5,4,3,2]
> xx = 0
> 10.times do |t|
> xx += cDocum[t].chr.to_i * matriz[t]
> end
> n = 11 - xx % 11
> if n == 10
> if (xyStc == 20 or xyStc == 27 or xyStc == 24)
> xyStc, digitoStc = 23, 9
> else
> xyStc, digitoStc = 33, 9
> end
> digitoStc = 4 if xyStc == 27
> else
> digitoStc = (n == 11) ? 0 : n
> end
> return xyStc.to_s + dniStc + digitoStc.to_s
> end
> end
>
> imp = Impositivo.new
> puts imp.generar_cuit("m", 12123123)
>
> --
> Saludos, Lautaro Bonetto.
> http://lautaro-bonetto.neurona.com
> _______________________________________________
> ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>
--
Pedro Visintin . I T S o l u t i o n s A r c h i t e c t
Ruby On Rails Argentina. http://blogs.onrails.com.ar
Personal page:
http://www.p-e-t-e-r-p-u-n-k.com.ar
_______________________________________________
ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar