INDEX FP_PTFUN Fnumero 
OUTROARQ LOJAS LOJAS CR_LOCAL 
 
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 Z_AAMM   = right(str(year(Z_ATE),4),2)+strzero(month(Z_ATE),2) 
COMANDO ANTES zfp_ptbh = "ptbh"+Z_aamm 
COMANDO ANTES Abra ('0', r_siga, zfp_ptbh,  'fp_ptbh',  zfp_ptbh, 'STR(fnumero,5)+AnoMesDIA') 
COMANDO ANTES DbSelectArea("FP_PTFUN") 
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 LOJAS->(DBSEEK(Z_LOJA)) 
COMANDO DURANTE Z_FANTASIA = LOJAS->CR_FANTASI 
COMANDO DURANTE Z_RAZSOC   = LOJAS->CR_NOME 
COMANDO DURANTE Z_CNPJ     = LOJAS->CR_CGC 
COMANDO DURANTE Z_ENDERECO = ALLTRIM(LOJAS->CR_ENDER) 
COMANDO DURANTE Z_BAIRRO   = ALLTRIM(LOJAS->CR_BAIRRO) 
COMANDO DURANTE Z_CEP      = LOJAS->CR_CEP 
COMANDO DURANTE Z_CIDADE   = ALLTRIM(LOJAS->CR_CIDADE) 
COMANDO DURANTE Z_UF       = LOJAS->CR_UF 
*- 
COMANDO DURANTE Z_MATRIC  = FNUMERO 
COMANDO DURANTE z_fgtemth = .T. 
*- COMANDO DURANTE z_ctps_ns = STRZERO(VAL(FCTPS),5)+" "+STRZERO(FSERIECTPS,5) 
 
D[z_chr_eject]                           **  BANCO  DE  HORAS  ** 
D                 Periodo de [z_de] a [z_ate] ([z_nd_periodo 999] dias) 
D 
D                                 IDENTIFICACAO 
D[Repl("-",132)] 
DEmpregador: [Z_FANTASIA @S45] 
DEndereco..: [Z_ENDERECO] 
DBairro....: [Z_BAIRRO]    Municipio: [Z_CIDADE]   UF: [Z_UF]      CEP: [Z_CEP] 
D[Repl("-",132)] 
DEmpregado.: [padr(fnome,45)]  (Mat [fnumero 9999]) (Tb [ftabela 999]) 
D            [FCARGO @S22]                         (Lj [relogio 99]) 
*LOJA [z_ctps_ns]  [Z_TH1] 
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_HTr        = if(ht>0.and.!z_sit$"NJEFDRL",HT,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$"NJFE","**:** **:**   **:** **:**   .....",Ht1+" "+Ht2+"   "+Ht3+" "+Ht4+"  ("+hhmm2min("MH",z_nhd_atrab))+")  | " 
COMANDO DURANTE Z_HAJUS = if(z_sit$"NJFE","**:** **:**   **:** **:**   .....",H1A+" "+H2A+"   "+H3A+" "+H4A+"  ("+hhmm2min("MH",z_hta))      +")  | " 
COMANDO DURANTE Z_Hreal = if(z_sit$"NJFE","**:** **:**   **:** **:**   .....",H1+" "+H2+"   "+H3+" "+H4+"  ("+hhmm2min("MH",z_htr))      +")  | " 
COMANDO DURANTE Z_HPADR = "* Dispensado do Ponto       *" 
 
COMANDO DURANTE Z_STRHT = Z_STRHT + if(z_fgtemth,z_htab+" "+Z_Hreal,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="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$"NJFED".and.z_extras>0,hhmm2min("MH",z_extras)+" "+if(z_extras>=60,"horas","minutos")+" extras",Z_SITSTR) 
COMANDO DURANTE Z_SITSTR = if(!z_sit$"NJFED".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] 
ULTPAG-------------------------------------------------------------------------------- 
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) 
 
*-COMANDO ANTES zfp_ptth="ptth"+Z_aamm 
*- COMANDO ANTES Abra ('0', r_siga, zfp_ptth,  'fp_ptth',  zfp_ptth, 'STR(tabela,2)+ AnoMes+STRZERO(DIA,2)') 
*COMANDO DURANTE #TEXTO_FONTE 
*  z_ndias_a_trab = 0 
*  z_nd_a_trab = 0 
*  z_nd_feriados = 0 
*  z_folgas_hhmm = 0 
*  DbSelectArea("FP_PTTH") 
*  dbseek(z_tabfun) 
*  While Str(Tabela) = z_tabfun .and. .not. eof() 
*      z_ndias_a_trab = 
*      DbSkip() 
*  EndDo 
*#FIM_TEXTO_FONTE 
 
 
 