'Nome       : TrbLst.std
'Tipo       : LST
'Data       : 2016/06/02
'Versao     : 1.2j
'Descricao  : Listagem de trabalhadores

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

'- Versao : 1.0a 2000/02/07 ---------------------------------------------------
'Apenas mostrava trabalhadores que tivessem valores positivos no processamento

'- Versao : 1.0b 2000/06/29 ---------------------------------------------------
'Formatar valores consoante moeda da empresa

'- Versao : 1.0c 2000/12/04 ---------------------------------------------------
'Formatar valores consoante decimais indicados pelo programa

'- Versao : 1.0d 2001/01/04 ---------------------------------------------------
'Listagem em formato grafico

'- Versao : 1.0e 2001/02/12 ---------------------------------------------------
'Ajustes diversos
'Alteracao nos ficheiros a usar nas inclusoes

'- Versao : 1.1  2003/03/11 ---------------------------------------------------
'Ajuste de posicoes na impressao grafica
'Forcar cor fundo a branco para limpar o ecran de previsualizar

'- Versao : 1.2  2003/11/21 ---------------------------------------------------
'apenas listar trabalhadores no activo
'Exportar para Excel

'- Versao : 1.2a 2004/02/12 ---------------------------------------------------
'Na listagem conferencia nao apresentava a categoria

'- Versao : 1.2b 2005/10/24 ---------------------------------------------------
'Corrigir ortografia de abreviatura Beneficiario

'- Versao : 1.2c 2007/11/07 ---------------------------------------------------
'Descodificar tipo de irs

'- Versao : 1.2d 2008/09/26?? ---------------------------------------------------
'Nao apresentava o domicilio fiscal

'- Versao : 1.2e 2012/03/05 ---------------------------------------------------
'Listagem de conferencia sem valores ( apenas formato grafico)

'- Versao : 1.2f 2014/11/12 ---------------------------------------------------
'Disponibilizar morada na listagem para excel

'- Versao : 1.2g 2015/01/06 ---------------------------------------------------
'Disponibilizar codigo da seccao
'Ajustes gráficos

'- Versao : 1.2h 2015/02/18 ---------------------------------------------------
'Listagem para excel, apresentar 9 valores especiais

'- Versao : 1.2i 2015/03/09 ---------------------------------------------------
'Listagem para excel, apresentar tipo contrato

'- Versao : 1.2j 2016/06/02 ---------------------------------------------------
'Listagem excel, apresentar descritivos na seccao,habilitacoes,categoria,profissao



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


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


'-----------------------------------------------------------------------------
' Configuracao do documento
'-----------------------------------------------------------------------------
#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=TRB,Por Codigo

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12

'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_Cab
Listar linhas               [FxLIN]=Tx_Lin
Listar fim                  [FxFIM]=Tx_Fim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Alfa,Alfabético

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=ALFA
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12


'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_Cab
Listar linhas               [FxLIN]=Tx_Lin
Listar fim                  [FxFIM]=Tx_Fim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Ang,Dados Anagraficos

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=52
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12

'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_AngCab
Listar linhas               [FxLIN]=Tx_AngLin,20
Listar fim                  [FxFIM]=Tx_AngFim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Cnf,Para Conferencia

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=52
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12

'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_CnfCab
Listar linhas               [FxLIN]=Tx_CnfLin,60
Listar fim                  [FxFIM]=Tx_CnfFim
##


'--graficos-----------------------------------------------------------------------
#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=TRB_G,Por Codigo

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=55
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12

'funcoes de listagem
Listar cabecalho            [FxCAB]=Pw_Cab
Listar linhas               [FxLIN]=Pw_Lin
Listar fim                  [FxFIM]=Pw_Fim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Alfa_G,Alfabético

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=55
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=ALFA
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12


'funcoes de listagem
Listar cabecalho            [FxCAB]=Pw_Cab
Listar linhas               [FxLIN]=Pw_Lin
Listar fim                  [FxFIM]=Pw_Fim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Ang_G,Dados Anagraficos

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=60
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12


'funcoes de listagem
Listar cabecalho            [FxCAB]=Pw_AngCab
Listar linhas               [FxLIN]=Pw_AngLin,20
Listar fim                  [FxFIM]=Pw_AngFim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Cnf_G,Para Conferencia

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=52
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12

'funcoes de listagem
Listar cabecalho            [FxCAB]=Pw_CnfCab
Listar linhas               [FxLIN]=Pw_CnfLin,60
Listar fim                  [FxFIM]=Pw_CnfFim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Cnfsv_G,Para Conferencia sem Valores

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=52
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12

'funcoes de listagem
Listar cabecalho            [FxCAB]=Pw_CnfCab
Listar linhas               [FxLIN]=Pw_CnfLinSv,60
Listar fim                  [FxFIM]=Pw_CnfFim
##


'-----------------------------------------------------------------------------
#DOC - Configuracao do documento
'-----------------------------------------------------------------------------
Tipo                       [DocTip]=ordger
Nome                       [DocNom]=trbXls,Exportacao 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=COD
Listar continuo            [DocEsp]=LstCnt=1
Listar qnd valores zero    [DocEsp]=LstZer=1
Situacao a listar          [DocEsp]=TrbSit=11,12

'funcoes de listagem
Base para documento         [FxDOC]=XlsTrb
Listar cabecalho            [FxCAB]=Xls_Cab
Listar linhas               [FxLIN]=Xls_Lin,0
Listar fim                  [FxFIM]=Xls_Fim

Matriz auxiliar            [DocMat]=TrbLst.xls

##


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

'linha
Cod       = Gpe_Mst_Trb$
Nome      = Gpe_Mst_Nome$
CodCat    = GpeTabCon$("CAT",Gpe_Mst_Categ,"ABRV")
CodSec    = GpeTabCon$("SEC",Gpe_Mst_Sec$,"ABRV")

Mor       = Gpe_Mst_Morada$
Loc       = Gpe_Mst_Local$
Cpos      = Gpe_Mst_Cpost$
Freg      = Gpe_Mst_Freg$
Conc      = Gpe_Mst_Conc$
Dist      = Gpe_Mst_Dist$
Tel       = Gpe_Mst_Telef$

Cont      = Gpe_Mst_Ctrb$
BInum     = Gpe_Mst_BInum

Domic     = FrmVal$(Gpe_Mst_CodDom,21,-4)
DtAdm     = FrmVal$(Gpe_Mst_DtAdmi,44,0)

Cat       = GpeCodFrm$("CAT",Gpe_Mst_Categ)+"      - "+GpeTabCon$("CAT",Gpe_Mst_Categ,"ABRV")
Sec       = GpeCodFrm$("SEC",Gpe_Mst_Sec$)+" - "+GpeTabCon$("SEC",Gpe_Mst_Sec$,"DESC")
Crss      = GpeCodFrm$("CSS",Gpe_Mst_Crss)+"    - "+GpeTabCon$("CSS",Gpe_Mst_Crss,"ABRV")
Est       = GpeCodFrm$("EST",Gpe_Mst_Est$)+" - "+GpeTabCon$("EST",Gpe_Mst_Est$,"NOME")
Seg       = GpeCodFrm$("SEG",Gpe_Mst_CodSeg)+"      - "+GpeTabCon$("SEG",Gpe_Mst_CodSeg,"ABRV")
Bnc       = GpeCodFrm$("BNC",Gpe_Mst_Banco$)+"  - "+GpeTabCon$("BNC",Gpe_Mst_Banco$,"ABRV")
Snd       = GpeCodFrm$("SND",Gpe_Mst_Sind)+"      - "+GpeTabCon$("SND",Gpe_Mst_Sind,"ABRV")
Hab       = GpeCodFrm$("HAB",Gpe_Mst_Habil$)+" - "+GpeTabCon$("HAB",Gpe_Mst_Habil$,"ABRV")
Prof      = GpeCodFrm$("PROF",Gpe_Mst_Prof$)+" - "+GpeTabCon$("PROF",Gpe_Mst_Prof$,"ABRV")
SitProf   = GpeCodFrm$("SIT",Gpe_Mst_SitProf$)+" - "+GpeTabCon$("SIT",Gpe_Mst_SitProf$,"ABRV")

BenCrss   = Gpe_Mst_CrssNb$
Nib       = Gpe_Mst_BcNib$

SitEmp    = GpeFrmCodSit$("SIT_E",Gpe_Mst_SitEmp)

DtNasc    = FrmVal$(Gpe_Mst_DtNasc,44,0)
DtSit     = FrmVal$(Gpe_Mst_DtSit,44,0)
DtAdm     = FrmVal$(Gpe_Mst_DtAdmi,44,0)
DtProm    = FrmVal$(Gpe_Mst_DtProm,44,0)
DtFct     = FrmVal$(Gpe_Mst_DtFimCt,44,0)

Sex       = GpeFrmCodSit$("SEXO",Gpe_Mst_Sexo$)

SocSnd    = GpeFrmMoe$("",7,Gpe_Mst_SindSoc)
Quota     = GpeFrmMoe$("",8,Gpe_Mst_SindQ)
Lpag      = GpeFrmCodTab$(2,Gpe_Mst_Lpag$)
Mpag      = GpeFrmCodSit$("M_PAG",Gpe_Mst_Mpag)
Obs       = Gpe_Mst_ObsQp$

EstCiv    = GpeFrmCodSit$("EST_C",Gpe_Mst_EstCiv)
Tit       = GpeFrmCodSit$("TITL",Gpe_Mst_TitR)
DtDecl    = FrmVal$(Gpe_Mst_DtDecl,44,0)
Ndepen    = FrmVal$(Gpe_Mst_Depen,21,2.0)

Conj      = Gpe_Mst_ConjN$
ConjCtrb  = Gpe_Mst_ConjC$
DecDef    = FrmVal$(Gpe_Mst_DefP,61,1.0)
ConjDef   = FrmVal$(Gpe_Mst_DefC,61,1.0)
NdepenDef = FrmVal$(Gpe_Mst_DefD,21,2.0)

TipTmp    = GpeFrmCodSit$("TEMPO",Gpe_Mst_Calc)
HorSem    = FrmVal$(Gpe_Mst_Horas,21,2.1)
HorMes    = FrmVal$(GpeHrCnv("SM",Gpe_Mst_Horas),21,3.2)
VencBas   = GpeFrmMoe$("",11,Gpe_Mst_Vbase)
VencHora  = GpeFrmMoe$("",8,GpeVenc("H",Gpe_Mst_Horas,Gpe_Mst_Vbase))
VencDia   = GpeFrmMoe$("",8,GpeVenc("D",Gpe_Mst_Horas,Gpe_Mst_Vbase))

TpIrs     =  GpeFrmCodSit$("IRS_TIP",Gpe_Mst_IrsTp)


TxIrs     = FrmVal$(Gpe_Mst_IrsTx,21,2.1)
Tr        = Gpe_Mst_TipRnd$

ValEsp1   = GpeFrmMoe$("",12,Gpe_Mst_Vesp1)
ValEsp2   = GpeFrmMoe$("",12,Gpe_Mst_Vesp2)
ValEsp3   = GpeFrmMoe$("",12,Gpe_Mst_Vesp3)
ValEsp4   = GpeFrmMoe$("",12,Gpe_Mst_Vesp4)

TipMva    = FrmVal$(Gpe_Mst_TipMva,21,1.0)
##


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


'-----------------------------------------------------------------------------
' Formato do documento (Cabecalho, Linhas e Fim)
'-----------------------------------------------------------------------------
#PGM
Sub Tx_Cab
Print PrtCmd$("[10CPILN]");
FxDiv LstIde,10CPI,1
?
Print PrtCmd$("[16CPILD]");
?                              Lista de Empregados
Print PrtCmd$("[10CPILN]");
?
?Data : @DatDia                                                        Pag: @Pag
?===============================================================================
?Codigo                   Nome                        Categoria       Seccao   #
?===============================================================================
End Sub


Sub Tx_Lin
?@Cod    @Nome                                        @CodCat         @CodSec  #
End Sub


Sub Tx_Fim
?================================================================================
FxDiv LstPer,SP
End Sub


'-----------------------------------------------------------------------------
' Listagem de anagraficos
'-----------------------------------------------------------------------------
Sub Tx_AngCab
Print PrtCmd$("[10CPILN]");
FxDiv LstIde,10CPI,1
?
Print PrtCmd$("[16CPILD]");
?                              Dados Anagraficos
Print PrtCmd$("[10CPILN]");
?
?Data : @DatDia                                                        Pag: @Pag
?
End Sub


Sub Tx_AngLin
?===============================================================================
Print PrtCmd$("[16CPILD]");
?@Cod   @Nome                                                                  #
Print PrtCmd$("[10CPILN]");
?===============================================================================
?Morada     : @Mor                                                             #
?Localidade : @Loc                                                             #
?Cod.Postal : @Cpos                                                            #
?Freguesia  : @Freg                                                            #
?Concelho   : @Conc                                                            #
?Distrito   : @Dist                                                            #
?
?Telefone   : @Tel                            Data Nascimento : @DtNasc        #
?
?Estabelecimento : @Est                       Data Admissao   : @DtAdm         #
?Cod.Seccao      : @Sec                                                        #
?Cod.Categoria   : @Cat                                                        #
?
?Cod. C.R.S.S.   : @Crss                      Beneficiario No  : @BenCrss      #
?Contribuinte    : @Cont                      Domicilio Fiscal : @Domic        #
End Sub


Sub Tx_AngFim
?================================================================================
FxDiv LstPer,SP
End Sub


'-----------------------------------------------------------------------------
' Listagem para conferencia
'-----------------------------------------------------------------------------
Sub Tx_CnfCab
FxDiv LstIde,10CPI,1
?
Print PrtCmd$("[16CPILD]");
?                           Ficha de Empregado
Print PrtCmd$("[10CPILN]");
?
Data : @DatDia
End Sub


Sub Tx_CnfLin
?-------------------------------------------------------------------------------
?Codigo : @Cod     Nome : @Nome                                                #
?------------------------------------------------------ Dados Pessoais ---------
?Morada     : @Mor                                                             #
?Localidade : @Loc                                                             #
?Cod.Postal : @Cpos                                                            #
?Freguesia  : @Freg                                                            #
?Concelho   : @Conc                                                            #
?Distrito   : @Dist                                                            #
?Pais       : @Pais                                                            #
?Telefone   : @Tel                                                             #
?Data Nasc. : @DtNasc               Sexo : @Sex                                #
?
?------------------------------------------------------ Situacao no Emprego ----
?Sit.Emprego          : @SitEmp         Data Situacao : @DtSit                 #
?Data Admissao        : @DtAdm          Data Promocao : @DtProm                #
?Data Fim de Contrato : @DtFct                                                 #
?
?------------------------------------------------------ Dados de Tabelas -------
?Cod.Categoria : @Cat                                                          #
?Cod.Seccao    : @Sec                                                          #
?Cod.C.R.S.S.  : @Crss                   No Benef. : @BenCrss                  #
?Cod.Seguro    : @Seg                                                          #
?Cod.Banco     : @Bnc                    N.I.B.    : @Nib                      #
?Cod.Sindicato : @Snd                    Socio No  : @SocSnd                   #
?                                        Quota     : @Quota                    #
?Estabelecimento : @Est                                                        #
?Local Pagamento : @Lpag                                                       #
?Modo Pagamento  : @Mpag                                                       #
?Habilitacoes    : @Hab                                                        #
?Profissao       : @Prof                                                       #
?Situacao Prof.  : @SitProf                                                    #
?Observacoes     : @Obs                                                        #
?
?------------------------------------------------------ Declaracao I.R.S. ------
?Estado Civil     : @EstCiv                Titularidade     : @Tit             #
?                                                                              #
?Contribuinte     : @Cont                  Domicilio Fiscal : @Domic           #
?Tipo de IRS      : @TpIrs                 Taxa IRS         : @TxIrs           #
?Tipo Rendimento  : @Tr                                                        #
?
?Data Declaracao  : @DtDecl                                                    #
?No Dependentes   : @Ndepen                                                    #
?
?Conjuge          : @Conj                                                      #
?Contribuinte     : @ConjCtrb                                                  #
?Decl.Deficiente  : @DecDef                                                    #
?Conj.Deficiente  : @ConjDef                                                   #
?No Dep.Deficien. : @NdepenDef                                                 #
?
?------------------------------------------------------ Vencimento -------------
?Tip de Vencimento: @TipTmp        Movimentos Automaticos : @TipMva            #
?Horas/Semana     : @HorSem        Horas/Mes : @HorMes                         #
?Vencimento Base  : @VencBas       Venc.Hora : @VencHora   Venc.Dia : @VencDia #
?
?Valor Especial 1 : @ValEsp1              Valor Especial 2 : @ValEsp2          #
?Valor Especial 3 : @ValEsp3              Valor Especial 4 : @ValEsp4          #
End Sub


Sub Tx_CnfFim
?================================================================================
FxDiv LstPer,SP
End Sub


'------------------------------------------------------------------------------
'Impressao grafica
'------------------------------------------------------------------------------
SUB FxIni 'funcao de inicializacao
Call SigLstIni
End sub


Sub Pw_CabComum
PrWIN COR_F, 15                                    'cor de fundo
SigCabNorOpcTit=2 	'usar titulo indicado
Call SigCabNor
PrWIN AJT_B,  Margem, 30                     'posicao base
End sub


Sub Pw_FimComum
PrWIN AJT_B,  Margem, 265          	'posicao base
PrWIN GR_LI, 0, 0, MargemD, 0               	'linha
Call SigLstFim
PrWin FP
End sub


Sub Pw_Cab
Titulo$="Lista de empregados"
Call Pw_CabComum

Col1=3
Col2=20
Col3=100
Col4=140
Col5=MargemD

PrWIN AJT_B,  Margem, 30                    	'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Col5, 0               	'linha
PrWIN GR_LI, 0, 5, Col5, 5               	'linha

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,  10,   1                        	'activar fonte
PrWIN TX_N,  Col1,0,"Código"
PrWIN TX_CTR,  Col2,0,Col3,0,"Nome"
PrWIN TX_N,  Col3,0,"Categoria"
PrWIN TX_N,  Col4,0,"Secção"
PrWIN COR_T,  Corlin                            'cor de linha
End Sub


Sub Pw_Lin
PrWIN AJT_B,  Margem, 35+Doc_CntLin*4          	'posicao base
PrWIN TX_CTR,  Col1,0,Col2,0,@Cod
PrWIN TX_DMX,  Col2,0,Col3-Col2,@Nome
PrWIN TX_NP,    Col3,0,"N",@codCat
PrWIN TX_NP,    Col4,0,"N",@CodSec
End Sub


Sub Pw_Fim
Call Pw_FimComum
End Sub



Sub Pw_AngCab
Titulo$="Dados anagráficos"
Call Pw_CabComum
End Sub


Sub Pw_AngLin
PrWIN AJT_B,  Margem, 25+Doc_CntLin*3.7          	'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, MargemD, 0               	'linha
PrWIN GR_LI, 0, 4, MargemD, 4               	'linha

Col1=5
Col2=130

 cl=col1+30
cl2=Col2+35

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,  10,   1                        	'activar fonte
PrWIN TX_N,  Col1,0,@Cod
PrWIN TX_N,  Col1+30,0,@Nome

PrWIN TX_N,  Col1,5,"Morada"
PrWIN TX_N,  Col1,10,"Localidade"
PrWIN TX_N,  Col1,15,"Cod.Postal"
PrWIN TX_N,  Col1,20,"Freguesia"
PrWIN TX_N,  Col1,25,"Concelho"
PrWIN TX_N,  Col1,30,"Distrito"
PrWIN TX_N,  Col1,35,"Telefone"
PrWIN TX_N,  Col2,35,"Data Nascimento"
PrWIN TX_N,  Col1,40,"Estabelecimento"
PrWIN TX_N,  Col2,40,"Data de Admissão"
PrWIN TX_N,  Col1,45,"Secção"
PrWIN TX_N,  Col1,50,"Categoria"
PrWIN TX_N,  Col1,55,"C.R.S.S."
PrWIN TX_N,  Col2,55,"Beneficiario N."
PrWIN TX_N,  Col1,60,"Contribuinte"
PrWIN TX_N,  Col1,65,"Domicilio Fiscal"

PrWIN COR_T,  Corlin                            'cor de linha
PrWIN TX_N,    Cl,5,@Mor
PrWIN TX_N,    Cl,10,@Loc
PrWIN TX_N,    Cl,15,@Cpos
PrWIN TX_N,    Cl,20,@Freg
PrWIN TX_N,    Cl,25,@Conc
PrWIN TX_N,    Cl,30,@Dist
PrWIN TX_N,    Cl,35,@Tel
PrWIN TX_N,   Cl2,35,@DtNasc
PrWIN TX_N,    Cl,40,@Est
PrWIN TX_N,   Cl2,40,@DtAdm
PrWIN TX_N,    Cl,45,@Sec
PrWIN TX_N,    Cl,50,@Cat
PrWIN TX_N,    Cl,55,@Crss
PrWIN TX_N,   Cl2,55,@BenCrss
PrWIN TX_N,    Cl,60,@Cont
PrWIN TX_N,    Cl,65,@Domic
End Sub


Sub Pw_AngFim
Call Pw_FimComum
End Sub


'-----------------------------------------------------------------------------
' Listagem para conferencia
'-----------------------------------------------------------------------------
Sub Pw_CnfCab
MostraValores=1                               'apresentar valores

Titulo$="Ficha de empregado"
Call Pw_CabComum
End Sub


Sub Pw_CnfLin
PrWIN AJT_B,  Margem, 25+Doc_CntLin*3.7          	'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
'PrWIN GR_LI, 0, 0, MargemD, 0               	'linha
PrWIN GR_LI, 0, 4, MargemD, 4               	'linha

Col1=5
Col2=35


PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,  10,   1                        	'activar fonte

PrWIN TX_N,  Col1,0,"Codigo"
PrWIN TX_N,  Col2,0,"Nome"

PrWIN COR_T,  Corlin                            'cor de linha
PrWIN TX_N,  Col1+15,0,@Cod
PrWIN TX_N,  Col2+13,0,@Nome

PrWIN COR_T,  CorTitLst                         'cor de titulo
Col1=5
Col2=120

 cl=col1+40
cl2=Col2+30

PrWIN TX_N,  Col1,5,"Morada"
PrWIN TX_N,  Col1,10,"Localidade"
PrWIN TX_N,  Col1,15,"Cod.Postal"
PrWIN TX_N,  Col1,20,"Freguesia"
PrWIN TX_N,  Col1,25,"Concelho"
PrWIN TX_N,  Col1,30,"Distrito"
PrWIN TX_N,  Col1,35,"Pais"
PrWIN TX_N,  Col1,40,"Telefone"
PrWIN TX_N,  Col1,45,"Data Nascimento"

PrWIN COR_T,  Corlin                            'cor de linha
PrWIN TX_N,    Cl,5,@Mor
PrWIN TX_N,    Cl,10,@Loc
PrWIN TX_N,    Cl,15,@Cpos
PrWIN TX_N,    Cl,20,@Freg
PrWIN TX_N,    Cl,25,@Conc
PrWIN TX_N,    Cl,30,@Dist
PrWIN TX_N,    Cl,35,@Pais
PrWIN TX_N,    Cl,45,@DtNasc
PrWIN TX_N,    Cl,40,@Tel
PrWIN TX_N,  Col2+15,45,@Sex
PrWIN TX_N,     Col2,45,"Sexo"


PrWIN COR_T,  CorTitLst                           'cor de titulo
PrWIN GR_LI, 0, 55, MargemD, 55               	'linha
PrWIN TX_N,  Col1,55,"Sit. Emprego"
PrWIN TX_N,  Col2,55,"Data Situação"
PrWIN TX_N,  Col1,60,"Data Admissão"
PrWIN TX_N,  Col2,60,"Data Promoção"
PrWIN TX_N,  Col1,65,"Data Fim Contracto"

PrWIN COR_T,  CorLin                               'cor  de linha
PrWIN TX_N,    Cl,55,@SitEmp
PrWIN TX_N,   Cl2,55,@DtSit
PrWIN TX_N,    Cl,60,@DtAdm
PrWIN TX_N,   Cl2,60,@DtProm
PrWIN TX_N,    Cl,65,@DtFct

'------------------------------------------------------ Dados de Tabelas -------
PrWIN GR_LI, 0, 75, MargemD, 75               	'linha
PrWIN COR_T,  CorTitLst                           'cor de titulo
PrWIN TX_N,  Col1,75,"Categoria"
PrWIN TX_N,  Col1,80,"Secção"
PrWIN TX_N,  Col1,85,"Cod. C.R.S.S."
PrWIN TX_N,  Col2,85,"No Benef."
PrWIN TX_N,  Col1,90,"Cod. Seguro"
PrWIN TX_N,  Col1,95,"Banco"
PrWIN TX_N,  Col2,95,"N.I.B."
PrWIN TX_N,  Col1,100,"Cod. Sindicato"
PrWIN TX_N,  Col2,100,"Socio No"
PrWIN TX_N,  Col2,105,"Quota"
PrWIN TX_N,  Col1,110,"Estabelecimento"
PrWIN TX_N,  Col1,115,"Local Pagamento"
PrWIN TX_N,  Col1,120,"Modo de Pagamento"
PrWIN TX_N,  Col1,125,"Habilitações"
PrWIN TX_N,  Col1,130,"Profissão"
PrWIN TX_N,  Col1,135,"Situação Prof."
PrWIN TX_N,  Col1,140,"Observações"

PrWIN COR_T,  CorLin                               'cor  de linha
PrWIN TX_N,    Cl,75,@Cat
PrWIN TX_N,    Cl,80,@Sec
PrWIN TX_N,    Cl,85,@Crss
PrWIN TX_N,   Cl2,85,@BenCrss
PrWIN TX_N,    Cl,90,@Seg
PrWIN TX_N,    Cl,95,@Bnc
PrWIN TX_N,   Cl2,95,@Nib
PrWIN TX_N,    Cl,100,@Snd
PrWIN TX_N,   Cl2,100,@SocSnd
PrWIN TX_N,   Cl2,105,@Quota
PrWIN TX_N,    Cl,110,@Est
PrWIN TX_N,    Cl,115,@Lpag
PrWIN TX_N,    Cl,120,@Mpag
PrWIN TX_N,    Cl,125,@Hab
PrWIN TX_N,    Cl,130,@Prof
PrWIN TX_N,    Cl,135,@SitProf
PrWIN TX_N,    Cl,140,@Obs


'------------------------------------------------------ Declaracao I.R.S. ------
PrWIN GR_LI, 0, 150, MargemD, 150               	'linha
PrWIN COR_T,  CorTitLst                           'cor de titulo
PrWIN TX_N,  Col1,150,"Estado Civil"
PrWIN TX_N,  Col2,150,"Titularidade"
PrWIN TX_N,  Col1,155,"B.I. / C.C."
PrWIN TX_N,  Col1,160,"Contribuinte"
PrWIN TX_N,  Col2,160,"Domicilio Fiscal"
PrWIN TX_N,  Col1,165,"Tipo de IRS"
PrWIN TX_N,  Col2,165,"Taxa IRS"
PrWIN TX_N,  Col1,170,"Tipo Rendimento"
PrWIN TX_N,  Col1,180,"Data Declaração"
PrWIN TX_N,  Col1,185,"No Dependentes"
PrWIN TX_N,  Col1,195,"Conjugue"
PrWIN TX_N,  Col2,195,"Contribuinte"
PrWIN TX_N,  Col1,200,"Decl.Deficiente"
PrWIN TX_N,  Col2,200,"Conj.Deficiente"
PrWIN TX_N,  Col1,205,"No Dep.Deficien."

PrWIN COR_T,  CorLin                               'cor  de linha
PrWIN TX_N,    Cl,205,@NdepenDef
PrWIN TX_N,   Cl2,200,@ConjDef
PrWIN TX_N,    Cl,200,@DecDef
PrWIN TX_N,   Cl2,195,@ConjCtrb
PrWIN TX_N,    Cl,195,@Conj
PrWIN TX_N,    Cl,185,@Ndepen
PrWIN TX_N,    Cl,180,@DtDecl
PrWIN TX_N,    Cl,170,@Tr
PrWIN TX_N,   Cl2,165,@TxIrs
PrWIN TX_N,    Cl,165,@TpIrs
PrWIN TX_N,   Cl2,160,@Domic
PrWIN TX_N,    Cl,160,@Cont
PrWIN TX_N,    Cl,155,@BInum
PrWIN TX_N,    Cl,150,@EstCiv
PrWIN TX_N,   Cl2,150,@Tit


'------------------------------------------------------ Vencimento -------------
IF MostraValores=1 Then

  PrWIN GR_LI, 0, 215, MargemD, 215               	'linha
  PrWIN COR_T,  CorTitLst                           'cor de titulo
  PrWIN TX_N,  Col1,215,"Tipo de Vencimento"
  PrWIN TX_N,  Col2,215,"Movimentos Automaticos"
  PrWIN TX_N,  Col1,220,"Horas/Semana"
  PrWIN TX_N,  Col2,220,"Horas/Mes"
  PrWIN TX_N,   Col1,225,"Vencimento base"
  PrWIN TX_N,Col1+70,225,"Venc.Hora"
  PrWIN TX_N,   Col2,225,"Venc.Dia"
  PrWIN TX_N,  Col1,230,"Valor Especial 1"
  PrWIN TX_N,  Col2,230,"Valor Especial 2"
  PrWIN TX_N,  Col1,235,"Valor Especial 3"
  PrWIN TX_N,  Col2,235,"Valor Especial 4"


  PrWIN COR_T,  CorLin                               'cor  de linha
  PrWIN TX_N,    Cl,215,@TipTmp
  PrWIN TX_N,   Cl2+20,215,@TipMva
  PrWIN TX_N,    Cl,220,@HorSem
  PrWIN TX_N,   Cl2,220,@HorMes
  PrWIN TX_N,     Cl,225,@VencBas
  PrWIN TX_N,  Cl+50,225,@VencHora
  PrWIN TX_N,    Cl2,225,@VencDia
  PrWIN TX_N,    Cl,230,@ValEsp1
  PrWIN TX_N,   Cl2,230,@ValEsp2
  PrWIN TX_N,    Cl,235,@ValEsp3
  PrWIN TX_N,   Cl2,235,@ValEsp4
End IF

End Sub


Sub Pw_CnfLinSv   '-------sem valores------
MostraValores=0        'não imprime zona de vencimento/valores
call Pw_CnfLin
MostraValores=1        'azera variavel
End Sub




Sub Pw_CnfFim
PrWIN AJT_B,  Margem, 270          	'posicao base
PrWIN GR_LI, 0, 0, MargemD, 0               	'linha
Call SigLstFim
PrWin FP
End Sub


'-----------------------------------------------------------------------------
' XLS - Funcoes comuns
'-----------------------------------------------------------------------------
Sub Xls_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
nfi$ = "RND:GpeTrb.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
end sub


Sub Xls_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


'-----------------------------------------------------------------------------
' XLS - Exportacao para excel
'-----------------------------------------------------------------------------
Sub XlsTrb_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsTrb_Prep                                   'preparar
end sub


Sub XlsTrb_DocFim 'terminar documento
'res = MsgUtz("","Doc Fim","")

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsTrb_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

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

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

'titulos para valores especiais
fx=XlsIdeLst("VE1",GpeTrbVespCon$("T1"))           
fx=XlsIdeLst("VE2",GpeTrbVespCon$("T2"))           
fx=XlsIdeLst("VE3",GpeTrbVespCon$("T3"))
fx=XlsIdeLst("VE4",GpeTrbVespCon$("T4"))
fx=XlsIdeLst("VE5",GpeTrbVespCon$("T5"))
fx=XlsIdeLst("VE6",GpeTrbVespCon$("T6"))
fx=XlsIdeLst("VE7",GpeTrbVespCon$("T7"))
fx=XlsIdeLst("VE8",GpeTrbVespCon$("T8"))
fx=XlsIdeLst("VE9",GpeTrbVespCon$("T9"))

res = XlsIdePsq("PO_BAS")                          'pesquisar posicao base

'posicao base
LinBas=5
Lin=6
end sub


SUB Xls_Lin 'linha de valores
'msgbox "","LIN",str$(lin)

Lin = Lin + 1
base=0
res = 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,Gpe_Mst_BiNum)                              'nome
fx = XlsLst(Lin, 4+base,Gpe_Mst_ctrb$)                              'nome

base=base+2


fx = XlsLst(Lin, 3+base,Gpe_Mst_Sec$)      'seccao
base=base+1
fx = XlsLst(Lin, 3+base,GpeTabCon$("SEC",Gpe_Mst_Sec$,"DESC"))      'seccao
fx = XlsLst(Lin, 4+base,Gpe_Mst_Vbase)                              'vencimento base
fx = XlsLst(Lin, 5+base,GpeTabCon$("HAB",Gpe_Mst_Habil$,"DESC"))    'habilitacoes
fx = XlsLst(Lin, 6+base,GpeTabCon$("CAT",Gpe_Mst_Categ,"DESC"))     'categoria
fx = XlsLst(Lin, 7+base,GpeTabCon$("PROF",Gpe_Mst_prof$,"DESC"))    'profissao
fx = XlsLst(Lin, 8+base,Gpe_Mst_Sexo$)                              'sexo

fx = XlsLst(Lin, 9+base,FrmDt$("",Gpe_Mst_DtNasc))                  'data nascimento
fx = XlsLst(Lin,10+base,GpeDataIdadeAm$("ANO",Gpe_Mst_DtNasc))      'idade

fx = XlsLst(Lin,11+base,GpeFrmCodSit$("EST_C",Gpe_Mst_EstCiv) )     'estado civil
fx = XlsLst(Lin,12+base,Gpe_Mst_Depen)                              'dependentes

fx = XlsLst(Lin,13+base,GpeFrmCodSit$("TCTR",Gpe_Mst_TipContr$) )     'estado civil
base=base+1
fx = XlsLst(Lin,13+base,frmdt$("",Gpe_Mst_DtAdmi))                  'admissao
fx = XlsLst(Lin,14+base,GpeDataIdadeAm$("MES",Gpe_Mst_DtAdmi))      'meses
fx = XlsLst(Lin,15+base,GpeDataIdadeAm$("ANO",Gpe_Mst_DtAdmi))      'anos
fx = XlsLst(Lin,16+base,frmdt$("",Gpe_Mst_DtProm))                  'promocao

'valores especiais
fx=gpetrbler(Gpe_mst_trb$)
fx = XlsLst(Lin,17+base,GpeTrbVespCon("V1"))                        'valor 
fx = XlsLst(Lin,18+base,GpeTrbVespCon("V2"))                        'valor 
fx = XlsLst(Lin,19+base,GpeTrbVespCon("V3"))                        'valor 
fx = XlsLst(Lin,20+base,GpeTrbVespCon("V4"))                        'valor 
fx = XlsLst(Lin,21+base,GpeTrbVespCon("V5"))                        'valor 
fx = XlsLst(Lin,22+base,GpeTrbVespCon("V6"))                        'valor 
fx = XlsLst(Lin,23+base,GpeTrbVespCon("V7"))                        'valor 
fx = XlsLst(Lin,24+base,GpeTrbVespCon("V8"))                        'valor 
fx = XlsLst(Lin,25+base,GpeTrbVespCon("V9"))                        'valor 
base=base+5

fx = XlsLst(Lin,21+base,GpeTabCon$("SND",Gpe_Mst_Sind,"ABRV"))      'sindicato
fx = XlsLst(Lin,22+base,GpeTabCon$("BNC",Gpe_Mst_Banco$,"ABRV"))    'banco
fx = XlsLst(Lin,23+base,GpeTabCon$("EST",Gpe_Mst_Est$,"NOME"))      'estabelecimento
fx = XlsLst(Lin,24+base,GpeTabCon$("SEG",Gpe_Mst_CodSeg,"ABRV"))    'seguro

fx = XlsLst(Lin,25+base,Gpe_Mst_Dist$)                              'distrito
fx = XlsLst(Lin,26+base,GpeTabCon$("PAIS",Gpe_Ru_Pais$,"DESC"))     'pais

fx = XlsLst(Lin,27+base,Gpe_Mst_Morada$)
fx = XlsLst(Lin,28+base,Gpe_Mst_Local$)
fx = XlsLst(Lin,29+base,Gpe_Mst_Cpost$)


End sub

##


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