FoxPro/Visual FoxPro - Varios Problemas

   
Vista:

Varios Problemas

Publicado por Carlos Diaz (65 intervenciones) el 05/03/2009 21:42:38
Hola amigos, estoy triste porque mi sistema iba bien, pero ahra creo que tengo mas problemas que entes.
Es un sistema de facturacion, tiene un teclado numerico en pantalla, un grid y otros botones.
Aqui les cuento a ver si me dan una ayudadita.

1) Uso un codigo de busqueda en un texbox, en el valid, uso escaner de codigo de barra.

Funciona si escaneo cuando tl tex tiene el foco, cuando lo pierde se ejecuta valid y como el txtx box no tiene valor me agrega un registro vacio.

Entones en el grid me aparece como si facturre un producto sin codigo, descripcion y precio.

Creo que necesito un codigo mas sencillo, que haga esto: que evalue, si el txtbox esta en blanco, que no haga nada, si haya el producto, que lo agregue y si no lo haya, que mande un mensaje que diga, producto no esta en inventaio.

Alguin podria brindarme algun codigo parecido.

2) Cuando mando imprimir, borro mi tabla temporal donde almacene los datos de la factura actual, entonces el grid vinculado a esa tabla se bloquea, queda en balnco total. Y no cierro tablas.

Y cuando kiero hacer una nueva factura osea dar clic en nuevo, sigue igual, el grid solo pone los headers y las barras. cuando inicio el formulario,

3) Como le hago para seleccionar de mi tabla maestro el ultimo registro y que ese registro sea el que imprima en el reporte.

Es una mala señal, que una tabla solo tenga el archivo cdx, dbf, pero no el .bak

Como guardo mis reportes impresos en archivos frx, es para un historial de facturas.

S pueden ayudarme se los agradezco de antemano con mucho gusto

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Varios Problemas

Publicado por Javier (265 intervenciones) el 06/03/2009 15:27:17
Hola:
1) Podrías emplear la función Empty que te devuelve .T. si el value del text está vacío:
.....Por ejemplo en el valid del text:
.....IF Empty( This.Value)
..........MessageBox( "Debes ingresar el código")
..........RETURN .F.
....ENDIF
....* resto de tu codigo. buscar y decidir que hacer en cada caso.

2) Lo que yo hago en ese caso es deletear los registros de esa tabla temporal con DELETE ALL y luego la sigo usando sin problemas. No puedes además del DELETE ALL, usar PACK, porque de esa manera como que se "pierde" la configuración del Grid quedando en blanco. Sucede lo mismo si aplicas un ZAP. Solo le hago el PACK a esta tabla temporal cuando cierro el formulario.
*** Para que esto funcione debes tener SET DELETE ON en el programa ppal o al menos en el load de tu form***

3) No sé si es lo que necesitas pero con GO BOTTOM pasas al ultimo registro de una tabla, luego puedes tomar en una variable el número de ese registro y usar en el REPORT FORM.
....Por ejemplo
....SELECT MAESTRO
....nReg = RECNO()
....REPORT FORM RECORD nReg TUREPORTE

Lo de la mala señal no lo entendí, pero los .BAK son archivos "respaldo" de los DBF que se generan cuando haces un cambio en el DBF (habitualmente los borro)

Lo de guardar los frx no lo sé, pero se me ocurre que podrías guardar los registros con los datos de las facturas impresas en otro tabla y luego generar un form que te muestre ese historial y desde ahí, con nuevo reporte, imprimir las que necesites.

Espero que te sirva
Saludos desde Jujuy - Argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar