Tengo un objeto text y quiero escribir el código de un articulo y que muestre la descripción en otro

Hola Víctor nuevamente molestándote, necesito me ayudes a solucionar este comando de búsqueda.
Tengo un ojeto Text y quiero escribir el código de un articulo y que me muestre la descripción en otro text yo utilice estos comando en el evento lostfocus en el Valid también y no me muestra nada te lo describo:
public aliva
Se le artículos
go top
set exact off
LOCATE FOR articulos.CODIGOINTERNO==thisform.text6codigoart.value
wait window articulo+transform(precio1,"999,.99")+codigointerno nowait
if !found()
STORE ARTICULO TO thisform.text7descripart.value
store precio1 to thisform.text8preciopub.value
store thisform.text9descuento.value to descuento
store alicuotaiva to aliva
 thisform.text6codigoart.enabled=.f.
 thisform.text7descripart.enabled=.f.
 thisform.command2.enabled=.f.
else
messagebox("El artículo no se encuentra",2+256+68,"Atención")
return .f.
Endif
Si podrías mandarme la solución agradecería tu voluntad de ayudarme
un abrazo Fernando

1 Respuesta

Respuesta
1
Espero ayudarte.. vi algo en tu código.. y es que cuando aplicas el LOCATE...
FOUND() = .T. Si encuentra el registro.. por tanto la pregunta si lo encuentra es
IF FOUND() THEN ...
ya que al colocar !... estas aplicando una negacion... es decir que al preguntar
IF !FOUND() THEN .. estas preguntando si no lo encuentra...
Y otra cosa importante... es que al validar campos de tipo carácter.. toman el tamaño completo del campo, es decir.. si el campo CODIGOINTERNO tienen un tamaño de 15 en la estructura de la tabla y el valor guardado solo tiene 10 APLICA EL RESTO EN ESPACIOS EN BLANCO.. por eso debes utilizar ALLTRIM(CODIGOINTERNO).. AL igual que con los text y lo comobos.. ESTO QUITA LOS ESPACIOS EN BLANCO a la izquierda y derecha del texo..
Entonces quedaría la pregunta así...
LOCATE FOR ALLTRIM(articulos.CODIGOINTERNO) == ALLTRIM(thisform.text6codigoart.VALUE)
Excelente Víctor, me solucionaste el problema y me sacaste dusas del comando IF ... Then.
Gracias por tu ayuda.
Un abrazo.
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas