Campo alfanumérico


([N1] Anovillo) #1

Buenas a todos,

Tengo un problemilla que seguro será una chorrada pero no consigo solucionar.

Tengo un campo de tipo alfa 256 en el que se guadan números separados por puntos (del tipo 1.2.1), pero cuando intento dar de alta una ficha desde un formulario no lo da de alta con el formato adecuado y me introduce un guión en lugar del 1, o un espacio y después cambia el punto por un número (normalmente el 1).

Estoy utilizando una varible local para guardarlo pero tampoco es posible y sigue guardándose mal. No sé si quizás es problema del tipo del campo o porque no puede introducirse un número al principio de un alfa, aunque si lo modifico desde el DataClient me funciona perfecto.

Muchas gracias de antemano y…

Feliz año a todos!

 


([N4] eic) #2

Hola.

Asegúrate que, además de utilizar una variable local de tipo alfabético, estés usando en el formulario un control de edición alfabética y no de otro tipo (p.ej., numérica, o lo que sea).

Feliz año 2013!


([N1] Anovillo) #3

Buenas Fran,

Realmente lo que hago desde el formulario es mostrar la variable, porque todo tiene que ir por debajo, en un evento, por lo que no uso un control de edición, sólo es informativo.

Ya he revisado que la variable sea alfabética y que el campo sea alfabético y todo funciona perfecto, hasta que utilizo la instrucción “Interfaz: Guardar en alta o modificación”, ya es que es a partir de ese momento en el que el campo cambia y no guarda lo que debería guardar. :frowning:

Muchas gracias por tu tiempo!

Anabel


([N4] eic) #4

Hola.

¿Podrías describir cómo construyes el contenido de ese campo? ¿Quizá con una captura de pantalla o algo así?


([N1] Anovillo) #5

Hola!

Te explico lo que hace por encima porque quizás es un poco enrevesado:

Como he dicho antes tenemos algo así como puntos (ITC) del estilo: 1.2

Lo que quiero hacer es crear el 1.3 y para ello antes he recogido el “1.”, ahora recojo el 1.2, le doy la vuelta para quedarme con el 2, le sumo 1 para que sea 3 y lo concateno al “1.”.

Así la variable me sale perfecta, “1.3”, pero cuando lo guardo ese 1 del principio me lo pone como espacio y cambia el punto por otra número, y en caso de ser 15.4, por ejemplo, lo que me hace es que modifica el 1 por un guión.

Nota: Ya sé que esto se puede hacer por familias, pero no puedo modificarlo porque estaba hecho ya así.

Saludos y gracias!



([N4] eic) #6

Hola.

Cuando haces concatenaciones de cadenas, te aconsejo poner unas comillas iniciales, para que Velneo se asegure de que son cadenas y no intente hacer alguna suma, algo como : “” + VAR1 + VAR2.

Me dices que ya estaba hecho así… Yo lo que haría es tener esos campos como numéricos (NIVEL, SUBNIVEL, SUBSUBNIVEL, si sabes cuántos puedes tener, claro) y luego tendría otro campo en el que compondría el texto (1.2.5).

Creo que no te va a quedar más remedio que ir mirando cada paso que hace con una instrucción Mensaje, y ver dónde se introduce el error en ese proceso…

 


([N1] Anovillo) #7

Buenas Fran,

Creo que yo también lo habría hecho así pero tal y como se planteó al principio, la aplicación no tenía que tener esa estructura y después se improvisó sobre la marcha.

He probado con el “” al principio pero sigue sin cogérmelo, y como dices he probado todo con mensajes, pero el problema sigue siendo la propia alta con el número al principio, ya que si pongo algo así como BT.2, lo guarda perfecto, sin espacios, sin guiones ni nada.

Seguiré mirando a ver cómo puedo solucionarlo y si lo encuentro lo pondré por aquí.

Muchas gracias por todo!