Como dice el encabezado tengo problemas al momento de actualizar los campos en una DBF compartida de otra aplicación. El problema radica al momento de actualizar, ya que me lanza un error que dice: requiere bloqueo.
Si lo hago de esta manera no realiza los cambios, ya que no se cumple la condición y no ingresa.
- Code: Select all Expand view
IF dbRLock()
d_info->HPESTADO:=2
d_info->HPFRANUM:=val(factur)
d_info->HPTIPDOC:=tipodoc
ENDIF
dbUnlock()
Sin embargo si lo hago forzado
- Code: Select all Expand view
dbRLock() //
d_info->HPESTADO:=2
d_info->HPFRANUM:=val(factur)
d_info->HPTIPDOC:=tipodoc
dbUnlock()
Pummm Error: "Requiere Bloqueo",alguien sabe en que puedo estar fallando?
Por otro lado cabe comentar que solo sucede en algunos computadores, en mi PC personal funciona de maravilla, pero en el equipo del cliente, nada
De antemano gracias
Función Completa
- Code: Select all Expand view
*ACTUALIZAMOS EL ESTADO Y NUMERO DE LA FACTURA
FUNCTION actualizaEstado(placa,fecFac,factur,tipodoc)
//RUTAS DE LOS ARCHIVOS UTILIZADOS
Local ruta1 := "\bascula\dbf\info"
//ABRIMOS LA TABLA DE REGISTRO
USE (ruta1) INDE (ruta1) ALIAS d_info NEW SHARED VIA 'DBFCDX'
LOCATE FOR d_info->HPEFECHAS=fecFac .AND. d_info->HPESTADO=1 .AND. d_info->HPEPLACAS=alltrim(placa)
IF FOUND()
IF dbRLock() //
d_info->HPESTADO:=2
d_info->HPFRANUM:=val(factur)
d_info->HPTIPDOC:=tipodoc
ENDIF
dbUnlock()
ELSE
MsgInfo("Placa No Encontrada","Error Datos")
retorno:=.f.
ENDIF
d_info->(DBCloseArea())
return nil