como guardar el numero de cuil / cuit

458 views
Skip to first unread message

javier6...@gmail.com

unread,
Aug 27, 2013, 7:59:58 PM8/27/13
to publice...@googlegroups.com
Hola, queria saber si los numeros de cuil o cuit se deben guardar en una tabla con los guiones (20-xxxxxxxx-5) o si los guiones de agregan solamente al momento de imprimir la factura con ayuda de alguna funcion.

Gracias!

Esteban Herrero

unread,
Aug 27, 2013, 8:09:29 PM8/27/13
to publice...@googlegroups.com

Yo los guardo en formato numérico(11) y luego si la presentación lo requiere, le coloco los guiones.

La mayoría de los aplicativos de afip (Sicore, Citi compras/ventas, Mov de Granos, consumos relevantes, etc) q requieren importación de datos, te piden la información del cuit de esta forma…

 

Saludos.

 

Esteban.

Fidel Charny

unread,
Aug 27, 2013, 8:17:23 PM8/27/13
to publice...@googlegroups.com
Si Cuit es Character, 
ccuit="33639665459"
FORMACUIT=TRANSFORM(CCUIT,"@R 99-99999999-9")

Numérico:
nCuit=33639665459
FormaCuit=Transform(cCuit,"99-99999999-9")

Ricardo Pina

unread,
Aug 27, 2013, 8:17:43 PM8/27/13
to Grupo VFP
Hola Esteban
 
Lo guardo como Char(11) y lo ingreso con mascara "@R 9-99999999-9"
 
Saludos
--
            

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 

Fernando D. Bozzo

unread,
Aug 27, 2013, 8:31:13 PM8/27/13
to publice...@googlegroups.com
Como regla general, solo deben guardarse como números aquellos valores con los que se vayan a hacer cálculos. El resto debería ser alfanumérico (o fechas, etc)

Fernando D. Bozzo

unread,
Aug 27, 2013, 8:35:50 PM8/27/13
to publice...@googlegroups.com
...y respondiendo la pregunta: Sí, sería conveniente guardarlo entero con guines y todo, así te evitás luego tener que estar haciendo las transformaciones.
Pero siempre hay varias formas de hacerlo, como las demás sugerencias del hilo.

Fidel Charny

unread,
Aug 28, 2013, 6:56:04 AM8/28/13
to publice...@googlegroups.com
Ja!, tenés razón Fernando. No contesté la pregunta. Yo también los guardo con guiones. 

Ricardo Pina

unread,
Aug 28, 2013, 8:26:55 AM8/28/13
to Grupo VFP
Yo de contrera lo guardo sin guiones ya que muchos aplicativos lo importan sin guiones y me ahorro la transformación al exportarlo. :-))
Igual es una cuestión de gustos, ni una ni otra esta mal, lo que si coincido en guardar como char todo campo que no implique valores.
 
Saludos

Carlos Miguel FARIAS

unread,
Aug 28, 2013, 8:53:52 AM8/28/13
to Grupo Fox
Lo racional es guardarlo sin guiones, si tengo 10000 clientes, y el CUIT es la clave primaria, guardo 20000 caracteres de más en la tabla y en todos los indices en que el cuit figure, Si para cada factura, remito, pedido, notas de débito o crédito, u otros documentos asociados a clientes tendría una inmensa cantidad de guioenes ocupando lugar en tablas e indices, y eso además debe ser transportado por la red.
Un nodo de indice por ejemplo, ocupa la clave más 4 bytes.
Si el indice es numérico, indefectiblemente, la clave ocupa 8 bytes, si lo guardo como decimal como mencionaron, en el indice ocuparía 12 bytes por clave, por lo que entrarían más claves por cada nodo de indice que si uso 13 caracteres (once digitos mas 2 guiones) .
Y eso multipliquenlo por todos lo*/-*++¿¡?ª"/"/()¡)/ en el sistema.
Saludos: Miguel, La Pampa (RA)

Fer

unread,
Aug 28, 2013, 9:39:08 AM8/28/13
to publice...@googlegroups.com

En este caso, si el cuit se guarda como número entero solo ocuparía 4 bytes.

Saludos.

Carlos Miguel FARIAS

unread,
Aug 28, 2013, 1:41:53 PM8/28/13
to Grupo Fox

Un entero maneja 9 dígitos.

Ricardo Pina

unread,
Aug 28, 2013, 1:49:46 PM8/28/13
to Grupo VFP
Si tengo 10000 clientes, soy Gardel y no me importaría unos cuantos Gigas desperdiciados :-))
 
 

Carlos Miguel FARIAS

unread,
Aug 28, 2013, 2:08:51 PM8/28/13
to Grupo Fox

Si sos Gardel, estas muerto y encima quemado! Y el viernes me río.

Ricardo Pina

unread,
Aug 28, 2013, 2:34:50 PM8/28/13
to Grupo VFP
Perdón pero Gardel vive en una isla con Yabrán, Néstor y M. Jackson. :-))
 

Fernando D. Bozzo

unread,
Aug 28, 2013, 3:23:11 PM8/28/13
to publice...@googlegroups.com

Entonces tampoco habría problema, un entero usa solo 4 bytes en tabla y puede representar los números del -2147483647 to 2147483647 (10 dígitos más signo)

Visual FoxPro Data and Field Types
http://msdn.microsoft.com/en-us/library/ww305zh2%28v=vs.80%29.aspx

Saludos.-

Carlos Miguel FARIAS

unread,
Aug 28, 2013, 4:59:52 PM8/28/13
to Grupo Fox

Los cuit de las damas empiezan con 27, los de las empresas con 30 u otros números. Y son 11 dígitos salvo que guardes el verificador aparte. O sea entero no va.
Y si que res ahorrar espacio en la tabla usar un currency.

Fernando D. Bozzo

unread,
Aug 28, 2013, 5:45:58 PM8/28/13
to publice...@googlegroups.com
Tenés razón, no había reparado en la longitud.

Carlos Miguel FARIAS

unread,
Aug 28, 2013, 6:47:33 PM8/28/13
to Grupo Fox
Y los datos numéricos en los indices, ocupan 8 bytes, por eso para crear indices sobre enteros, se disponen de BINTOC y CTOBIN, porque de esa manera el numero (en este caso, si, es un entero) se almacena como una string de 4 bytes y ahorras muchos espacio.
Según los libros (;-D, una clave primaria debe proveer unicidad (UNIQUE, no repetirse) y ser mínima, de ahí a tratar de reducir las claves lo mas posible. Porque por lo general, una PK en una tabla es FK en otra, donde, si se repite y es probable que necesite otros indice.
Saludos: Miguel, La Pampa (RA)

kondor

unread,
Sep 12, 2013, 3:25:17 PM9/12/13
to publice...@googlegroups.com
Cuidado Miguel:

Hay damas que empiezan con 23 (es el caso de mi hija)

Habría que corroborar bien esos parámetros.

Jorge

Fidel Charny

unread,
Sep 12, 2013, 3:45:59 PM9/12/13
to publice...@googlegroups.com
Cuando el dígito verificador da 10, la solución que adoptó la Afip es, para el caso de personas físicas, mudar al prefijo 23. Si aún da 10, mudar al prefijo 24. En el caso de las personas jurídicas, muda al prefijo 33. Si aún da 10, muda al 34.

Arnaldo Toledano

unread,
Sep 12, 2013, 4:27:20 PM9/12/13
to publice...@googlegroups.com
MUY BUENA DATA !  ! !
Mi sistema dio un error hace tiempo, recuerdo que el prefijo que pusieron era 30 y después
leyeron bien el prefijo y pusieron 33, nunca lo analice porque no volvió a ocurrir, y hoy veo la causa.


Arnaldo Toledano
--
Arnaldo Toledano Tesys Informática Córdoba Argentina

mpulla

unread,
Sep 12, 2013, 5:49:52 PM9/12/13
to publice...@googlegroups.com
Hola Miguel.

Utilizo llaves artificiales, como clave primaria tengo un entero, el CUIT lo tendría como caracter, al cual le aplicaría un índice único.
Para las relaciones utilizo la clave primaría.

Así tengo un índice pequeño y la carga del CUIT se queda solo en la tabla clientes.

Saludos.
Mauricio

Carlos Miguel FARIAS

unread,
Sep 12, 2013, 7:48:51 PM9/12/13
to Grupo Fox

Mauricio: fíjate en bintoc y ctobin.
te permite reducir el tamaño del índice en disco y por ende se hace mas rápido.


Saludos: Miguel, La Pampa (RA)

Reply all
Reply to author
Forward
0 new messages