DEFINE WINDOW oWChild mdichild of oApp:oWnd title "Control de Personal" ;
from 00,00 TO 00,00 nomaximize
DEFINE FONT fBusca NAME "Tahoma" SIZE 0,-12 bold OF oDlg
DEFINE BUTTONBAR oBar OF oWChild SIZE 40, 40 2007
DEFINE BUTTON aoBtn[1] ;
RESOURCE "BMP_AGREGAR" ;
OF oBar FLAT GROUP ;
ACTION ( f_Empleados(1), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) ; //Agrega_Empleado
MESSAGE "Agregar un empleado" ;
TOOLTIP "Agregar un empleado"
DEFINE BUTTON aoBtn[2] ;
RESOURCE "BMP_MODIFICAR" ;
OF oBar FLAT ;
ACTION ( f_Empleados(4), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) WHEN (cAliasPer)->(LastRec()) > 0 ; //Modifica empleado
MESSAGE "Modificar un empleado" ;
TOOLTIP "Modificar un empleado"
DEFINE BUTTON aoBtn[3] ;
RESOURCE "BMP_CONSULTAR" ;
OF oBar FLAT ;
ACTION ( f_Empleados(2), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ; //Consulta empleado
MESSAGE "Consultar un empleado" ;
TOOLTIP "Consultar un empleado"
DEFINE BUTTON aoBtn[4] ;
RESOURCE "BASURA" ;
OF oBar FLAT ;
ACTION ( f_Empleados(3), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ; //Elimina empleado
MESSAGE "Eliminar un empleado" ;
TOOLTIP "Eliminar un empleado"
DEFINE BUTTON aoBtn[5] ;
RESOURCE "REINGRESO32" ;
OF oBar FLAT GROUP ;
ACTION ( Agrega_Reingreso( @cSay1, @cSay6, oDlg ), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ; //Reingreos de personal
MESSAGE "Reingresos" ;
TOOLTIP "Reingresos"
DEFINE BUTTON aoBtn[6] ;
RESOURCE "BMP_BORRAR" ;
OF oBar FLAT ;
ACTION ( Baja_Empleado( cSay1, oDlg), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ; //Dar de baja un empleado
MESSAGE "Dar de baja un empleado" ;
TOOLTIP "Dar de baja un empleado"
DEFINE BUTTON aoBtn[7] ;
RESOURCE "IMPRE32" ;
OF oBar FLAT GROUP ;
ACTION ImprimeEmpleado() WHEN (cAliasPer)->(LastRec()) > 0 ;
MESSAGE "Imprimir empleado" ;
TOOLTIP "Imprimir empleado"
DEFINE DIALOG oDlg RESOURCE "DLG_PERSONAL" OF oWChild TRANSPARENT
oBrw := TXBrowse():New( oDlg )
oBrw :CreateFromResource(500)
oBrw :cAlias := (cAliasPer)
oBrw :nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw :nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw :nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw :lColDividerComplete := .t.
oBrw :bClrStd := { || If( oBrw:KeyNo() % 2 == 0, ;
{ CLR_BLACK, RGB( 224, 236, 255 ) }, ;
{ CLR_BLACK, RGB( 189, 211, 253 ) } ) }
oBrw :bClrSel := {|| { nRGB( 0, 0,255), aGradBarSel } } // para barra de linea selecc cuando el control no tiene el foco
oBrw :bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } } // para barra de linea selecc cuando el control tiene el foco
oBrw :nFreeze := 1
oBrw :nFooterLines := 1
oCol := oBrw:AddCol()
oCol:bStrData := { || (cAliasPer)->numemp }
oCol:cHeader := "Empleado"
oCol:nWidth := 70
oCol:nDataStrAlign := AL_LEFT
oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 1, oBrw, @cSayInd, oDlg ), oBrw:gotop() }
oCol := oBrw:AddCol()
oCol:bStrData := { || (cAliasPer)->nomcom}
oCol:cHeader := "Nombre"
oCol:nWidth := 300
oCol:nDataStrAlign := AL_LEFT
oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 2, oBrw, @cSayInd, oDlg ), oBrw:gotop() }
oBrw:bKeyChar := {|nKey| IIF(nKey=13,f_Empleados(2),) }
oBrw:bChange := {|nKey| (cSay1 := iif(EMPTY((cAliasPer)->fecbaj), "Activo", "Baja"), ;
cSay2 := ALLTRIM((cAliasPer)->puesto), ;
cSay3 := (cAliasPer)->numemp, ;
cSay4 := ALLTRIM((cAliasPer)->regfed), ;
cSay5 := ALLTRIM((cAliasPer)->regims), ;
cSay6 := PoneFecha( @cSay6, oDlg), ;
cSay7 := DToC((cAliasPer)->fecbaj), ;
cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
iif(!file(cFoto), (cFoto := oApp:xDatos + "Fotos\" + "nohayfoto.JPG"),), ;
PonFoto(oImage,cFoto,oDlg), ;
oDlg:Update() ) }
oBrw:bLDblClick:= { || f_Empleados(2) } //si hacemos doble click sobre una PERSONA la seleccinamos y cargamos sus datos en las viables que necesitamos
oBrw:bSeek := { |c| (cAliasPer)->(DbSeek( Upper(c) )) }
REDEFINE SAY aoSay[1] VAR cSayInd ID 700 OF oDlg UPDATE ;
COLOR CLR_BLUE FONT fBusca
REDEFINE SAY oSay[2] oBrw:oSeek PROMPT Upper(oBrw:cSeek) ID 701 OF oDlg UPDATE ;
COLOR CLR_BLUE FONT fBusca
REDEFINE SAY aoSay[1] VAR cSay1 ID 301 OF oDlg UPDATE // status
REDEFINE IMAGE oImage VAR cFoto ID 601 OF oDlg UPDATE ;
ADJUST
REDEFINE SAY aoSay[2] VAR cSay2 ID 302 OF oDlg UPDATE // puesto
REDEFINE SAY aoSay[3] VAR cSay3 ID 303 OF oDlg UPDATE // numero de empleado
REDEFINE SAY aoSay[4] VAR cSay4 ID 304 OF oDlg UPDATE ; // reg fed causantes
PICTURE "@R XXXX--999999--XXX"
REDEFINE SAY aoSay[5] VAR cSay5 ID 305 OF oDlg UPDATE ; // reg imss
PICTURE "@R 99--99--99--9999--9"
REDEFINE SAY aoSay[6] VAR cSay6 ID 306 OF oDlg UPDATE // fecha de ingreso
REDEFINE SAY aoSay[7] VAR cSay7 ID 307 OF oDlg UPDATE // fecha de baja
ACTIVATE DIALOG oDlg Valid oWChild:End() nowait on init (oninit( oDlg ), PonFoto(oImage,cFoto,odlg), oBrw:gotop()); oDlg:move(0,0)
oWChild:bgotfocus:={||oDlg:setfocus()}
ACTIVATE WINDOW oWChild ON INIT (oWChild:setsize(oDlg:nwidth,oDlg:nheight), oWChild:Move(20,20)) ;
VALID (DbCerrar( oWChild, cMen, 2 ))
RETURN NIL