Saludos, una ayuda alguien tiene experiencia como conectarse a un relog marcador de asistencia, leer la información de la asistencia del personal
muy agradecido de antemano
Busmatic_wpb wrote:Saludes Carlos Actucar.
Ha pasado Tiempo amigo , saludes a la distancia.
#include "FiveWin.ch"
STATIC oWnd
FUNCTION Main()
LOCAL oBar, oPopup, oBtn, oSay
SET DATE FRENCH
SET CENTURY ON
SET DELETED ON
SET _3DLOOK ON
SetBalloon( .T. )
DEFINE WINDOW oWnd TITLE "Subir Datos del Reloj Control"
DEFINE BUTTONBAR oBar OF oWnd SIZE 60, 60 2007
DEFINE BUTTON OF oBar ACTION Llamar(), oWnd:End() RESOURCE "attach" PROMPT "Marcas" TOOLTIP "Subir Marcas del BioMetrico"
SET MESSAGE OF oWnd TO "Soporte para el sistema RENNOXP" KEYBOARD 2007
ACTIVATE WINDOW oWnd
RETURN nil
//----------------------------------------------------------------------------//
STATIC FUNCTION Llamar()
LOCAL cFile, xMov, xTar, xDia, xMes, xAno, xFec, xEnt, xSal , yMov, yTar, yDia, yMes, yAno, yFec, yEnt, ySal, uTar , tuca
LOCAL Mov1 , Mov2, xTim
tuca := 0
cFile := cGetFile("*.DAT","Archivo de Transmisión de Capturador de Huellas","Archivo de Marcas | *.dat","F:\VIGATEC\TEMPO\")
USE "UNICORN.DBF" ALIAS PAS1 NEW EXCLUSIVE
USE "RELOJCO.DBF" ALIAS PAS2 NEW EXCLUSIVE
INDEX ON PAS2->MOV+PAS2->TARJETA+PAS2->DIA+PAS2->MES+PAS2->ANO+PAS2->ENTR TO R1.NTX
INDEX ON PAS2->MOV+PAS2->TARJETA+PAS2->DIA+PAS2->MES+PAS2->ANO TO R2.NTX
SET INDEX TO R1,R2
IF LEN(cFile) > 0
IF MsgYesNo("Esta por recibir el Archivo del Capturador de Huellas...Está seguro de realizar proceso ?", cFile)
SELECT PAS1 ; __DBZAP()
APPEND FROM &cFile SDF
dbgotop()
// calculando los tiempos en minutos
MSGWAIT("ESPERE POR FAVOR...CALCULANDO LOS TIEMPOS...")
DO WHILE !EOF()
PAS1->TIME := STRTRAN( STR((VAL(SUBSTR(PAS1->HORA,1,2))*60)+(VAL(SUBSTR(PAS1->HORA,4,2))),5,0) ," ","0")
SKIP
ENDDO
// validando la fecha
MSGWAIT("ESPERE POR FAVOR...VALIDANDO FECHAS...")
DBGOTOP()
DO WHILE !EOF()
PAS1->DATA := CTOD(PAS1->FECHA)
SKIP
ENDDO
//---------------------------------------------
FERASE( "F:\RENNOXP\INDICES\001\RELOJC1.NTX" )
FERASE( "F:\RENNOXP\INDICES\001\RELOJC2.NTX" )
WinExec(".\RENOM.BAT")
MSGINFO("Proceso terminado con exito...","ok")
ENDIF
ENDIF
RETURN Nil
FUNCTION PRUEBA_ACCES
LOCAL oDlgHide, oBrowHide
PRIVATE dFecha1, dFecha2, dFecha3, dFecha4, dFecha5, cRutamdb := RETORNA_SYSP("RELOJ_COMIDAS") //".\att2000.mdb;"
IF !File(cRutamdb)
?"Verifique con Sistemas Ruta del Reloj..."
RETURN .T.
ENDIF
oSQL:=CreateObject("ADODB.Connection")
oSQL:ConnectionString:="Provider= MicroSoft.Jet.OLEDB.4.0;Data Source="+cRutamdb
oSQL:Open()
dFecha1 := Date()
IF !MiMsgGet("Fecha de Proceso", "Teclee la Fecha de Captura", @dFecha1,,,"D")
oSQL:Close()
RETURN .T.
ENDIF
* dFecha1 := Ctod("10/07/2016") //Date()
* dFecha1 := Date()
dFecha2 := dFecha1 + 6
cF1 := SubStr(DtoS(dFecha1),7,2)+"/"+SubStr(DtoS(dFecha1),5,2)+"/"+SubStr(DtoS(dFecha1),1,4)
aFechas := {}
IF dFecha1 = dFecha2
cQuery1 := "SELECT CHECKINOUT.USERID,CHECKINOUT.CHECKTIME,USERINFO.NAME FROM CHECKINOUT LEFT OUTER JOIN USERINFO ON CHECKINOUT.USERID = USERINFO.USERID WHERE CHECKINOUT.CHECKTIME LIKE '%"+cF1+"%' ORDER BY CHECKINOUT.USERID,CHECKINOUT.CHECKTIME"
AADD(aFechas,dFecha1)
ELSE
nDias := dFecha2 - dFecha1
cCad := ""
dAux := dFecha1
FOR I := 1 TO nDias
AADD(aFechas,dAux)
cF1 := SubStr(DtoS(dAux),7,2)+"/"+SubStr(DtoS(dAux),5,2)+"/"+SubStr(DtoS(dAux),1,4)
IF I = 1
cCad += "LIKE '%"+cF1+"%' "
ELSE
cCad += " OR CHECKINOUT.CHECKTIME LIKE '%"+cF1+"%' "
ENDIF
dAux += 1
NEXT
cQuery1 := "SELECT CHECKINOUT.USERID,CHECKINOUT.CHECKTIME,USERINFO.NAME FROM CHECKINOUT LEFT OUTER JOIN USERINFO ON CHECKINOUT.USERID = USERINFO.USERID WHERE CHECKINOUT.CHECKTIME "+cCad+" ORDER BY CHECKINOUT.USERID,CHECKINOUT.CHECKTIME"
ENDIF
oRs1 := CreateObject( "ADODB.Recordset" )
oRs1:cursortype :=1
oRs1:CursorLocation := 3
oRs1:locktype := 3
oRs1:Open( cQuery1, oSQL:ConnectionString, 1, 3 )
IF oRs1:RecordCount = 0
?"No Existen Registros de Esa Fecha..."
oSQL:Close()
oRs1:Close()
RETURN .T.
ENDIF
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 51 guests