C.U.I.L para Argentina

11/05/2010 - 00:19 por Dante Bravo | Informe spam
Buenas estimados foxeros, necesito saber de una función que, teniendo el
D.N.I. de Argentina, me genere el prefijo y el sufijo del C.U.I.L.
Desde ya, muchas gracias

Un fuerte abrazo

Dante Bravo
Tucumán - Argentina

Preguntas similare

Leer las respuestas

#1 Luis Maria Guayan
11/05/2010 - 01:44 | Informe spam
Te paso un mensaje viejo:

http://www.portalfox.com/article.php?sid#4

La generación de CUIT o CUIL la realizan unicamente el ANSSES, DGI, AFIP
y no se si algún otro organismo.

Yo hice alguna vez una rutina para generar el CUIT, pero hay ciertos
casos que el número generado, no es el mismo que el de los organismos
oficiales.

De todos modos te adjunto la rutina y tu la pruebas y ves si puedes
corregirla.

*--
* FUNCTION GenCUIT
*--
* Genera número de CUIT o CUIL
* USO: GenCUIT(<Caracter o Numerico>, <Tipo>)
* RETORNA: Caracter "99-99999999-9"
* PARAMETROS: tNro = Número para generar CUIT
* tcTipo = "S"ociedad, "H"ombre, "M"ujer
* AUTOR: LMG
*--
FUNCTION GenCUIT(tNro, tcTipo)

LOCAL lcPrefijo, lcCUIT, lnI, lcNro, lnDigito

IF EMPTY(tcTipo)
tcTipo = "@"
ENDIF

IF TYPE("tNro") = "C"
tNro = ALLTRIM(tNro)
ENDIF

lcNro=PADL(tNro,8,"0")

DO CASE
CASE tcTipo="S"
lcPrefijo="3033"
CASE tcTipo="H"
lcPrefijo="2023"
CASE tcTipo="M"
lcPrefijo="2723"
OTHER
lcPrefijo="909192"
ENDCASE
lnI=1
DO WHILE lnI < 10
lcCUIT = SUBS(lcPrefijo,lnI,2) + "-" + lcNro
lnSuma = VAL(SUBS(lcCUIT,11,1))*2 + VAL(SUBS(lcCUIT,10,1))*3 + ;
VAL(SUBS(lcCUIT,9,1))*4 + VAL(SUBS(lcCUIT,8,1))*5 + ;
VAL(SUBS(lcCUIT,7,1))*6 + VAL(SUBS(lcCUIT,6,1))*7 + ;
VAL(SUBS(lcCUIT,5,1))*2 + VAL(SUBS(lcCUIT,4,1))*3 + ;
VAL(SUBS(lcCUIT,2,1))*4 + VAL(SUBS(lcCUIT,1,1))*5
lnDigito = IIF(MOD(lnSuma,11)=0 ,0 , 11-MOD(lnSuma,11))
IF lnDigito < 10
lcCUIT = lcCuit + "-" + STR(lnDigito,1)
EXIT
ENDIF
lnI = lnI + 2
ENDDO
RETURN lcCUIT

ENDFUNC

*--


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________


El 10/05/2010 19:19, Dante Bravo escribió:
Buenas estimados foxeros, necesito saber de una función que, teniendo el
D.N.I. de Argentina, me genere el prefijo y el sufijo del C.U.I.L.
Desde ya, muchas gracias

Un fuerte abrazo

Dante Bravo
Tucumán - Argentina
Respuesta Responder a este mensaje
#2 Dante Bravo
11/05/2010 - 04:27 | Informe spam
Estimado Luis Maria,
Una vez mas debo, primero, darte las gracias por la rutina, y segundo, decir
que eres muy solidario mas alla de todo lo que sabes.
Te mando un afectuoso abrazo

Dante

"Luis Maria Guayan" escribió en el mensaje de
noticias:
Te paso un mensaje viejo:

http://www.portalfox.com/article.php?sid#4

La generación de CUIT o CUIL la realizan unicamente el ANSSES, DGI, AFIP y
no se si algún otro organismo.

Yo hice alguna vez una rutina para generar el CUIT, pero hay ciertos casos
que el número generado, no es el mismo que el de los organismos oficiales.

De todos modos te adjunto la rutina y tu la pruebas y ves si puedes
corregirla.

*--
* FUNCTION GenCUIT
*--
* Genera número de CUIT o CUIL
* USO: GenCUIT(<Caracter o Numerico>, <Tipo>)
* RETORNA: Caracter "99-99999999-9"
* PARAMETROS: tNro = Número para generar CUIT
* tcTipo = "S"ociedad, "H"ombre, "M"ujer
* AUTOR: LMG
*--
FUNCTION GenCUIT(tNro, tcTipo)

LOCAL lcPrefijo, lcCUIT, lnI, lcNro, lnDigito

IF EMPTY(tcTipo)
tcTipo = "@"
ENDIF

IF TYPE("tNro") = "C"
tNro = ALLTRIM(tNro)
ENDIF

lcNro=PADL(tNro,8,"0")

DO CASE
CASE tcTipo="S"
lcPrefijo="3033"
CASE tcTipo="H"
lcPrefijo="2023"
CASE tcTipo="M"
lcPrefijo="2723"
OTHER
lcPrefijo="909192"
ENDCASE
lnI=1
DO WHILE lnI < 10
lcCUIT = SUBS(lcPrefijo,lnI,2) + "-" + lcNro
lnSuma = VAL(SUBS(lcCUIT,11,1))*2 + VAL(SUBS(lcCUIT,10,1))*3 + ;
VAL(SUBS(lcCUIT,9,1))*4 + VAL(SUBS(lcCUIT,8,1))*5 + ;
VAL(SUBS(lcCUIT,7,1))*6 + VAL(SUBS(lcCUIT,6,1))*7 + ;
VAL(SUBS(lcCUIT,5,1))*2 + VAL(SUBS(lcCUIT,4,1))*3 + ;
VAL(SUBS(lcCUIT,2,1))*4 + VAL(SUBS(lcCUIT,1,1))*5
lnDigito = IIF(MOD(lnSuma,11)=0 ,0 , 11-MOD(lnSuma,11))
IF lnDigito < 10
lcCUIT = lcCuit + "-" + STR(lnDigito,1)
EXIT
ENDIF
lnI = lnI + 2
ENDDO
RETURN lcCUIT

ENDFUNC

*--


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________


El 10/05/2010 19:19, Dante Bravo escribió:
Buenas estimados foxeros, necesito saber de una función que, teniendo el
D.N.I. de Argentina, me genere el prefijo y el sufijo del C.U.I.L.
Desde ya, muchas gracias

Un fuerte abrazo

Dante Bravo
Tucumán - Argentina
Respuesta Responder a este mensaje
#3 Dante Bravo
11/05/2010 - 04:34 | Informe spam
Otro si digo, olvide mencionarte que la rutina esta perfecta, nuevamente
muchas gracias Luis María
Con el D.N.I. y el sexo se calcula automáticamente el C.U.I.L.



"Luis Maria Guayan" lfoxxx.com> escribió en el mensaje de
noticias:
Te paso un mensaje viejo:

http://www.portalfox.com/article.php?sid#4

La generación de CUIT o CUIL la realizan unicamente el ANSSES, DGI, AFIP y
no se si algún otro organismo.

Yo hice alguna vez una rutina para generar el CUIT, pero hay ciertos casos
que el número generado, no es el mismo que el de los organismos oficiales.

De todos modos te adjunto la rutina y tu la pruebas y ves si puedes
corregirla.

*--
* FUNCTION GenCUIT
*--
* Genera número de CUIT o CUIL
* USO: GenCUIT(<Caracter o Numerico>, <Tipo>)
* RETORNA: Caracter "99-99999999-9"
* PARAMETROS: tNro = Número para generar CUIT
* tcTipo = "S"ociedad, "H"ombre, "M"ujer
* AUTOR: LMG
*--
FUNCTION GenCUIT(tNro, tcTipo)

LOCAL lcPrefijo, lcCUIT, lnI, lcNro, lnDigito

IF EMPTY(tcTipo)
tcTipo = "@"
ENDIF

IF TYPE("tNro") = "C"
tNro = ALLTRIM(tNro)
ENDIF

lcNro=PADL(tNro,8,"0")

DO CASE
CASE tcTipo="S"
lcPrefijo="3033"
CASE tcTipo="H"
lcPrefijo="2023"
CASE tcTipo="M"
lcPrefijo="2723"
OTHER
lcPrefijo="909192"
ENDCASE
lnI=1
DO WHILE lnI < 10
lcCUIT = SUBS(lcPrefijo,lnI,2) + "-" + lcNro
lnSuma = VAL(SUBS(lcCUIT,11,1))*2 + VAL(SUBS(lcCUIT,10,1))*3 + ;
VAL(SUBS(lcCUIT,9,1))*4 + VAL(SUBS(lcCUIT,8,1))*5 + ;
VAL(SUBS(lcCUIT,7,1))*6 + VAL(SUBS(lcCUIT,6,1))*7 + ;
VAL(SUBS(lcCUIT,5,1))*2 + VAL(SUBS(lcCUIT,4,1))*3 + ;
VAL(SUBS(lcCUIT,2,1))*4 + VAL(SUBS(lcCUIT,1,1))*5
lnDigito = IIF(MOD(lnSuma,11)=0 ,0 , 11-MOD(lnSuma,11))
IF lnDigito < 10
lcCUIT = lcCuit + "-" + STR(lnDigito,1)
EXIT
ENDIF
lnI = lnI + 2
ENDDO
RETURN lcCUIT

ENDFUNC

*--


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________


El 10/05/2010 19:19, Dante Bravo escribió:
Buenas estimados foxeros, necesito saber de una función que, teniendo el
D.N.I. de Argentina, me genere el prefijo y el sufijo del C.U.I.L.
Desde ya, muchas gracias

Un fuerte abrazo

Dante Bravo
Tucumán - Argentina
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida