ALGUIEN PUEDE AYUDARME COMO SACARON EL AUTOGENERADO

499 views
Skip to first unread message

Pool

unread,
Jan 31, 2019, 1:45:30 PM1/31/19
to Comunidad de Visual Foxpro en Español
Hola, Foxeros me pueden ayudar como an pódido sacar el autogenerado osea el ultimo digito ...osea el
Gracias de antemano.

form.png



form.png

Irwin Rodriguez

unread,
Jan 31, 2019, 4:25:58 PM1/31/19
to publice...@googlegroups.com
No sé si deba responder pero:

?RIGHT(lcAutoGenerado,1)
--
Irwin Rodríguez
Analista Programador

+593 0994903424
Latacunga - Ecuador
"Un equipo solo son piezas que intercambias hasta que terminas el trabajo, es eficiente, funciona."

exl260708

unread,
Jan 31, 2019, 5:16:55 PM1/31/19
to publice...@googlegroups.com

no me referia a obtener el digito a la derecha si no quisiera saber como crearon este autogenerado 9701117FPCMCSDLZ4  
se  
Los primero 3 caracteres salen de la fecha (1970) de nacimiento los 3 ultimos caracteres =970
Luego mes(11)  los dos caracteres= 11
Dia(17) los dos caracteres=17
sexo Femenino(F)=F
La primera y cuarto caracter (PILCO)=PC
La primera y cuarto caracter(MONCADA)=MC
La primera y cuarto caracter(SANDRA)=SD
La primera y cuarto caracter(LUZ) Y SI la cuarta posicion en blanco toma la ultima=LZ


ahora mi pregunta es como sale el numero cuatro  eh buscado muchas formas y no encuento el modo 

exl260708

unread,
Jan 31, 2019, 5:41:02 PM1/31/19
to publice...@googlegroups.com

pacientes.png

Germán Fabricio Valdez

unread,
Jan 31, 2019, 8:09:50 PM1/31/19
to Comunidad de Visual Foxpro en Español
Fíjate la función substr

Carlos Hidalgo

unread,
Feb 1, 2019, 9:15:14 AM2/1/19
to publice...@googlegroups.com
quiza sea un numero al azar...O ...  ese autogenerado ya este repetido 3 veces y le agregaron el numero 4 (y asi sucesivamente) para que no sea el mismo..



El jue., 31 ene. 2019 a las 19:09, Germán Fabricio Valdez (<gfva...@gmail.com>) escribió:
Fíjate la función substr

Jean Pierre Adonis De La Cruz Garcia

unread,
Feb 1, 2019, 9:35:07 AM2/1/19
to Comunidad de Visual Foxpro en Español
Aca en peru es un proceso realizado por la misma empresa por decir en la SUNAT, para dar un numero de ruc si es persona natural empieza con 10 seguido del dni, despues para generar el ultimo numero o digito verificador se hace un proceso automatico, pero que la sunat usa, no es que uno lo invente, es decir hay que seguir los mismos requisitos.
La formula usada es mas o menos asi.

SUMA = (R0 x 5)+(R1 x 4)+(R2 x 3)+(R3 x 2)+(R4 x 7)+(R5 x 6)+(R6 x 5)+(R7 x 4)+(R8 x 3)+ (R9 x 2)

MODU = SUMA % 11

RESP = 11 – MODU

Donde:

  • R0 …. R9   son los 10 dígitos de nuestro número de RUC
  • RESP es el código validador,
Informacion

Conclusion:
Debes consultar con el proveedor de donde estas consumiendo la data para saber la formula exacta que se debe usar y no adivinar. 

Irwin Rodriguez

unread,
Feb 1, 2019, 9:57:49 AM2/1/19
to publice...@googlegroups.com
y por qué complicarse la vida con esos algoritmos en lugar de hacer un HASH o un GUID? a menos que sea una regla gubernamental ¿?

saludos...!!!

exl260708

unread,
Feb 1, 2019, 11:02:40 PM2/1/19
to publice...@googlegroups.com
Lo que pasa que hay una base de dastos echa en sql server 2000 el sistema esta echo en visual basic 5.0
es un Sistema de Historias Clinicas de Un Hospital yo quiero crear el mismo modulo pero mejorado el asunto es que el codigo autogenerado debe generarse de la misma logica con la que la an realizado para no tener problemas con el nuevo modulo..

Jean Pierre Adonis De La Cruz Garcia

unread,
Feb 2, 2019, 6:16:53 AM2/2/19
to Comunidad de Visual Foxpro en Español
Tienes 2 opciones
1. Consultar al programador anterior cual es el proceso que utilizo para realizar el autogenerado que mencionas, o realizar del mismo codigo una Inegnieria Inversa para llegar a tal fin.
2. Subir a la Web al menos unos 100 registros generaods con todos sus campos para que lo puedan analizar ya sea en este medio o en otro para que te deduscan tu autogenerado

Dsan

unread,
Feb 2, 2019, 11:09:52 AM2/2/19
to publice...@googlegroups.com

Jean Pierre Adonis

Te faltó un 3 que nos de el exe por algun medio y le decimos como se hace jajajaj,
ya se no es viernes pero el punto tres es valido por sacar de apuro a un colega.
Saludes

Jean Pierre Adonis De La Cruz Garcia

unread,
Feb 2, 2019, 2:43:42 PM2/2/19
to Comunidad de Visual Foxpro en Español
Asi es Dsancho
Para que pueda entender mejor seria 5 Opciones
Las cual las 4 primeras se ajustan a lo que pides.
pero solo 3 son efectivas.
y 2 de ellas son compicads,
al final solo una es importantes
Envia tu EXE para Crak%&$/%..... y se te enviara la solucion
 

exl260708

unread,
Feb 2, 2019, 2:55:15 PM2/2/19
to publice...@googlegroups.com

Claro eso lo q voy hacer .

exl260708

unread,
Feb 4, 2019, 8:17:07 PM2/4/19
to publice...@googlegroups.com
Ahi Dejo Link en MediaFire 
alguien me pueda ayudar como generaron el autogenerado 
yo lo descompíle con Vbdescompile pero no logro enter mucho el codigo  parece que esta en codigo  hexadecimal
CREAAUTOGENERADO.png
DEVUELVE CUARTOCARACTER.png
DEVUELVE VALOR EN NUMEROS.png
DPRIMERCUARTOCARACTER.png
ELIMINARCONJUNCIONES.png
MODULO10.png
 

ZeRoberto

unread,
Feb 4, 2019, 11:50:07 PM2/4/19
to publicesvfoxpro
Para que no sea pesado para una sola persona te colaboro con una funcion

Function CodigoAutoGenerado(tcFecha, tcSexo, tcApePat, tcApeMat, tcPriNom, tcSegNom)
Local lcApePat1, lcApePat4, lcApeMat1, lcApeMat4, lcPriNom1, lcPriNom4, lcSegNom1, lcSegNom4
   lcDia = Left(tcFecha, 2)
   lcMes = Substr(tcFecha, 4, 2)
   lcAno = Substr(tcFecha, 8, 3) && 18/02/2019 
   DevuelvePrimeryCuartoCaracter(tcApePat, lcApePat1, lcApePat4)
   DevuelvePrimeryCuartoCaracter(tcApeMat, lcApeMat1, lcApeMat4)
   DevuelvePrimeryCuartoCaracter(tcPriNom, lcPriNom1, lcPriNom4)
   DevuelvePrimeryCuartoCaracter(tcSegNom, lcSegNom1, lcSegNom4)
   lcCodAuto = lcAno + lcMes + lcDia + tcSexo + lcApePat1 + lcApePat4 + lcApeMat1 + lcApeMat4 + lcPriNom1 + lcPriNom4 + lcSegNom1 + lcSegNom4
   lcCodCheck = Modulo10(lcCodAuto)
   lcResulta = lcCodAuto + lcCodCheck
EndFunc




ZeRoberto

unread,
Feb 5, 2019, 12:09:52 AM2/5/19
to publicesvfoxpro
Falta la Imagen de la funcion ObtenerUltimaPalabra

Saludos

ZeRoberto

unread,
Feb 5, 2019, 1:16:19 AM2/5/19
to publicesvfoxpro
Bueno ya parece estar, pero a ver pruebalo con otras opciones
test.prg
Message has been deleted

exl260708

unread,
Feb 5, 2019, 12:35:10 PM2/5/19
to publice...@googlegroups.com

Muchisimas Gracias ZeRoberto 
Echo pruebas pero no me genera el codigo que se muestra en la imagen...


IMGPRUEBA.png

ZeRoberto

unread,
Feb 5, 2019, 12:51:21 PM2/5/19
to Comunidad de Visual Foxpro en Español
El problema esta en la funcion Modulo10 no es el que baje de internet, pero tampoco puedo decifrarlo

Saludos

exl260708

unread,
Feb 5, 2019, 12:59:14 PM2/5/19
to publice...@googlegroups.com
Voy a tratar de Ver si funciona con el MODULO11 

ZeRoberto

unread,
Feb 5, 2019, 1:03:24 PM2/5/19
to publicesvfoxpro
En tu codigo VB hay una funcion que se llama DevuelveValorEnNumeros() al parecer las letras de las iniciales son convertidas a numeros para luego generar el codigo de chequeo.

Saludos



exl260708

unread,
Feb 5, 2019, 1:04:47 PM2/5/19
to publice...@googlegroups.com
SI TIENES RAZON CON ASC LO VUELVE EN NUMEROS

exl260708

unread,
Feb 5, 2019, 1:08:17 PM2/5/19
to publice...@googlegroups.com
Veo tambien una Funcion LLamada CreaIdUnico quizas tiene algo que ver para generar el codigo autogenerado.
CREAID UNICO.png

ZeRoberto

unread,
Feb 5, 2019, 1:21:15 PM2/5/19
to publicesvfoxpro
No, la generación de código ya esta, solo 

exl260708

unread,
Feb 5, 2019, 1:36:25 PM2/5/19
to publice...@googlegroups.com
si eso si me refiero al ultimo digito del autogenerado ?



ZeRoberto

unread,
Feb 5, 2019, 10:50:21 PM2/5/19
to publicesvfoxpro
Te hago una pregunta se imprime algun codigo de barra con ese codigo?

Saludos



exl260708

unread,
Feb 5, 2019, 11:42:51 PM2/5/19
to publice...@googlegroups.com

No para nada pero es necesario xq debo validar el autogenerado cuando van a crear una nueva historia y también concidencia de apellidos nombres y entre otras cosas mas

ZeRoberto

unread,
Feb 5, 2019, 11:47:10 PM2/5/19
to publicesvfoxpro
la verdad que no logro decifrar la funcion modulo10 hay mucho codigo asembler y la verdad es dificil, te pregunte si imprimian codigo de barra con ese codigo para probarlo con varias funciones, pero ahora ya no se, y si te contactas con el antiguo programador en el exe estan sus datos dale click derecho y propiedades.

Saludos



exl260708

unread,
Feb 5, 2019, 11:55:54 PM2/5/19
to publice...@googlegroups.com

Umm veo q es imposible el hospital donde trabajo lo an intentado comunicar pero no lo han logrado bueno te agradezco mucho realmente  me as ayuda do mucho siguire intentando..

Juan Pablo Iparraguirre Iparraguirre

unread,
Mar 14, 2019, 5:44:13 AM3/14/19
to Comunidad de Visual Foxpro en Español
Para calcular el digito verificador, se utliza el algoritmo de luhn, a continuacion una funcion pequeña que hace ese trabajo, pasas como parametro la cadena a la que le vas a generar el digito verificador.

FUNCTION luhn
PARAMETERS codigo
LOCAL digito,cuenta,checksum
STORE '' TO digito
STORE 0 TO cuenta, checksum
FOR i = 1 TO LEN(codigo) STEP 1
digito = SUBSTR(codigo,i,1)
IF ASC(digito) <= 65 && Evaluo si el digito es un numero o una letra segun su codigo ASCII
cuenta = cuenta+INT(VAL(digito))
ELSE
cuenta = cuenta+INT(ASC(digito))
ENDIF
ENDFOR
checksum = MOD(cuenta,10)
RETURN checksum
ENDFUNC 
Reply all
Reply to author
Forward
0 new messages