FoxPro/Visual FoxPro - Anular Datos de factura

 
Vista:

Anular Datos de factura

Publicado por Hugo (20 intervenciones) el 29/09/2003 02:10:11
hola lo que quiero hacer es un boton anular y que me devuelva los datos de las cantidades vendidas al stock, los datos los muestro dentro de un grid y mas o menos la rutina es la siguiente pero no me funca, esta está re mal porque la cambien como mil veces y no doy en la tecla pero mas o menos esta es la idea:
cMessageTitle = \' Anulación de Factura\'
cMessageText = \'Desea Anular la Factura existente¿Quiere continuar?\'
nDialogType = 4 + 16 + 256
mensaje = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
if mensaje = 6
replace factura.cancelada with 1
a=thisform.text2.value
*set order to tag codinterno in detfactura
set filter to detfactura.nrofactura = a
DO WHILE .t. && Comienza el bucle
go top
***Antes de borrar devuelve la cantidad************************
SELEC producto
seek detfactura.codinterno
if FOUND()
REPLACE producto.cantidadunidad WITH producto.cantidadunidad + detfactura.cantidad
ENDIF

**Fin del codigo ****************
skip
select detfactura
set filter to
enddo && Termina el bucle
select detfactura
thisform.refresh
endif
if mensaje = 7
thisform.refresh
endif
desde ya gracias saludos
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:Anular Datos de factura

Publicado por [email protected] (894 intervenciones) el 29/09/2003 23:58:52
Hola Hugo:

Veamos algo, he cambiado la rutina a ver si asi te funciona, si no funciona de esta manere, escribes porque no funciona, a ver donde esta el problema.

cMessageTitle = \' Anulación de Factura\'
cMessageText = \'Desea Anular la Factura existente¿Quiere continuar?\'
nDialogType = 4 + 16 + 256
*
if MESSAGEBOX(cMessageText, nDialogType, cMessageTitle) = 6
replace factura.cancelada with 1
a=thisform.text2.value
Select DetFactura
Go Top
Scan For nrofactura = a
***Antes de borrar devuelve la cantidad************************
lcCodigo = cdoInterno
SELEC producto
If seek(lcCodigo)
REPLACE producto.cantidadunidad WITH producto.cantidadunidad + detfactura.cantidad
ENDIF
**Fin del codigo ****************
Select detfactura
EndScan && Termina el bucle
thisform.refresh
Else
thisform.refresh
endif

Pruebalo de esta manera, aunque el problema creo que estaba en cuando desactivas el Filtro.

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:Anular Datos de factura

Publicado por Hugo (20 intervenciones) el 30/09/2003 03:02:04
muchas gracias funciono ok, se me bloqueo todo ya no sabia que hacer saludos y muchas gracias de verdad
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