Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   validar RFC.. (https://www.clubdelphi.com/foros/showthread.php?t=62623)

tebre 05-01-2009 18:11:16

validar RFC..
 
hola a todos.. estoy haciendo un sistema donde el campo pricipal de la tabla es el RFC de los proveedores...el problema es que quisiera saber si por aqui alguien tiene ya el codigo para validar el RFC.. para que realmemte se escriba biene el RFC antes de insertarlo en la base de datos..desde ya gracias.......:)

roman 05-01-2009 18:27:41

Yo no usaría el RFC como llave de una tabla. Es más, yo no usaría ningún campo con significado en a vida real como llave de una tabla. Los campos llaves suelen usarse también como llaves foráneas de otras tablas y un dato equivocado puede entonces causarte dolores de cabeza.

Por otra parte, el problema con el RFC es que las reglas de su formato no son claras. En el 90% de casos te funcionarán estas:

1. Primera letra del apellido paterno
2. Primera vocal interna del apellido paterno
3. Primera letra del apellido materno
4. Primera letra del primer nombre
5. Fecha de nacimiento en formato aammdd

En el punto 4 hay que exceptuar los nombres José y Maria a menos que sean el único nombre.

El problema viene con las excepciones:

¿Qué pasa si no hay apellido paterno?
¿Qué pasa si no hay vocal interna del apellido patermo?
¿Qué pasa si hay "artículos" como DEL DE VAN MAC MC en los apellidos?
¿Qué pasa si el resultado es una palabra que no gusta a Hacienda? Por ejemplo, CAGA481203

En estos casos a veces se pone o se sustituye una de las letras por X, pero no es consistente la posición en la que se pone y a veces en lugar de X se ponen dos letras del apellido materno.

Claro que son los menos de los casos, pero si justamente quieres garantizar que el RFC será correcto, pues no podrás hacerlo 100%.

En el caso del CURP es más sencillo pues ahí las reglas son consistentes. Por ello hay personas cuyo RFC difiere del CURP (en las primeras seis letras).

// Saludos

Fenareth 05-01-2009 18:27:49

Cita:

Empezado por tebre (Mensaje 333322)
hola a todos.. estoy haciendo un sistema donde el campo pricipal de la tabla es el RFC de los proveedores...el problema es que quisiera saber si por aqui alguien tiene ya el codigo para validar el RFC.. para que realmemte se escriba biene el RFC antes de insertarlo en la base de datos..desde ya gracias.......:)

Hola tebre !

A qué te refieres con que se escriba bien ?... qué es lo quieres validar en el RFC ? número de caracteres ?, que las letras estén en su lugar y los números en el suyo ?...

Por favor explícate un poco mejor... :)

Saludos

tebre 05-01-2009 18:33:00

validar RFC
 
pues si a eso me referia..pero viendo la primera explicacion que me han dado me han puesto a pensar......... :confused::eek:

Fenareth 05-01-2009 18:42:31

Cita:

Empezado por tebre (Mensaje 333329)
pues si a eso me referia..pero viendo la primera explicacion que me han dado me han puesto a pensar......... :confused::eek:

Jejejeje, es un poco la idea :)

AzidRain 05-01-2009 19:18:00

El RFC no debe usarse como clave para una tabla, en este caso de proveedores, porque no estamos seguros que absolutamente toooodos los proveedores lo utilicen ya que puede haber proveedores que no den factura (por ejemplo el carpintero, el plomero, etc.) pero que contablemente se tiene que registrar esos pagos. Además, puede darse el caso de que necesites dar de alta un proveedor momentaneamente aùn sin tener todos sus datos (entre ellos el rfc), por ejemplo en caso de querer calendarizar un pago.

Lo mejor es crear una clave artificial autoincrementada y asignarle un numero de proveedor a cada uno, el rfc vendria siendo secundario y no habria necesidad de validar más que se escriba completo o sea: AAAA999999XXX para personas fisicas y AAA999999XXX para personas morales. Ergo, el campo debe ser de longitud 13 para dar cabida a ambos tipos. Puedes poner un radiobutton para indicar si es persona moral o fisica y segun el caso validas una u otra forma.

Ponerse a validar el rfc más a fondo trae muchas broncas como ya te indicó Román y la mayoría de las veces no es necesario.

Faust 05-01-2009 19:34:13

Hace poco se trato algo así por acá, no es en cuanto validarlo, pero si te sirve de algo échale un vistazo.

tebre 05-01-2009 20:38:45

validar RFC
 
bueno pues creo q me convencieron jejeje.....no utilizare el RFC....ok

aprovechando pues. tengo un campo de correo electronico..existe un codigo para validar el formato de los correos electronicos...agradeceria mucho quien me lo facilitara..gracias!!!!!!!!!

Ferrari 05-01-2009 21:25:59

Bueno, independientemente si utilizas o no la clave primaria ...creo ke lo que busca es como validar el rfc. Yo tengo un SP ke te valida tu rfc e incluso te formula la homoclave...si utilizas SQL con gusto te lo proporciono..solo avisame

tebre 05-01-2009 21:36:38

validar RFC
 
hola ferrari..y claro estoy utilizando SQL me seria de mucha utilidad tu ayuda de antemano gracias....y aprovechando :D necesito igual uno para validar el formato de correo no tendras uno por alli


gracias.............:)

Ferrari 05-01-2009 22:35:48

SP rfc
 
1 Archivos Adjunto(s)
Aqui te dejo el SP, espero y te sea util..saludos

tebre 06-01-2009 18:11:46

como utilizar Stored procedure de sql validar RFC
 
hola ferrari...como eh dicho antes soy muy ignorante en estos de delphi y sql..trate de averiguar como utilizar el Stored Procedure que me proporcinaste pero..nada averigua que hay que mandarle un parametro..pero hasta alli me quede....me podrias orientar para poder utilizarlo...

de antemano te adelanto las gracias..

Ferrari 06-01-2009 18:48:55

Primeramente das de alta el SP en tu base de datos SQL donde lo vayas a manejar...2do, una forma simple es ke desde tu isqlwAnalizador de Consultas) lo ejecutes tal y como te deje en la 1er linea de codigo:
Cita:

EXEC sp_calcula_rfc 'JUAN FERNANDO','ARRIETA','MARTINEZ',19691013
saludos


La franja horaria es GMT +2. Ahora son las 13:01:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi