FoxPro/Visual FoxPro - Ayuda con manejo de cursor

 
Vista:

Ayuda con manejo de cursor

Publicado por Carlos Diaz (65 intervenciones) el 18/02/2009 21:31:09
Hola amigos, quiero que eme ayuden con mi sistema de facturacion:

En mi pantalla de facturacion sucede lo siguiente: tengo un textbox dnd capturo dsde un scanner d codigo d barra, el codigo del producto, despues por un procedimineto hago que busque ese codigo en una tabla donde estan mis productos, luego esos datos los pone en unos caption que no estan visible, esos valores de los caption que son los que yo necesito, los guardo en una tabla que yo cree por asistente de fox, bien pues en esa tabla llamada tmpdetalle, se guardan mis valores de los captions mencionados.

ahi todo funciona bien, algo enrredado pero funciona,

despues, con la funcion sum subtotalizo , la tabla y me muestra en un caption el subtotal que voy facturando, luego el iva y el total.

Cuando imprimo, la tabla tmp detalle, ocupa los valores para el reporte y luego se borra para la siguiente factura.

Lo que yo necesito, es hacer esto:

Que al escanear el codigo hago todo lo antes mencionado y que ademas que un grid enlazado a mi tabla tmpdetalle, me muestre en tiempo real, los producto que voy agregando.

POr ahi me decian que mejor hiciera un cursor, para meter los valores del los caption .

Osea, al escanear actualizar subtotal, iva total y el grid.

Que me recomiendan y como.

POr ejemplo: mo se crear una tabla temporal(cursor) por codigo.
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:Ayuda con manejo de cursor

Publicado por jose camilo (805 intervenciones) el 18/02/2009 23:55:10
pegale un grid a la tabla tmpdetalle y cada vez que agrege un articulo de la un refresh al grid y listo
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

RE:Ayuda con manejo de cursor

Publicado por Juan Carlos Lopez Lopez (128 intervenciones) el 19/02/2009 14:02:28
Hola Carlos:

Por ejemplo: no se crear una tabla temporal(cursor) por codigo

Crealo asi:

Create cursor Micursor (codigo c(5), nombre c(35), precio n(10,2)


Yo tengo una aplicacion de Facturacion, pero hasta ahora no me animo o no se como hacer para scanearlo.
No se que codigo usar para scanear desde el lector.

A ver si me orientas con algun link por favor.

Saludos.
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

RE:Ayuda con manejo de cursor

Publicado por Carlos Diaz (65 intervenciones) el 19/02/2009 14:58:40
Pues mira, yo uso un codigo de busqueda incremental que haye, en la web, yo lo mejore y lo adapte a mis necesidades, si te conectas al msn, me agregas y te mando un ejemplo de ello. o mejor te dejo el codigo. Y gracias por tan valiosa respuesta.

En el evento Valid de tu txtbox, donde introduciras el copdigo pon esto:

Use 'C:POSBASE DE DATOSPRODUCTO'
Set order to cod_prod
*--------------------------------------*
LOCAL lc, lnRecno
lc = ALLT(THIS.VALUE)
lnRecno = RECNO()
*-------------------------------------------------------------------*
IF producto.cod_prod >= lc
IF NOT BOF()
SKIP -1
ENDIF
IF producto.cod_prod < lc && debe quedar donde estaba
IF lnRecno <= RECC()
GO RECNO()
ELSE
GO BOTT
ENDIF
RETURN
ENDIF
*----------------------------------------------------------------------------------*
IF NOT EMPTY(ORDER()) && busqueda con indice
SEEK lc
Objetos donde deseas muestr los resultados de la busqueda

Thisform.tc.value=producto.cod_prod
Thisform.td.value=producto.descripcion
Thisform.tp.value=producto.precio1

ELSE
GO TOP
LOCATE REST FOR producto.cod_prod=lc WHILE producto.cod_prod<= lc NOOPTIMIZE

Thisform.tc.value=producto.cod_prod
Thisform.td.value=producto.descripcion
Thisform.tp.value=producto.precio1

ENDIF
ELSE
LOCATE REST FOR producto.cod_prod=lc WHILE producto.cod_prod<= lc NOOPTIMIZE

Thisform.tc.value=producto.cod_prod
Thisform.td.value=producto.descripcion
Thisform.tp.value=producto.precio1
ENDIF
*-----------------------------------------------------------------------------------*
IF lnRecno # RECNO()
THISFORM.txtbox.value=''
ENDIF
RETURN
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