ALIAS FP_PTFUN
INDEX FP_PTFUN Fnumero 
 
VARIAVEL Z_AAMM    = right( str(year(date()),4), 2) + strzero( month(date()) ,2) 
VARIAVEL Z_LOJA    = If( val(GETENV("LOJA"))>0, GETENV("LOJA"), "00")
VARIAVEL LST_TP    = 999 
VARIAVEL z_chr_eject = chr(12) 
 
VARIAVEL Z_FNUMERO = 0 
VARIAVEL Z_DE      = CTOD("01"+Substr(Dtoc(DATE()),3) ) 
VARIAVEL Z_Ate     = date() 
 
VARIAVEL znd_a_trab   = 0 
VARIAVEL znd_feriados = 0 
VARIAVEL znd_folgas   = 0
VARIAVEL znd_ferias   = 0
VARIAVEL znd_licensa  = 0
VARIAVEL znd_Justif_faltas = 0 
VARIAVEL znd_NaoJustif_faltas = 0 
VARIAVEL znh_a_trab   = 0 
VARIAVEL znh_trab     = 0 
VARIAVEL znh_extras   = 0 
VARIAVEL znh_faltas   = 0 
VARIAVEL z_nd_periodo = 0 
 
T10,10,17,60,Parametros 
T2,2,Loja........:,2,z_loja,99 
T3,2,Funcionario.:,4,z_fnumero,9999 
T4,2,Data Inicial:,8,z_de,99.99.99 
T5,2,Data Final..:,8,z_ate,99.99.99 
 
COMANDO ANTES z_nd_periodo = Z_ATE - Z_DE + 1 
COMANDO ANTES znil = FP_PTFUN->(SetAliasAaMm(SUBSTR(DTOS(Z_ATE),3,4)), Abra('0NOIDX', r_siga, wFp_ptbh,  'fp_ptbh',  wFp_ptbh, 'STR(fnumero,5)+ANOMESDIA') )
COMANDO ANTES Z_SETCENT = __SetCentury("on") 
COMANDO ANTES Z_NIL = IF(Z_FNUMERO>0, DbSeek(z_fnumero), NIL)
COMANDO ANTES Z_LOJA= IF(Z_FNUMERO>0.and.val(Z_LOJA)=0, strzero(relogio,2), Z_LOJA)
 
REPITA ENQUANTO Z_FNUMERO=0.or.z_fnumero=fnumero 
FILTRO z_fnumero>0.or.(!FFG_DEMIT.AND.RELOGIO=VAL(Z_LOJA)) 
*- 
COMANDO DURANTE Z_MATRIC  = FNUMERO 
COMANDO DURANTE z_fgtemth = .T. 
//D[z_chr_eject]                           **  BANCO  DE  HORAS  ** 

D                                                     **  BANCO  DE  HORAS  ** 
D                                   Periodo de [z_de] a [z_ate] ([z_nd_periodo 999] dias) 
D 
D                                                           IDENTIFICACAO 
D[Repl("-",132)]
DEmpregador: [Si_razaosocial]   CNPJ [si_cnpj]
DEndereco..: [Si_rua] [Si_numrua]
DBairro....: [Si_bairro]    Municipio: [Si_cidade]   UF: [Si_uf]      CEP: [Si_cep] 
D[Repl("-",132)]
DEmpregado.: [padr(fnome,45)]  (Mat [fnumero 9999]) (Tb [ftabela 999]) 
D            [FCARGO @S22]                         (Lj [relogio 99]) 
D---------+-------------------------------------+--------------------------------------+---------------------------------------------
D         |     HORARIO A TRABALHAR             |          HORARIO TRABALHADO          |
D         |                                     |                                      |
D DIA     |  1o TURNO       2o TURNO    Carga   |   1o TURNO      2o TURNO    Horas Tra|    Observacoes
D         | Entr. Saida   Entr. Saida   Horaria |  Entr. Saida   Entr. Saida  balhadas |
D---------+-------------------------------------+--------------------------------------+---------------------------------------------
*xxx  xx    hh:hh  hh:mm     hh:mm  hh:mm     hh:mm     . 
 
SUBLIST FP_PTBH 
COMANDO ANTES znd_a_trab   = 0 
COMANDO ANTES znd_trab     = 0 
COMANDO ANTES znd_feriados = 0 
COMANDO ANTES znd_folgas   = 0
COMANDO ANTES znd_domingos = 0
COMANDO ANTES znd_ferias   = 0
COMANDO ANTES znd_licensa  = 0

COMANDO ANTES znd_Justif_faltas = 0 
COMANDO ANTES znd_NaoJustif_faltas = 0 
COMANDO ANTES znh_a_trab = 0 
COMANDO ANTES znh_trab = 0 
COMANDO ANTES znh_extras = 0 
COMANDO ANTES znh_faltas = 0 
COMANDO ANTES DbSeek(STR(z_matric,5)) 
 
REPITA ENQUANTO Z_MATRIC = FNUMERO 
FILTRO val(right(anomesdia,2))>=day(z_de) .and. val(right(anomesdia,2))<=day(z_ate) 
 
COMANDO DURANTE Z_data = ctod(right(AnoMesDia,2)+"."+substr(AnoMesDia,3,2)+"."+left(AnoMesDia,2)) 
COMANDO DURANTE z_sit  = left(situacao,1) 
COMANDO DURANTE Z_HTA  = if(hta>0.and.!z_sit$"NJEFDRL",HTA,0) 
COMANDO DURANTE z_nhd_atrab  = if(!z_sit$"JFEDRL",PtHtrab("H"),0)
COMANDO DURANTE znd_trab     = znd_trab + if(Z_HTA>0,1,0) 
COMANDO DURANTE znd_a_trab   = znd_a_trab + if(z_nhd_atrab>0,1,0) 
COMANDO DURANTE znd_feriados = znd_feriados + if(z_sit="E".or.(!z_sit$"NJFDRL".and.z_nhd_atrab=0.and.dow(z_data)<>1),1,0) 
COMANDO DURANTE znd_domingos = znd_domingos + if(z_sit="D".or.(z_nhd_atrab=0.and.dow(z_data)=1),1,0)
COMANDO DURANTE znd_folgas   = znd_folgas + if( z_sit="F",1,0)
COMANDO DURANTE znd_ferias   = znd_ferias + if( z_sit="R",1,0) 
COMANDO DURANTE znd_licensa  = znd_licensa+ if( z_sit="L",1,0) 
COMANDO DURANTE znd_Justif_faltas = znd_Justif_faltas + if( z_sit="J",1,0)
COMANDO DURANTE znd_NaoJustif_faltas = znd_NaoJustif_faltas + if( z_sit="N",1,0)
COMANDO DURANTE znh_a_trab = znh_a_trab + z_nhd_atrab 
COMANDO DURANTE znh_trab   = znh_trab   + z_hta 
COMANDO DURANTE z_extras = if(z_hta>z_nhd_atrab+15, z_hta-z_nhd_atrab, 0) 
COMANDO DURANTE z_faltas = if(z_hta<z_nhd_atrab-15, z_nhd_atrab-z_hta, 0) 
COMANDO DURANTE znh_extras = znh_extras + z_extras 
COMANDO DURANTE znh_faltas = znh_faltas + z_faltas 

COMANDO DURANTE Z_STRHT = Substr('DomSegTerQuaQuiSexSab',dow(z_data)*3-2,3)+"  "+Right(AnoMesDia,2) +"  | "
COMANDO DURANTE Z_Htab  = if(z_sit$"NJFEBT","**:** **:**   **:** **:**   .....",Ht1+" "+Ht2+"   "+Ht3+" "+Ht4+"  ("+hhmm2min("MH",z_nhd_atrab))+")  | "
COMANDO DURANTE Z_HAJUS = if(z_sit$"NJFEBT","**:** **:**   **:** **:**   .....",H1A+" "+H2A+"   "+H3A+" "+H4A+"  ("+hhmm2min("MH",z_hta))      +")  | "
COMANDO DURANTE Z_HPADR = "* Dispensado do Ponto       *" 
 
COMANDO DURANTE Z_STRHT  = Z_STRHT + if(z_fgtemth,z_htab+" "+Z_HAJUS,Z_HPADR+hhmm2min("MH",z_nhd_atrab))+"  "
COMANDO DURANTE Z_SITSTR = ""
COMANDO DURANTE Z_SITSTR = if(z_sit="N","Falta Nao Justificada",Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(z_sit="J","Falta Justificada",    Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(z_sit="F","Folga do Funcionario", Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(z_sit="E","Dia Feriado", Z_SITSTR)
COMANDO DURANTE Z_SITSTR = if(z_sit="R","Em Ferias", Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(z_sit="L","Sob Licensa", Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(z_sit="S","Suspensao", Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(z_sit="B","Deslocado", Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(z_sit="T","Transferido", Z_SITSTR)
COMANDO DURANTE Z_SITSTR = if(z_sit="P","Lj.Fechada", Z_SITSTR)
 
COMANDO DURANTE Z_SITSTR = if(z_sit="D".and.PtHtrab("H")>0,"Domingo Descansado",z_sitstr)
COMANDO DURANTE Z_SITSTR = if(Z_SITSTR="".and.z_hta=0.and.dow(z_data)=1.and.!z_sit$"NJFE","Descanso Semanal",Z_SITSTR)
COMANDO DURANTE Z_SITSTR = if(!z_sit$"NJFEDBTP".and.z_extras>0,hhmm2min("MH",z_extras)+" "+if(z_extras>=60,"horas","minutos")+" extras",Z_SITSTR)
COMANDO DURANTE Z_SITSTR = if(!z_sit$"NJFEDBTP".and.z_faltas>0,hhmm2min("MH",z_faltas)+" "+if(z_faltas>=60,"horas","minutos")+" a menos",Z_SITSTR) 
COMANDO DURANTE Z_FGPRT  = left(dtos(z_data),6)<>left(dtos(fp_ptfun->fdtadmis),6).or.day(z_data)>=day(fp_ptfun->fdtadmis)

FILTROIMP z_fgprt 
D[z_strht] [z_sitstr] 
 
COMANDO DEPOIS ZND_DIF = z_nd_periodo-znd_trab 
COMANDO DEPOIS ZND_DOMFER = ZND_DIF-znd_folgas-znd_feriados 
 
ULTPAG---------+-------------------------------------+--------------------------------------+---------------------------------------------
ULTPAG Dias do Periodo.: [z_nd_periodo 999]     Feriados........: [znd_feriados 999]      Horas A TRABALHAR: [hhmm2min("MH",znh_a_trab)]
ULTPAG Dias Trabalhados: [znd_trab 999]     Domingos Descans: [znd_domingos 999]      Horas TRABALHADAS: [hhmm2min("MH",znh_trab)]
ULTPAG Difer. em Dias  : [ZND_DIF 999]     Folgas..........: [znd_folgas 999]      Horas Extras.....: [hhmm2min("MH",znh_extras)]
ULTPAG Faltas Nao Just.: [znd_NaoJustif_faltas 999]     Faltas Justific.: [znd_Justif_faltas 999]      Horas A Menos....: [hhmm2min("MH",znh_faltas)]
ULTPAG Dias em Ferias..: [znd_ferias 999]     Dias Licensa....: [znd_licensa 999]
//D[Repl("-",132)]
ULTPAG 
ULTPAG 
ULTPAG x     ______________________________           x ______________________________ 
ULTPAG       Assinatura do Funcionario                  Gerente Responsavel 
ULTPAG [strzero(z_matric,4)]  [fp_ptfun->fnome] 
FIM SUBLIST 
COMANDO DEPOIS __SetCentury(Z_SETCENT) 
 