Page 1 of 1
Trabajar Sobre el Dispositivo
Posted: Fri Jul 03, 2015 9:20 pm
by leandro
Buenas Tardes para todos
Lo que pasa es que tengo conectado un dispositivo por cable al pc. Resulta que necesito correr un proceso de importación de la información pero a la vez, marca en el dispositivo que la información ya fue procesada. Pero cuando intento abrir la base de datos me arroja el siguiente error:
Code: Select all
Application
===========
Path and name: C:\Cartera\Cartera.Exe (32 bits)
Size: 1,483,776 bytes
Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20140725)
FiveWin Version: FWHX 15.01
Windows version: 6.2, Build 9200
Time from start: 0 hours 1 mins 57 secs
Error occurred at: 03/07/2015, 16:20:22
Error description: Error BASE/1002 No existe el alias: d_corte
Re: Trabajar Sobre el Dispositivo
Posted: Sat Jul 04, 2015 10:17 am
by Antonio Linares
Leandro,
Puedes mostrar el código ?
Parece que esa área de trabajo se cerró
Re: Trabajar Sobre el Dispositivo
Posted: Sat Jul 04, 2015 1:16 pm
by leandro
Aquí esta el código...
Code: Select all
************************************************************
*Recuperamos la Informacion que viene desde los dispositivos
************************************************************
Function fRecuperaCortes()
Local vEst1,vEst2
Local nCont:=0
uFec:=date()
uTim:=time()
uCou:=alltrim(oLamcla:vCous)
IF FILE (".\dbfs\lamsys\corte.DBF")
USE ".\dbfs\lamsys\corte" ALIAS d_maestr NEW EXCLUSIVE
SELE d_maestr
vEst1 := dbstruct()
d_maestr->(DBCloseArea())
ENDIF
If !Empty(vGruta)
If !FILE (vGruta)
MsgAlert("Archivo No Encontrado"+CRLF+;
"Intente Nuevamente",oLamcla:mDato)
Else
Btn_Grab:disable()
Btn_Canc:disable()
USE &vGruta ALIAS d_corte NEW EXCLUSIVE
SELE d_corte
vEst2 := dbstruct()
nRegistros := reccount()
oProgress3:SetRange( 0, nRegistros )
oProgress3:SetPos( 0 )
//if vEst1==vEst2
SELE d_corte
Dbgotop()
Do While !eof()
vImMa:=d_corte->Manza
vImLo:=d_corte->Lotes
vImMe:=d_corte->Mesaf
vImTi:=d_corte->TipCo
vImTe:=d_corte->Tecni
vImCe:=d_corte->Cedul
vImNo:=d_corte->Nombr
vImFe:=d_corte->Fecha
vImHo:=d_corte->Horas
vImOb:=d_corte->Obser
vImUs:=d_corte->Usuar
vImIm:=d_corte->Impor
if !vImIm
cVar := "SELECT * FROM lyma_cortes WHERE id_manzana="+ltranspic(vImMa)+" AND id_lote="+ltranspic(vImLo)+" AND lotesmes="+ltranspic(vImMe)+" AND motivo='P' AND tipo_corte="+ltranspic(vImTi)
oConsBO := FW_OPENRECORDSET(oLamcla:oCon,cVar,adLockOptimistic,adOpenKeyset)
nRegistros := oConsBO:RecordCount()
IF nRegistros=0
oConsBO:Addnew()
oConsBO:Fields("id_proyecto"):value := 1
oConsBO:Fields("id_manzana"):value := vImMa
oConsBO:Fields("id_lote"):value := vImLo
oConsBO:Fields("docu_terce"):value := vImCe
oConsBO:Fields("observa"):value := vImOb
oConsBO:Fields("fecha"):value := vImFe
oConsBO:Fields("tec_corte"):value := vImTe
oConsBO:Fields("tipo_corte"):value := vImTi
if vImTi=1 //agua
oConsBO:Fields("corte"):value := ".F."
oConsBO:Fields("corteagua"):value := ".T."
else
oConsBO:Fields("corte"):value := ".T."
oConsBO:Fields("corteagua"):value := ".F."
endif
oConsBO:Fields("motivo"):value := "P"
oConsBO:Fields("lotesmes"):value := vImMe
oConsBO:Fields("fe_cor_lu"):value := vImFe
oConsBO:Fields("tracor_lu"):value := ".T."
oConsBO:Fields("usuari"):value := uCou
oConsBO:Fields("ufecha"):value := uFec
oConsBO:Update()
ENDIF
oConsBO:close()
nCont++
endif
SELE d_corte
d_corte->Impor:=.t.
d_corte->FecIm:=date()
Skip
oProgress3:nPosition += 1
sysrefresh()
EndDo
MsgInfo("Proceso Finalizado Exitosamente"+CRLF+;
"Registros Actualizados "+alltrim(str(nCont)),oLamcla:mDato)
oDlgImp:end()
oRsCte:REQUERY()
oBrw:Refresh()
/*
else
MsgAlert("Dbf Incorrecta, La estructura No"+CRLF+;
"Coincide Intente Nuevamente",oLamcla:mDato)
endif*/
d_corte->(DBCloseArea())
Endif
Else
MsgAlert("Seleccione Archivo"+CRLF+;
"Intente Nuevamente",oLamcla:mDato)
Endif
Al seleccionar el archivo y hacer clic en aceptar. Saca el error.
Re: Trabajar Sobre el Dispositivo
Posted: Sat Jul 04, 2015 1:44 pm
by Antonio Linares
Aqui estas cerrando el area de trabajo:
d_corte->(DBCloseArea())
Re: Trabajar Sobre el Dispositivo
Posted: Mon Jul 06, 2015 1:24 pm
by leandro
Hola Antonio gracias por responder
Si ahi se cierra la dbf, pero ahí también se termina el proceso. El problema es cuando intento abrir la dbf directamente sobre el dispositivo como si no encontrara la ruta.
Analizando un poco el código encontré que cuando intento trabajar sobre el dispositivo retorna la siguiente ruta:
Code: Select all
vGruta:=cGetFile("*.dbf","Seleccione Archivo")
C:\Users\Leandro\AppData\Local\Microsoft\Windows\INetCache\IE\M7FT6W9K\corte[2].dbf
Como hago para conectarme el dispositivo como si fuera una memoria?
Saludos
Re: Trabajar Sobre el Dispositivo
Posted: Mon Jul 06, 2015 3:57 pm
by Antonio Linares
Leandro,
Yo creo que lo único que tienes que hacer es un USE directamente de ese path completo