• Martes 19 de Marzo de 2024, 04:33

Autor Tema:  GENERAR CODIGO AUTOMATICO  (Leído 3637 veces)

minostalgia

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
GENERAR CODIGO AUTOMATICO
« en: Lunes 22 de Noviembre de 2010, 17:29 »
0
Hola amigos tengo una gran duda como podria generar un codigo que vaya incremetando por ejemplo mi codigo sea CAT-0001 EL SIGUIENTE SERIA CAT-0002 , CAT-0003 a si sucesivamente el codigo que trato de hacer esta rutina es el siguiente pero no me hace la suma alguna idea de que podria estar fallando

with thisform
GO BOTTOM
ntm=4
m.cValor =PADL(ALLTRIM(STR(VAL(categoria.id_cat) + 1)),nTm, '0' )
cod="CAT-"+m.cvalor
 .TXTCOD.VALUE=COD
endwith
 pero el resultado solo me da esto
 CAT-0001 y yo ya tengo 3 registros se supone que me debe mostrar el CAT-0004 pero nada
ayuda por favor

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: GENERAR CODIGO AUTOMATICO
« Respuesta #1 en: Martes 23 de Noviembre de 2010, 22:16 »
0
Hola, bueno observando el código te hago comentarios para que consideres y hagas los cambios necesarios si crees que te van ayudar.
si bien entendí en el campo categoria._id_cat existen registro de las siguiente forma "CAT-00001".
Por lo tanto si quieres convertir ese valor en un número debes eliminar primero los caracteres.
Pasos
   1 - eliminar caracteres que vienen siendo "CAT-".
   2 - convertir a número que viendo siendo "00001".
   3 - el resultado sería 1.
   4 - sumar el resultado con el la cantidad deseada 1+1
   5 - resultado 2.
 
 Según observo lo estás haciendo pero en el orden incorrecto ya que la evaluación se realiza de adentro hacia afuera y no de afuera hacia adentro.
 
 Saludos,
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

Alberto Daniel

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: GENERAR CODIGO AUTOMATICO
« Respuesta #2 en: Jueves 31 de Marzo de 2011, 03:50 »
0
ACABO DE REGISTRARME Y PESE AL TIEMPO YO LO HUBIESE RESUELTO ASI
Guardas el ultimo valor
GO botto
X = 'CAT-0001'
m.cValor =INT(VAL(ALLTRIM(SUBSTR(X,5,4))))
cod="CAT-"+PADL(ALLTRIM(STR(m.cvalor+1)),4, '0' )
?COD
cod ha sido asignado con el nro CAT-0002