'Nome       : HorExt
'Tipo       : LST
'Data       : 2005/10/21
'Versao     : 1.1a
'Descricao  : Mapa de estatistico de Horas Extra

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0  2001/01/25 ---------------------------------------------------
'Versao base

'- Versao : 1.1  2003/01/20 ---------------------------------------------------
'Impressao grafica

'- Versao : 1.1a 2005/??/?? ---------------------------------------------------
'Correcção ortográfica


'==============================================================================
#DEF - Definicao global do documento
'==============================================================================
Caracteres invalidos             [CarInv]=#
Subtotalizadores                 [SbtNiv]=2
##


'==============================================================================
#ESP - Campos especificos
'==============================================================================
'Zoom para preview             [PrvZoom]=1.5
'Opcoes para impressora WIN   [PrWinOpc]=[ORI=P]
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ERD2
Nome                       [DocNom]=ERD,Horas Extra Art.4 

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Codigos de movimento a     [DocEsp]=LimCmv=191:196
Listar quantidade          [DocEsp]=LstQu=1
Listar valor               [DocEsp]=LstVl=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Lst_Cab
Listar linhas               [FxLIN]=Lst_; Trb ; Lin ; St ; Sec
Listar fim                  [FxFIM]=Lst_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ERD2
Nome                       [DocNom]=ERD_G,Horas Extra Art.4

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=53
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Codigos de movimento a     [DocEsp]=LimCmv=191:196
Listar quantidade          [DocEsp]=LstQu=1
Listar valor               [DocEsp]=LstVl=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Lst_CabG
Listar linhas               [FxLIN]=LstG_; Trb ; Lin,0 ; St,0 ; Sec,0
Listar fim                  [FxFIM]=LstG_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
DatDia     = FrmDt$("EXT",Sig_DtHoje)
Pag        = Doc_CntPag
Tit        = MemTxt$(1)
PerSon     = LstIde$("PERSON")
TrbLin     = Gpe_Mst_Trb$+"      "+Gpe_Mst_Nome$
Valor1     = Valor1$
Valor2     = Valor2$

TotPag1    = TotPag1$
TotPag2    = TotPag2$

TotGer1    = TotGer1$
TotGer2    = TotGer2$
##


'==============================================================================
#INC - Variaveis comuns
'==============================================================================
Variaveis comuns                 =[SIG_Dir.Div],LsComVar.Std
##


'==============================================================================
#PGM - Formato do documento
'==============================================================================
Sub Lst_Cab
FxDiv LstIde,16CPI,1
Print PrtCmd$("[10CPILN]");
?                          Mapa de Trabalho Suplementar                       #
?Data: @DatDia                                                       Pagina   @Pag
?=================================================================================
?Nº    |               Nome                      |  HORAS EFECTUADAS AO ABRIGO   |
?      |                                         |   nº1 Art.4   |  nº2 Art.4    |
?=================================================================================

VTotPag1   = 0
VTotPag2   = 0
VTotGer1   = 0
VTotGer2   = 0
end sub


Sub Lst_Trb       'Lista Empregado
call Horas_Calc
if Horas>0  then       'tem valores 
 Call MostraValores
else                      'nao listou, anular linha no contador linhas
 cnt=doc_CntLin                       
 cnt=cnt-1
 Fx=CntLin("FRC",cnt)        'acertar contador
end if
End Sub


Sub MostraValores
? @TrbLin                                             @Valor1         @Valor2    #

'acumular totais
VTotPag1   = vTotPag1+Val(Valor1$)
VTotPag2   = vTotPag2+val(Valor2$)
VTotGer1   = vTotGer1+Val(Valor1$)
VTotGer2   = vTotGer2+Val(Valor2$)
end sub


Sub Lst_FimAjt
Call TotaisPrp
?=================================================================================
?  ( Listagem a continuar )       Total de Pagina   @TotPag1       @TotPag2      #
?=================================================================================
Print PrtCmd$("[SP]");

'azerar totais de pagina
Vtotpag1=0
Vtotpag2=0
end sub


Sub Lst_Fim
call TotaisPrp
?=================================================================================
?                                 Total de Pagina   @TotPag1        @TotPag2        #
?                                    Total Geral    @TotGer1        @TotGer2        #
?=================================================================================
x=TotLpz(0)                       'azerar totalizador 
FxDiv LstPer,SP
end sub

'-(Modo Grafico)-----------------------------------------------------------------
SUB FxIni 'funcao de inicializacao
Call SigLstIni
End sub


Sub Lst_CabG
SigCabNorOpcTit=2 		            'alterar origem do titulo
Titulo$="Mapa de Trabalho Suplementar"
Call SigLstCab

esp=25                                      'espaco para valor
Lin1=0
Lin2=5


'posicao das colunas
Col1=10                         	    'numero
Col2=30					    'nome
Col3=130                                    'valor1
Col4=Col3+esp                               'valor 2
Col5=col4+esp                               'coluna maxima

call SigLstCab

PrWIN COR_T,  CorTitLst                     'cor de titulo
PrWIN FON  ,   11 ,  1                      'activar fonte
PrWIN AJT_B,  Margem, 30                    'posicao base

'listar titulos
PrWIN TX_CTR,  Col1,Lin2,Col2,Lin2,"Código"
PrWIN TX_CTR,  Col2,Lin2,Col3,Lin2,"Nome
PrWIN TX_CTR,  Col3,Lin1,Col5,Lin1,"Horas efectuadas ao abrigo"
PrWIN TX_CTR,  Col3,Lin2,Col4,Lin2,"N. 1 Art.4"
PrWIN TX_CTR,  Col4,Lin2,Col5,Lin2,"N. 2 Art.4"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, MargemD, 0               	'linha
PrWIN GR_LI, 0, 10, MargemD, 10               	'linha

'PrWIN FON  ,   10,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas

VTotPag1   = 0
VTotPag2   = 0
VTotGer1   = 0
VTotGer2   = 0
end Sub


Sub LstG_Trb             'Lista Trabalhadores
call Horas_Calc
if Horas>0  then        			 'tem valores 
   PrWIN AJT_B,  Margem, 35+Doc_CntLin*4   'posicao base
   PrWin Tx_N ,Col1,0,    Gpe_Mst_Trb$
   PrWin Tx_N ,Col2,0,    Gpe_Mst_Nome$
   PrWin Tx_NP,Col3,0,"N",@Valor1
   PrWin Tx_NP,Col4,0,"N",@Valor2

   'acumular totais
   VTotPag1   = vTotPag1+Val(Valor1$)
   VTotPag2   = vTotPag2+val(Valor2$)
   VTotGer1   = vTotGer1+Val(Valor1$)
   VTotGer2   = vTotGer2+Val(Valor2$)
else                      'nao listou, anular linha no contador linhas
  cnt=doc_CntLin                       
  cnt=cnt-1
  Fx=CntLin("FRC",cnt)        'acertar contador
end if
end Sub


Sub LstG_FimAjt
Call TotaisPrp
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,263                 		'posicao base
PrWIN GR_LI,     0,  0, 188, 0            	'linha
PrWIN AJT_B,Margem,265                 		'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_N, Col3-90,  0,"( Listagem a continuar )     Total de Página ..."

PrWin Tx_NP,Col3,0,"N",@TotPag1
PrWin Tx_NP,Col4,0,"N",@TotPag2
PrWin FP

'azerar totais de pagina
Vtotpag1=0
Vtotpag2=0
End sub


Sub LstG_Fim
Call TotaisPrp

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,263                 		'posicao base
PrWIN GR_LI,     0,  0, 188, 0            	'linha
PrWIN AJT_B,Margem,265                 		'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_N, Col3-90,  0,"Total de Página ..."
PrWIN TX_N, Col3-90,  5,"Total Geral     ..."


PrWin Tx_NP,Col3,0,"N",@TotPag1
PrWin Tx_NP,Col4,0,"N",@TotPag2

PrWin Tx_NP,Col3,5,"N",@TotGer1
PrWin Tx_NP,Col4,5,"N",@TotGer2

x=TotLpz(0)                       'azerar totalizador 
call SigLstRod
PrWin FP
End sub


Sub Horas_Calc 					  ' Calculo das Horas
trb$=Gpe_Mst_Trb$
Horas1= GpeAcmLerPer("H",trb$,"191,192,193")
Horas2= GpeAcmLerPer("H",trb$,"194,195,196")
Horas=Horas1+Horas2
Valor1$=FrmVal$(Horas1,21,5.2)
Valor2$=FrmVal$(Horas2,21,5.2)
end Sub


Sub TotaisPrp
TotPag1$=FrmVal$(vTotPag1,21,4.2)
TotPag2$=FrmVal$(vTotPag2,21,4.2)

TotGer1$=FrmVal$(vTotGer1,21,4.2)
TotGer2$=FrmVal$(vTotGer2,21,4.2)
end sub
##


'==============================================================================
#INC - Funcoes comuns
'==============================================================================
Funcoes comuns                 =[SIG_Dir.Div],LsComPgm.Std
##

