'Nome       : GPEFCT.STD
'Tipo       : LST
'Data       : 2014/02/13
'Versao     : 1.2
'Descricao  : Relacao para fundo compensacao trabalho

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.2  2017/??/?? ---------------------------------------------------
'Impressao para XLS

'- Versao : 1.1a 2015/08/03 ---------------------------------------------------
'Colocar data fim contrato

'- Versao : 1.1  2015/03/17 ---------------------------------------------------
'Colocar seccao

'- Versao : 1.0  2014/02/13 ---------------------------------------------------
'Versao base


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


'==============================================================================
#ESP - Campos especificos
'==============================================================================
##



'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=FCT
Nome                       [DocNom]=FCT,Impressão do Mapa

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=36
Colunas por linha          [DocCol]132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Listar continuo            [DocEsp]=LstCnt=1
Ordenacao                  [DocEsp]=ORD=FCT
Tipo de rendimento         [DocEsp]=TipRnd=A
Identificador de listagem  [DocEsp]=LstId=fct


'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_Cab
Listar linhas               [FxLIN]=PW_Lin 
Listar fim                  [FxFIM]=PW_Fim
##



'-----------------------------------------------------------------------------
#DOC - Configuracao do documento
'-----------------------------------------------------------------------------
Tipo                       [DocTip]=FCT
Nome                       [DocNom]=Fctxls,Exportação Excel

'formato
Impressora                 [DocPrt]=NULA
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=FCT
Tipo de rendimento         [DocEsp]=TipRnd=A
Identificador de listagem  [DocEsp]=LstId=fct

'funcoes de listagem
Base para documento         [FxDOC]=XlsFct
Listar cabecalho            [FxCAB]=XlsFct_Cab
Listar linhas               [FxLIN]=XlsFct_Lin,0
Listar fim                  [FxFIM]=XlsFct_Fim

Matriz auxiliar            [DocMat]=GpeFct.xls

##


'==============================================================================
#VAR - Variaveis
'==============================================================================
Data        = FrmVal$(Sig_DtHoje,45,0)
Pag         = Doc_CntPag

EmpNome     = Emp_Inf_Nome$
EmpMorad    = Emp_Inf_Morada$
EmpLocal    = Emp_Inf_Local$
EmpCpost    = Emp_Inf_Cpost$
EmpContrib  = Emp_Inf_Contrib$
EmpNiss     = GpeTabCon$("CSS",GpeTabCon$("EST",gpe_mst_est$,"CSS"),"CTRB")

Nome        = gpe_mst_trb$+" "+Gpe_Mst_Nome$
Tip         = Gpe_Mst_TipRnd$
Nif         = Gpe_Mst_Ctrb$
Niss        = Gpe_Mst_crssnb$
admin       = FrmVal$(gpe_mst_dtadmi,44,0)
fimct       = FrmVal$(gpe_mst_dtfimct,44,0)



vBase       = GpeFrmMoe$("",11,MemNum(10))
vFc         = GpeFrmMoe$("",11,MemNum(11))
vFg         = GpeFrmMoe$("",11,MemNum(12))
vLin        = GpeFrmMoe$("",11,MemNum(13))

tBase       = GpeFrmMoe$("",11,MemNum(20))
tFc         = GpeFrmMoe$("",11,MemNum(21))
tFg         = GpeFrmMoe$("",11,MemNum(22))
tLin        = GpeFrmMoe$("",11,MemNum(23))

Sec      = GpeCodFrm$("SEC",Gpe_Mst_Sec$)+" - "+GpeTabCon$("SEC",Gpe_Mst_Sec$,"DESC")

##

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


'==============================================================================
#PGM - Formato do documento
'==============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
fx=PrtOri("L")
FimDoc=180
LinPer=FimDoc+10
End sub


Sub Pw_CabIni
fx=PrtOri("L")
end sub

'------------------------------------------------------------------------------
Sub PW_Cab
'------------------------------------------------------------------------------
PrWIN COR_F, 15                              'cor de fundo 
PrWIN AJT_B,  Margem,15                      'posicao base
PrWIN COR_T,  CorTitLst                      'cor de titulo
PrWIN FON  ,   10,   1                       'activar fonte

Titulo$="Fundo de Compensação do Trabalho"
SigCabNorOpcTit=2             'usar titulo indicado
Call SigCabNor
PrWIN AJT_B,  Margem, 30                     'posicao base

esp=19

Col1=0
Col1a=70
Col2=Col1a+46
Col3=Col2+18
Col4=Col3+20
Col4b=Col4+esp

Col5=Col4b+esp
Col6=Col5+esp
Col7=Col6+esp
Col8=Col7+esp
Col9=Col8+esp
ColMax=270

Lin=1
lin2=4
ajt=5


ajt=5
PrWIN FON  ,   8,   1                        'activar fonte
PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN AJT_B,  Margem, 26                    'posicao base
PrWIN TX_CTR,Col1,Lin,Col1a,Lin,"Nome"
PrWIN TX_CTR,Col1a,Lin,Col2,Lin,"Secção"
PrWIN TX_CTR,Col2,Lin,Col3-ajt,Lin,"NIF"
PrWIN TX_CTR,Col3,Lin,Col4-ajt,Lin,"NISS"
PrWIN TX_CTR,Col4,Lin,Col4b-ajt,Lin,"Data início"
PrWIN TX_CTR,Col4b,Lin,Col5-ajt,Lin,"Data fim"


PrWIN TX_CTR,Col5,Lin,Col6,Lin,"Salário Base"

PrWIN TX_CTR,Col6,Lin ,Col7,Lin ,"FCT"
PrWIN TX_CTR,Col6,Lin2,Col7,Lin2,"(0,925 %)"

PrWIN TX_CTR, Col7,Lin ,Col8,Lin ,"FGCT"
PrWIN TX_CTR, Col7,Lin2,Col8,Lin2,"(0,075 %)"
PrWIN TX_CTR, Col8,Lin,ColMax,Lin,"Total"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, ColMax, 0                      'linha
PrWIN GR_LI, 0, 8, ColMax,8

PrWin COR_T ,  CorLin
AjtTot=2
InicioEscrita=32
End Sub


'------------------------------------------------------------------------------
Sub Pw_Lin
'------------------------------------------------------------------------------
PrWIN FON  ,   8,   1                        'activar fonte
PrWIN AJT_B,  Margem, InicioEscrita+Doc_CntLin*4       'posicao base
PrWIN TX_DMX,   Col1,0,Col1a-Col1,@Nome
PrWIN TX_DMX,   Col1a,0,Col2-Col1a,@Sec

PrWIN TX_NP,    Col2 ,0,"N",@Nif
PrWIN TX_NP,    Col3 ,0,"N",@Niss
PrWIN TX_NP,    Col4 ,0,"N",@Admin
PrWIN TX_NP,    Col4b,0,"N",@Fimct
PrWIN TX_NP,    Col5 ,0,"N",@Vbase
PrWIN TX_NP,    Col6 ,0,"N",@vFc
PrWIN TX_NP,    Col7 ,0,"N",@vFg
PrWIN TX_NP,    Col8 ,0,"N",@vLin
End Sub


Sub Pw_FimAjt
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc                       'posicao base
PrWIN GR_LI,     0,  0, ColMax,0                'linha
PrWIN AJT_B,Margem,FimDoc+4                     'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN TX_N, Col6,  0,"Continua ..."
call SigLstRod
PrWin FP
end Sub

	
Sub Pw_Fim
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,Fimdoc                       'posicao base
PrWIN GR_LI,     0,  0, ColMax, 0               'linha
PrWIN AJT_B,Margem,FimDoc+4                     'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
'PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_N, Col4,  0,"Totais ..."
PrWIN TX_NP,    Col5,0,"N",@tBase
PrWIN TX_NP,    Col6,0,"N",@tFc
PrWIN TX_NP,    Col7,0,"N",@tFg
PrWIN TX_NP,    Col8,0,"N",@tLin
call SigLstRod
PrWin FP
end Sub


'-----------------------------------------------------------------------------
' XLS - Exportacao para excel
'-----------------------------------------------------------------------------
Sub XlsFct_DocFim 'terminar documento
res = XlsDocDir$("A", dfi$)                        'activar directorio
res = XlsDocGrv(ficDoc$)                           'gravar ficheiro
res = XlsVer(0)                                    'mostrar EXCEL - normal
res = XlsLib(0)                                    'libertar EXCEL
end sub


sub XlsFct_CabIni
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
nfi$ = "RND:GpeFct.xls"                            'nome do ficheiro
cmo$ = SigCmoCur$("MIX")                           'modulo corrente
ficDoc$ = FicTmp$(dfi$, nfi$)                      'ficheiro para documento
res = DirCri("D", dfi$)                            'criar directorio para documento
xlsMatNom$ = DocOpc$("DocMat")                     'nome do ficheiro matriz
xlsMat$    = DocOpc$("DocMat+SBT")                 'endereco do ficheiro matriz
res = FicCop(xlsMat$, ficDoc$)                     'criar ficheiro (copia de matriz)
res = XlsPrp(0)                                    'preparar EXCEL
res = XlsDocLer(ficDoc$)                           'ler ficheiro
call XlsFct_Prep                                   'preparar
end sub


Sub XlsFct_Prep 'inicializar EXCEL
res = XlsWks(1)                                    'activar worksheet

empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTip$ = MemTxt$(2)                               'tipo da listagem
lstDt$  = FrmDt$("EXT", Sig_DtHoje)                'data para listagem

fx = XlsIdeLst("Emp_Num", empNum$)                'numero da empresa
fx = XlsIdeLst("Emp_Nome", empNom$)               'nome da empresa

fx = XlsIdeLst("Lst_Tipo", lstTip$)               'tipo da listagem
fx = XlsIdeLst("Lst_Data", lstDt$)                'data

Lin = 8                    'pesquisar posicao base
end sub



SUB XlsFct_Lin 'linha de valores
Lin = Lin + 1
base=1
fx = XlsLinIns(Lin, 1)                         'juntar linha

fx = XlsLst(Lin, 1+base,"'"+Gpe_Mst_trb$)                           'codigo
fx = XlsLst(Lin, 2+base,Gpe_Mst_Nome$)                              'nome
fx = XlsLst(Lin, 3+base,@sec)                                        'sseccao

fx = XlsLst(Lin, 4+base,Gpe_Mst_ctrb$)                              'nif
fx = XlsLst(Lin, 5+base,Gpe_Mst_CrssNb$)                            'niss


fx = XlsLst(Lin,6+base,frmdt$("",Gpe_Mst_DtAdmi))                  'admissao
fx = XlsLst(Lin,7+base,frmdt$("",Gpe_Mst_DtFimCt))                 'fim contrato

fx = XlsLst(Lin, 8+base,MemNum(10))                              'vbase
fx = XlsLst(Lin, 9+base,MemNum(11))                              'fct
fx = XlsLst(Lin, 10+base,MemNum(12))                            'fgct
fx = XlsLst(Lin, 11+base,MemNum(13))                            'vlin
End sub


##


##


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

