![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
yo la he probado pero no me funciona no se si tenga que realizar un paso o algo asi para que funcione, este es el dll de la funcion DECLARE EXTERNAL FUNCTION GENRFC CSTRING(30), CSTRING(30), CSTRING(30), DATE RETURNS CSTRING(15) ENTRY_POINT 'GeneraRFC' MODULE_NAME 'Project1.dll'; y la libreria es project1.dll esa la coloque en la carpeta de firebird de udf.. |
|
#2
|
||||
|
||||
|
Hola.
Cita:
Ejplo. Esta sentencia : NOMBRE1_LONGITUD = position(' ', NOMBRES); Equivale a este bucle :
Finalmente, respecto a generar toda la función RFC en Delphi y utilizarla en Firebird mediante una UDF, te dejo un ejemplo de como hacer la DLL en Delphi para que pueda ser utilizada en Firebird. http://www.firebirdfaq.org/faq83/ Traducción automática de Google Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#3
|
|||
|
|||
|
Amerika111:
Ofrezco mi humilde ayuda para codificar dicho procedimiento almacenado, siempre y cuando me hagas llegar el proceso por escrito (lo mas explicito que se pueda, así como también algunos casos típicos para ver que todo funciona correctamente), no quiero estar viendo el código en otros lenguajes y hacer suposiciones que no siempre resultan ciertas, ¿me explico?. Espero tu respuesta. Saludos, Gerardo Suárez Trejo |
|
#4
|
||||
|
||||
|
Cita:
El RFC es un identificador alfanumérico que se asigna en México a cada persona y se basa en los apellidos, nombre y fecha de nacimiento. Para fijar ideas, vamos a tomar esta persona ficticia: Apellido paterno: Del Real Apellido Materno: Anzures Nombre: José Antonio Fecha de nacimiento: 14 de abril de 1972 Su RFC será: Código:
REAA 720414 N9 4 Veamos por partes, como se calcula cada una: Letras Esta parte se forma con:
Ahora bien, deben tomarse en cuenta estas excepciones:
Aquí hay que notar, que estas reglas no son absolutas ni completas (pero son las oficiales). Por ejemplo, no indican qué hacer en caso de que el apellido paterno no contenga vocales internas, como ALBY, BYRD, ORMSBY. En alguna ocasión tuve la oportunidad de analizar los RFC de una base de datos relativamente amplia y observé que la excepción 4 en realidad es así: Primera letra y primera vocal interna del apellido y primera y segunda letra del nombre. En resumen, parece que en los casos de excepción, muchas veces depende del criterio del funcionario en turno que asigne el RFC oficial. Fecha En formato de seis diígitos: aammdd Homonimia
Dígito verificador
Algunas observaciones Como dije antes, el algoritmo en la parte de las letras es confuso. Al implementar hay que decidir qué hacer en los casos especiales (por ejemplo, poner una X en caso de no haber vocal interna del apellido paterno). Por otra parte, todas las letras de los nombres deben considerarse sin acentos de ningún tipo. Este algoritmo es únicamente para personas físicas (seres humanos) y no para personas morales (empresas). Desconozco si hay un documento oficial de Hacienda que describa el algoritmo, pero existe un documento oficial (en el cual yo me basé) en el IFAI (Instituto Federal de Acceso a la Información). Este documento pueden localizarlo entrando al sitio de INFOMEX buscando el folio: 0610100135506, que corresponde a la solicitud que alguien hizo para obtener esta información. Ahí pueden ver el documento de respuesta. Este documento también describe el algoritmo del RFC para personas morales. // Saludos Última edición por roman fecha: 12-08-2011 a las 07:25:23. |
|
#5
|
|||
|
|||
|
Román:
Excelente, es justamente lo que necesitaba... de hecho ya empece .... creo que ya llevo la primera parte ... tuve que parar un rato (hay que ganarse el pan de cada día, je, je, je). Saludos, Gerardo Suárez Trejo P.D. Estoy indeciso en liberar la primera parte (de esta forma es más fácil hacer la depuración). ¿Hay alguien que se apunte para hacer las pruebas? |
|
#6
|
||||
|
||||
|
Todavía no tengo mucho tiempo para lo del dígito verificador pero aprovecho para comentar que en esta página http://www.aplicarh.com/ pueden descargar una aplicación que calcula el RFC. Con esto pueden probar qué tal funciona su algoritmo.
// Saludos |
|
#7
|
||||
|
||||
|
¡Listo! Ya completé la parte del dígito verificador y puse algunas observaciones finales.
// Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| condicionar un procedimiento dentro de otro procedimiento | yossi | Varios | 7 | 17-05-2010 11:47:14 |
| Ayuda, como llamar a un procedimiento desde otro procedimiento? | Ariatna | Varios | 1 | 01-02-2005 05:05:35 |
| error calculo en udf | marrullas | Firebird e Interbase | 0 | 02-11-2004 22:01:58 |
| Calculo con un String | AMC | Varios | 7 | 14-09-2004 21:46:53 |
| Calculo De Totales | PETERKANTROPUS | Tablas planas | 2 | 25-05-2004 04:06:14 |
|