Mauricio,
Ya encontré el problema y ha quedado arreglado, está en la función DbSeek(), que devuelve .T. porque realmente encuentra el registro en el índice, pero luego, al aplicar el filtro de los registros borrados (SET DELETED ON) se desplaza hasta el siguiente registro no borrado y no hace que DbSeek() devuelva .F.
Puedes comprobar que no estás borrando siempre el mismo registro insertando esta línea:
/*
* Evento OnClick.
*/
METHOD Button1OnClick( oSender ) CLASS TForm1
docin->(ordsetfocus(1))
if docin->(dbseek("0801003004254"))
? docin->dmodocc + docin->dmoemp + docin->dmodocu
docin->(rlock())
if !docin->(deleted())
messagedlg("El registro va a ser borrado por primera vez",mtWarning,mbOk)
endif
docin->(dbdelete())
docin->(dbunlock())
else
messagedlg("El registro ya fue borrado",mtWarning,mbOk)
endif
return
_________________ Un saludo,
Bruno Cantero
www.c3compiler.com
|