#include 'fivewin.ch'
Static oBrw2
Static oQry2
//----------------------------------------------------------------------------//
Function TablaLegajos( nCodigo, cCliente )
聽 聽 Local i
聽 聽 Local oFont1聽 聽
聽 聽 Local oFont2聽 聽
聽 聽 Local oFont3聽 聽
聽 聽 Memvar oVar
聽 聽
聽 聽 nCodigo 聽:= oVar : oQry : id_empleado
聽 聽 cCliente := oVar : oQry : nombre
聽 聽 oQry2 := oVar : oServer : Query( 'select a.id_legajo, b.descrip as sub_emp, a.caracter, concat( cast( a.anti_anios as char ), "/", cast( anti_meses as char ) ) as antiguedad, ' +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽'a.cargo, a.estado, a.horas, a.dp, a.dod, a.motivo, a.f_lic, a.f_f_lic, a.goce_sueldo, a.alta, a.suplea, a.desde, a.hasta ' +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 'from legajo a, sub_emp b where id_empleado = ' + Alltrim( Str( nCodigo ) ) +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ' and a.id_empresa1 = b.empresa1 and b.empresa = ' + Alltrim( Str( oVar : nEmpresa ) ) )
聽 聽
聽 聽 Define Font oFont1 Name "Segoe UI Light" Size 0, -12 Bold
聽 聽 Define Font oFont2 Name "Segoe UI Light" Size 0, -12
聽 聽 Define Font oFont3 Name "Segoe UI" 聽 聽 聽 Size 0, -16 聽
聽 聽 Define Window oVar : oWndChild2 MDICHILD Of oVar : oWndmain From -10, -10 To -100, -100 Pixel NoSysMenu NoCaption Title 'legajo/s de: ' + Alltrim( cCliente )//Color 0, CLR_BLACK
聽 聽
聽 聽 聽 聽 @ 100, 20 xBrowse oBrw2 DataSource oQry2 Columns 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 Size 1300, 400 Pixel Of oVar : oWndChild2 NoBorder
聽 聽 聽 聽 With Object oBrw2
聽 聽 聽 聽 聽 聽 For i := 1 To Len( :aCols )
聽 聽 聽 聽 聽 聽 聽 聽 Switch i
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 1
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 聽:= 60
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽 := 'N潞 LEG.'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : bStrData 聽聽 聽 聽:= { || StrZero( oQry2 : id_legajo, 6 ) }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽:= 260
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader := 'SECCI脫N'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nGrpHeight := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 3
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : bStrData 聽聽 聽 聽 := { || oQry2 : caracter }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign 聽:= 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nEditType 聽 聽 聽:= EDIT_GET
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : bEditValue 聽 聽 := { || Padr( oQry2 : caracter, 1, ' ' ) }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 //:aCols[ i ] : aEditListTxt 聽 := { "Titular", "Suplente", "Contratado", "Prov." }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 //:aCols[ i ] : aEditListBound := { "T", "S", "C", "P" }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : bOnPostEdit 聽 聽:= { | o, x, n | UpdateCaracter( x ) }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cEditPicture 聽 := '@!'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 4
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽:= 60
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader := 'ANTIG.'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 7
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽:= 50
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 8
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'DESCUENTO' + CRLF + 'PRESENTISMO'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : bStrData 聽 聽 := { || If( oQry2 : dp, 'SI', 'NO' ) }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 9
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'DESC. OBLIG.' + CRLF + 'D脥AS'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 10
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'ARTICULO DE' + CRLF + 'LICENCIA'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 11
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'FECHA INICIO' + CRLF + 'DE LICENCIA'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 12
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'FECHA FIN' + CRLF + 'DE LICENCIA'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 13
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'CON O SIN ' + CRLF + 'GOCE SUELDO'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : bStrData 聽 聽 := { || If( Valtype( oQry2 : f_lic ) == 'D' .and. !Empty( oQry2 : f_lic ) , If( oQry2 : goce_sueldo, 'CON', 'SIN'), '' ) }
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 14
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'F. DE INGRESO'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 15
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'REEMPLAZA A'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 //:aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 16
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'F. INICIO DE' + CRLF + 'LICENCIA'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Case 17
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nWidth 聽 聽 聽 := 100
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader 聽 聽 聽:= 'F. FIN DE' + CRLF + 'LICENCIA'
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nDataStrAlign := 2
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Exit
聽 聽 聽 聽 聽 聽 聽 聽 EndSwitch聽 聽聽 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : cHeader := Upper( :aCols[ i ] : cHeader )
聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : oHeaderFont 聽 := oFont1
聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : oDataFont 聽 聽 := oFont2
聽 聽 聽 聽 聽 聽 聽 聽 :aCols[ i ] : nHeadStrAlign := 0
聽 聽 聽 聽 聽 聽 Next i聽
聽 聽 聽 聽 聽 聽 :bClrHeader 聽 聽 聽 聽 := { || { 0, CLR_WHITE 聽} }
聽 聽 聽 聽 聽 聽 :nRowHeight 聽 聽 聽 := 28
聽 聽 聽 聽 聽 聽 :nHeaderHeight 聽 聽:= 40
聽 聽 聽 聽 聽 聽 :nColDividerStyle := 1
聽 聽 聽 聽 聽 聽 :nRowDividerStyle := 5
聽 聽 聽 聽 聽 聽 :nColAdvance 聽 聽 聽:= 50
聽 聽 聽 聽 聽 聽 :nColorPen 聽 聽 聽 聽:= nRgb( 225, 225, 225 )
聽 聽 聽 聽 聽 聽 :nMarqueeStyle 聽 聽:= 3
聽 聽 聽 聽 聽 聽 :nFreeze 聽 聽 聽 聽 聽:= 2
聽 聽 聽 聽 聽 聽 :nRecSelColor 聽 聽 := CLR_WHITE
聽 聽 聽 聽 聽 聽 :bClrSelFocus 聽 聽 := { || { CLR_WHITE, RGB( 43, 87, 154 ) } }
聽 聽 聽 聽 聽 聽 :nHeaderLines 聽 聽 := 2
聽 聽 聽 聽 聽 聽 :lVScroll 聽 聽 聽 聽 := .f.
聽 聽 聽 聽 聽 聽 :lFlatStyle 聽 聽 聽 := .t.
聽 聽 聽 聽 聽 聽 :l2007 聽 聽 聽 聽 聽 聽:= .f.
聽 聽 聽 聽 聽 聽 :lKinetic 聽 聽 聽 聽 := .f.
聽 聽 聽 聽 聽 聽 :lAllowRowSizing 聽:= .f.
聽 聽 聽 聽 聽 聽 :lExcelCellWise 聽 := .t.
聽 聽 聽 聽 聽 聽 :lFreezeLikeExcel := .t.
聽 聽 聽 聽 聽 聽 :lFastEdit 聽 聽 聽 聽:= .t.
聽 聽 聽 聽 聽 聽 :lColDividerComplete := .t.
聽 聽 聽 聽 聽 聽 :bKeyDown 聽 聽 聽 聽 := { | nKey | KeyLegajos( nKey ) } 聽
聽 聽 聽 聽 :SetGroupHeader( 'DATOS', 3, 14, oFont1 )
聽 聽 聽 聽 :SetGroupHeader( 'SOLO PARA SUPLENTES', 15, 17, oFont1 )
聽 聽 聽 聽 聽 聽 :CreateFromCode()
聽 聽 聽 聽 End
聽 聽 聽 聽 oVar : oWndChild2 : SetControl( oBrw2 )
聽 聽
聽 聽 Activate Window oVar : oWndChild2 Maximized Valid ( oFont1 : End(), oFont2 : End(), oFont3 : End(), .t. )
聽 聽 Return 0
聽 聽
//----------------------------------------------------------------------------//
Function UpdateCaracter( x )
聽 聽 Local cUpdate := 'update legajo set caracter = ' + ClipValue2Sql( x ) + ' where id_legajo = ' + Alltrim( Str( oQry2 : id_legajo ) )
聽 聽
聽 聽 ? 'update legajo set caracter = ' + ClipValue2Sql( x ) + ' where id_legajo = ' + Alltrim( Str( oQry2 : id_legajo ) )
聽 聽 Memvar -> oVar : oServer : Execute( cUpdate )
聽 聽 oQry2 : Refresh()
聽 聽 oBrw2 : Refresh()
聽 聽 Return 0
//----------------------------------------------------------------------------//
Function KeyLegajos( nKey )
聽 聽 Memvar oVar
聽 聽
聽 聽 Switch nKey
聽 聽 聽 聽 Case VK_F7
聽 聽 聽 聽 聽 聽 oVar : nOpcion := 1
聽 聽 聽 聽 聽 聽 ElijeOpcion()
聽 聽 聽 聽 聽 聽 Exit
聽 聽 EndSwitch
聽 聽 Return 0