'Nome       : RELIRS.STD
'Tipo       : LST
'Data       : 2013/11/06
'Versao     : 1.2b
'Descricao  : Relacao de I.R.S.

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

'- Versao : 1.0a 2000/06/29 ---------------------------------------------------
'Formatar valores concoante moeda da empresa

'- Versao : 1.1  2000/11/16 ---------------------------------------------------
'Impressao em formato grafico

'- Versao : 1.1a 2000/12/04 ---------------------------------------------------
'Formatar valores consoante decimais indicados pelo programa

'- Versao : 1.1b 2001/01/17 ---------------------------------------------------
'Forcar 10 CPI no inicio do programa

'- Versao : 1.1c 2001/03/12 ---------------------------------------------------
'Mostrar tipo de rendimento
'Possibilitar listagem por tipos de rendimento
'Alteracao nos ficheiros a usar nas inclusoes
'Nao permitir a sobreposicao da categoria pelo nome

'- Versao : 1.1d 2004/10/12 ---------------------------------------------------
'Na visualizacao em modo grafica, sobrepunha os valores das paginas

'- Versao : 1.1e 2005/10/21 ---------------------------------------------------
'Correcção ortográfica

'- Versao : 1.1f 2006/09/25 ---------------------------------------------------
'Nao listava funcionarios na relacao grafica categoria A

'- Versao : 1.1g 2011/10/12 ---------------------------------------------------
'Compatibilizar com novos acumuladores

'- Versao : 1.1h 2011/11/23 ---------------------------------------------------
'Nao estava a apresentar remuneracao iliquida

'- Versao : 1.2  2013/01/22 ---------------------------------------------------
'Apresentar valores sobretaxa

'- Versao : 1.2a 2013/10/15 ---------------------------------------------------
'Ajuste grafico
'Apresentar NIF

'- Versao : 1.2b 2013/11/06 ---------------------------------------------------
'Ajuste grafico no sub-total



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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=RELIRS_A,Categoria A

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=40
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1
Ordenacao                  [DocEsp]=ORD=TIPRND
Listar continuo            [DocEsp]=LstCnt=1
Tipo de rendimento         [DocEsp]=TipRnd=A
'Meses para limites         [DocEsp]=LimMes=1:12
'Empregados a listar        [DocEsp]=TrbLim=1:99999
Identificador de listagem  [DocEsp]=LstId=RELIRS-A


'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_Cab
Listar linhas               [FxLIN]=Tx_Lin ; Stot,3 ; Ajt
Listar fim                  [FxFIM]=Tx_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=RELIRS_P,Todas as Categorias

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=40
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1
Listar continuo            [DocEsp]=LstCnt=1
Tipo de rendimento         [DocEsp]=TipRnd=
Ordenacao                  [DocEsp]=ORD=TIPRND
Totais por codigo          [DocEsp]=LstStot=1
Identificador de listagem  [DocEsp]=LstId=RELIRS-P


'funcoes de listagem
Listar cabecalho            [FxCAB]=Tx_Cab
Listar linhas               [FxLIN]=Tx_Lin; Stot,3 ; Ajt
Listar fim                  [FxFIM]=Tx_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=RELIRS_G,Categoria A

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=46

Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1
Listar continuo            [DocEsp]=LstCnt=1
Ordenacao                  [DocEsp]=ORD=TIPRND
Tipo de rendimento         [DocEsp]=TipRnd=A
Identificador de listagem  [DocEsp]=LstId=RELIRS-A


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=RELIRST_G,Todas as Categorias

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=46
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1
Listar continuo            [DocEsp]=LstCnt=1
Tipo de rendimento         [DocEsp]=TipRnd=
Ordenacao                  [DocEsp]=ORD=TIPRND
Totais por codigo          [DocEsp]=LstStot=1
Identificador de listagem  [DocEsp]=LstId=RELIRS-P

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_Cab
Listar linhas               [FxLIN]=PW_Lin; Stot,3 ; Ajt
Listar fim                  [FxFIM]=PW_Fim
##


'==============================================================================
#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$
Nome        = Gpe_Mst_Nome$
Nif         = Gpe_Mst_Ctrb$
Rend        = GpeFrmMoe$("",11,GpeAcmLst("V","IRS","VI"))
Ret         = GpeFrmMoe$("",11,GpeAcmLst("V","IRS","RT"))
SbtNatal    = GpeFrmMoe$("",11,GpeAcmLst("V","IRS","SBTNATAL"))
Sbt         = GpeFrmMoe$("",11,GpeAcmLst("V","IRS","SBT"))


TotRend     = GpeFrmMoe$("",12,Total(Rend,2))
TotRet      = GpeFrmMoe$("",12,Total(Ret,2))
TotSbtNatal = GpeFrmMoe$("",12,Total(SbtNatal,2))
TotSbt      = GpeFrmMoe$("",12,Total(Sbt,2))


STotRend    = GpeFrmMoe$("",12,Total(Rend,1))
STotRet     = GpeFrmMoe$("",12,Total(Ret,1))
STotSbtNatal= GpeFrmMoe$("",12,Total(SbtNatal,1))
STotSbt     = GpeFrmMoe$("",12,Total(Sbt,1))



Tip         = Gpe_Mst_TipRnd$
##

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


'==============================================================================
#PGM - Formato do documento
'==============================================================================
Sub Tx_Cab
Print PrtCmd$("[10CPILN]");
?Empresa       : @EmpNome                                                     #
?Morada        : @EmpMorad                                                    #
?Localidade    : @EmpLocal                                                    #
?Codigo Postal : @EmpCpost                                                    #
?
?Contribuinte  : @EmpContrib                                                  #
?
?
?Data : @Data                                                      Pagina : @Pag
?
?
?                             RELACAO DO I.R.S.
?                             =================
?
?===============================================================================
?          Nome                          Catg  Tot.Rendimento       Retencao
?===============================================================================
End Sub


Sub Tx_Lin
?@Nome                                    @Tip    @Rend            @Ret        #
End Sub


Sub Tx_LinAjt
?
End Sub


Sub Tx_LinStot
?===============================================================================
?                 Sub-Total :                    @STotRend        @STotRet     #
?===============================================================================
fx=TotLpz(1)  'limpar nivel de totais
End Sub


Sub Tx_Fim
?
?===============================================================================
?                 Totais :                       @TotRend         @TotRet      #
?===============================================================================
fx=TotLpz(0)           'limpar totais
FxDiv LstPer,SP
end Sub


Sub Tx_FimAjt
?
?===============================================================================
Print PrtCmd$("[SP]");
end Sub


'-(Modo Grafico)---------------------------------------------------------------
SUB FxIni 'funcao de inicializacao
Call SigLstIni
ano=FrmDt$("A",Sig_DtHoje)
if ano<2012 then
  TipoSbt=1
else
  TipoSbt=2
end if

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

PrWin Tx_N,  0,0,"Empresa"
PrWin Tx_N,  0,5,"Morada"
PrWin Tx_N,  0,10,"Localidade"
PrWin Tx_N,  0,15,"Código Postal"
PrWin Tx_N,  0,25,"Contribuinte"

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

Cl=30

PrWin COR_T ,  CorLin
PrWin Tx_N,  Cl,0,@EmpNome
PrWin Tx_N,  Cl,5,@EmpMorada
PrWin Tx_N,  Cl,10,@EmpLocal
PrWin Tx_N,  Cl,15,@EmpCpost
PrWin Tx_N,  cl,25,@EmpContrib

PrWIN AJT_B,  Margem,53                     'posicao base
Call DataPag_A4                             'data e pagina

Col1=2
Col2=87
Col3=Col2+18
Col4=Col3+20
Col5=Col4+21
Col6=Col5+21
Col7=Col6+21


PrWIN AJT_B,  Margem, 50                    	'posicao base
PrWin FON, "BOLD+"
PrWin FON, 12,1
PrWIN TX_CTR,  Col1,0,MargemD,0,"RELAÇÃO DO I.R.S."
PrWin FON, "BOLD-"

Lin=1
PrWIN FON  ,   9,   1                        	'activar fonte
PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN AJT_B,  Margem, 70                    	'posicao base
PrWIN TX_CTR,  Col1,Lin,Col2,Lin,"Nome"
PrWIN TX_N,  Col2,Lin,"NIF"
PrWIN TX_N,  Col3,Lin,"Categoria"
PrWIN TX_N,  Col4,Lin,"Total Rendimento"
PrWIN TX_N,  Col5+7,Lin,"Retenção"
PrWIN TX_N,  Col6+6,Lin,"Sobretaxa"


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

PrWin COR_T ,  CorLin
AjtTot=2
End Sub


Sub Pw_Lin
PrWIN AJT_B,  Margem, 75+Doc_CntLin*4          	'posicao base
PrWIN TX_DMX,   Col1,0,Col2-Col1,@Nome
PrWIN TX_N,     Col2,0,@Nif
PrWIN TX_N,     Col3+8,0,@Tip
PrWIN TX_NP,    Col4,0,"N",@Rend
PrWIN TX_NP,    Col5,0,"N",@Ret
if TipoSbt=1 then
PrWIN TX_NP,    Col6,0,"N",@SbtNatal
else
PrWIN TX_NP,    Col6,0,"N",@Sbt
end if

End Sub


Sub Pw_LinAjt

End Sub


Sub Pw_LinStot
PrWIN AJT_B,  Margem, 75+Doc_CntLin*4          	'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
PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_CTR, Col1,  0,Col2,0,"Sub-Total :"
PrWIN TX_NP,  Col4-AjtTot,  0,"N",@STotRend
PrWIN TX_NP,  Col5-Ajttot,  0,"N",@STotRet
if TipoSbt=1 then
PrWIN TX_NP,  Col6-Ajttot,  0,"N",@STotSbtNatal
else
PrWIN TX_NP,  Col6-Ajttot,  0,"N",@STotSbt
endif

fx=TotLpz(1)                                    'azerar totalizador
PrWin COR_T ,  CorLin
end Sub

Sub Pw_FimAjt
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,265                 		'posicao base
PrWIN GR_LI,     0,  0, MargemD, 0            	'linha
PrWIN AJT_B,Margem,267                 		'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
'PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_N, Col2,  0,"Continua ..."
call SigLstRod
PrWin FP
end Sub




Sub Pw_Fim
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,265                 		'posicao base
PrWIN GR_LI,     0,  0, MargemD, 0            	'linha
PrWIN AJT_B,Margem,267                 		'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
'PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_N, Col2,  0,"Totais ..."
PrWIN TX_NP,  Col4-Ajttot,  0,"N",@TotRend
PrWIN TX_NP,  Col5-AjtTot,  0,"N",@TotRet
if TipoSbt=1 then
PrWIN TX_NP,  Col6-AjtTot,  0,"N",@TotSbtNatal
else
PrWIN TX_NP,  Col6-AjtTot,  0,"N",@TotSbt
end if

fx=TotLpz(0)                                    'azerar totalizador
call SigLstRod
PrWin FP
end Sub
##


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

