'Nome       : RECIBO.STD
'Tipo       : LST
'Data       : 2015/02/12
'Versao     : 2.3
'Descricao  : Recibos de vencimento

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 2.3b 2015/??/?? ---------------------------------------------------
'Apresentar tipo de IRS

'- Versao : 2.3b 2014/09/02 ---------------------------------------------------
'Prever quantidades ate 99,999 

'- Versao : 2.3b 2013/02/25 ---------------------------------------------------
'Prever acumulador 007

'- Versao : 2.3a 2013/02/25 ---------------------------------------------------
'Ajuste grafico

'- Versao : 2.3  2013/01/31 ---------------------------------------------------
'Prever abonos em especie

'- Versao : 2.2  2013/01/18 ---------------------------------------------------
'Colocar descriminacao da sobretaxa

'- Versao : 2.1a 2012/12/16 ---------------------------------------------------
'Estava a cortar a data do recibo em alguns meses

'- Versao : 2.1  2012/04/03 ---------------------------------------------------
'Permitir codigos diversos apenas com quantidade
'Colocar valores nao isentos em rodape
'Ajustes graficos

'- Versao : 2.0  2012/03/05 ---------------------------------------------------
'Versao base



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


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



'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=RECIBO
Nome                       [DocNom]=Recibo,Recibo (papel branco)
Vias                       [DocVia]=Original

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=10
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=36L
Ajustar pagina             [DocApg]=1
Juntar seccoes             [DocEsp]=JunSec=1
'Juntar seccoes             [DocEsp]=JunSec=0
'Cod a discriminar seccoes  [DocEsp]=CmvDisSec="710,720"
'Discriminar acumuladores   [DocEsp]=CmvDisAcm=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=Rec_Cab
Listar linhas               [FxLIN]=Rec_Lin; Des ; Abo ; Ajt
Listar fim                  [FxFIM]=Rec_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=RECIBO
Nome                       [DocNom]=RecPre,Recibo (Pré-Impresso)

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=9
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=24L
Ajustar pagina             [DocApg]=1
Juntar seccoes             [DocEsp]=JunSec=1
'Juntar seccoes             [DocEsp]=JunSec=0
'Cod a discriminar seccoes  [DocEsp]=CmvDisSec="710,720"

'funcoes de listagem
Listar cabecalho            [FxCAB]=RecP_Cab
Listar linhas               [FxLIN]=RecP_Lin; Des ; Abo ; Ajt
Listar fim                  [FxFIM]=RecP_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=RECIBO
Nome                       [DocNom]=Recibo_G,Recibo (papel branco)
Vias                       [DocVia]=Original

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=11
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=36L
Ajustar pagina             [DocApg]=0
Juntar seccoes             [DocEsp]=JunSec=1
'Cod a discriminar seccoes  [DocEsp]=CmvDisSec="710,720"
Discriminar acumuladores   [DocEsp]=CmvDisAcm=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=Rec_CabG
Listar linhas               [FxLIN]=Rec_LinG; Des ; Abo ; Acm ; Div
Listar fim                  [FxFIM]=Rec_FimG
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
DocNum   =FrmVal$(MemNum(1),20,-5.0)
Tipo     =MemTxt$(1)
Pag      =Doc_CntPag
DataExt  =FrmVal$(Sig_DtHoje,45,0)
DataRec  =FrmVal$(Sig_DtHoje,42,0)

NomEmp   =Emp_Inf_Nome$
Local    =Emp_Inf_Local$
Ctrb     =Emp_Inf_Contrib$

RecEmpNome   = GpeTabCon$("EST",Gpe_Mst_Est$,"NOME")
RecEmpMorada = GpeTabCon$("EST",Gpe_Mst_Est$,"MORADA")
RecEmpLocal  = GpeTabCon$("EST",Gpe_Mst_Est$,"LOC")
RecEmpCpost  = GpeTabCon$("EST",Gpe_Mst_Est$,"CPOST")
RecEmpNif    = GpeNifFrm$(Emp_Inf_Contrib$)

TrbC     =Gpe_Mst_Trb$
TrbCod   = frmVal$(Gpe_Mst_Trb$,20,8.0)
TrbNome  = Gpe_Mst_Nome$
'TrbCat   =GpeTabCon$("CAT",Gpe_Mst_Categ,"ABRV")
TrbCat   =GpeTabCon$("CAT",Gpe_Mst_Categ,"DESC")

TrbNif   =Gpe_Mst_Ctrb$
TrbCrss  =Gpe_Mst_CrssNb$
'TrbLpg   =Gpe_Mst_Est$
'GpeTabCon$("EST",Gpe_Mst_Est$,"NOME")
'TrbVbase = GpeFrmMoe$("",10,Gpe_Mst_Vbase)+" "+Trim$(EmpTabCon$("MOEDA",Emp_Inf_Moeda,"ABRV"))
TrbVbase = GpeFrmMoe$("",10,Gpe_Mst_Vbase)+" €"

TrbProf  = GpeTabCon$("PROF",Gpe_Mst_Prof$,"DESC")
TrbSec   = GpeTabCon$("SEC",Gpe_Mst_sec$,"DESC")



'linha
Cm       =Gpe_Cmv_Cod$
Desc     =Gpe_Cmv_Descr$
Desc16   =left$(Gpe_Cmv_Descr$,30)
Desc27   =left$(Gpe_Cmv_Descr$,27)
Tx       =FrmVal$(MemNum(20),20,2.2)
HorDias  =GpeFrmT$("?","####.00 ",MemNum(22))
Quant    =right$(GpeFrmT$("?","#####.00",MemNum(22)),9)

Abo      =GpeFrmMoe$("",10,MemNum(21))
Des      =GpeFrmMoe$("",10,MemNum(21))

'totais
TotAbo   =GpeFrmMoe$("",10,MemNum(31))
TotDes   =GpeFrmMoe$("",10,MemNum(32))
TotRec   = GpeFrmMoe$("",12,GpeLrecVl("VL","TOT"))
TotValor = GpeFrmMoe$("",12,GpeLrecVl("VL","TOT_NUM"))
TotTk    = GpeFrmMoe$("",12,GpeLrecVl("VL","TOT_TK"))

Obs      =GpeObs$(5)
SeguroCs =GpeTabCon$("SEG",Gpe_Mst_CodSeg,"NOME")
SeguroAp ="apolice n."+GpeTabCon$("SEG",Gpe_Mst_CodSeg,"AP_NUM")


Seguro   =GpeTabCon$("SEG",Gpe_Mst_CodSeg,"NOME")+" , apolice n."+GpeTabCon$("SEG",Gpe_Mst_CodSeg,"AP_NUM")
Seguro16 =GpeTabCon$("SEG",Gpe_Mst_CodSeg,"NOME")+" , Apolice n."+GpeTabCon$("SEG",Gpe_Mst_CodSeg,"AP_NUM")
TotEur   =FrmVal$(MoeCnv("N",Total(Abo)-Total(Des),Emp_Inf_Moeda,2),21,12.2)
Abv      =EmpTabCon$("MOEDA",Emp_Inf_Moeda,"NOME")

VUnit    =GpeFrmMoe$("Z=E",10,MemNum(23))

MovVcalc =GpeFrmMoe$("Z=E",10,gpe_mov_vcalc)
MovVcalc2=GpeFrmMoe$("Z=E",10,gpe_mov_vcalc)+"€"


'totais (todos os processamentos)
IncIrs   =GpeFrmMoe$("",13,MemNum(11))
AcmIrs   =GpeFrmMoe$("",13,MemNum(12))

Sec      = GpeCodFrm$("SEC",Gpe_Mst_Sec$)+" - "+GpeTabCon$("SEC",Gpe_Mst_Sec$,"DESC")
Est      = GpeCodFrm$("EST",Gpe_Mst_Est$)+" - "+GpeTabCon$("EST",Gpe_Mst_Est$,"NOME")

RecMes  = FrmDt$("MES",Sig_DtHoje)
##


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


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
SUB Lst_AJT
end sub

SUB FxIni 'funcao de inicializacao
Call SigLstIni
End sub



'-----------------------------------------------------------------------------
' Formato do documento
'-----------------------------------------------------------------------------
'- Recibos (Papel branco) ----------------------------------------------------
SUB Rec_Cab
Print PrtCmd$("[16CPILD]");
?@NomEmp                                                                     #
Print PrtCmd$("[10CPILN]");
?@Local                                                    #                       
?Contribuinte: @Ctrb                                           #
?                                                     RECIBO DE REMUNERACOES #
?
?Empregado    : @Trbc  @TrbNome                                              #
?Categoria    : @TrbCat                                                      #
?Contribuinte : @TrbNif                                                      #
?No Ben.S.Soc.: @TrbCrss                                                     #
?Venc. Base   : @TrbVbase                                                    #
?
?@DataExt                                            #
?================================================================================
?|           Descricao            Taxa | Quant | Unitario |Descontos |  Abonos  |
?================================================================================
end sub

SUB Rec_LinAjt 'ajuste de  linhas
?|                                     |       |          |          |          |
end sub

SUB Rec_LinDes  'linha para descontos
?|@Cm @Desc27                     @Tx  |@Quant |@Vunit    |@Des      |          |
end sub

SUB Rec_LinAbo 'linha para abonos
?|@Cm @Desc27                          |@Quant |@Vunit    |          |@Abo      |
end sub


SUB Rec_Fim
?================================================================================
?| Assinatura                          | Totais         |@TotDes    |@TotAbo    |
?|                                     |========================================|
?|                                     | Total a Receber   @Abv | @TotRec       |
?| @Obs                                |                                        |
?|===============================================================================
?@Seguro                                                                    #
Print PrtCmd$("[SP]");
x=totlpz(0)
end sub


'- Recibos (Pre-impresso) ----------------------------------------------------
SUB RecP_Cab
Print PrtCmd$("[16CPILD]");
?@NomEmp                                               #
Print PrtCmd$("[10CPILN]")
?@TrbC @TrbNome                             @DataRec                  #
?
?@TrbCont     @TrbCrss                  @TrbCat       @TrbVBase                #
?
Print PrtCmd$("[16CPILD]")
end sub


SUB RecP_LinAjt
?
end sub


SUB RecP_LinDes
?@Cm   @Desc16                          @Tx      @Quant    @VUNIT               @Des                       #
end sub


SUB RecP_LinAbo
?@Cm   @Desc16                          @Tx      @Quant    @VUNIT                               @Abo       #
end sub


SUB RecP_Fim
?@Seguro16                                                   #
?                                                                               @TotDes         @TotAbo      #
?
?                                                                                        @Abv   @TotRec      #
?
?                                                                                             #
Print PrtCmd$("[SP]");
x=totlpz(0)
end sub



'---------------------------------------------------------------------------------------
SUB Rec_CabG     'formato grafico
'---------------------------------------------------------------------------------------
FimDoc=110


Call MeioPaginaA4                'marcador para meio da pagina
Base1=0

'comentar a situacao que nao interessa
Base2=0                           '1 recibo por folha
'Base2=145                         '2 recibos por folha
Base2=147                         '2 recibos por folha

Base=Base1
RcVia$="Original"
Call Cabecalho

Base=Base2
RcVia$="Duplicado"
Call Cabecalho
End SUb

'---------------------------------------------------------------------------------------
SUB Rec_LinGAbo  'linha para abonos
'---------------------------------------------------------------------------------------
Base=Base1
Call Abono
Base=Base2
Call Abono
End Sub


'---------------------------------------------------------------------------------------
SUB Rec_LinGAcm  'linha para acumuladores
'---------------------------------------------------------------------------------------
listou=0                                              'assume nao listou
if CMVLISTAOK("010,008,007,006",gpe_cmv_cod$)=1 then
  Base=Base1
  Call NaoIsento
  Base=Base2
  Call NaoIsento
end if

if listou=0 then
  lin=doc_cntlin-1
  fx=cntLin("FRC",lin)
end if
End Sub


'---------------------------------------------------------------------------------------
SUB Rec_LinGDes  'linha para descontos
'---------------------------------------------------------------------------------------
lista=1
'if CmvListaOk("720,710",gpe_cmv_cod$)=1 then
'  lista=0
'end if

if lista=1 then
  Base=Base1
  Call Desconto
  Base=Base2
  Call Desconto
end if

if lista=0 then
  lin=doc_cntlin-1
  fx=cntLin("FRC",lin)
end if

End Sub


'---------------------------------------------------------------------------------------
SUB Rec_LinGDiv  'linha para diversos
'---------------------------------------------------------------------------------------
lista=1
if gpe_cmv_tobs$<>"8" then
  lista=0
end if

if lista=1 then
  Base=Base1
  Call Diversos
  Base=Base2
  Call Diversos
end if

if lista=0 then
  lin=doc_cntlin-1
  fx=cntLin("FRC",lin)
end if
End Sub


'---------------------------------------------------------------------------------------
SUB Rec_FimG
'---------------------------------------------------------------------------------------
Base=Base1
Call Final
Base=Base2
Call Final
PrWin FP
End Sub


'---------------------------------------------------------------------------------------
SUB Rec_FimGAjt
'---------------------------------------------------------------------------------------
'fx=msgbox("finalajt",memtxt$(99))

if MemTxt$(99)="FIMFRC" then      'fim pagina a pedido do programa
  call Rec_FimG                    'fim pagina normal
else
 Base=Base1
 Call FinalAjt
 Base=Base2
 Call FinalAjt
 PrWin FP
end if
End Sub


'---------------------------------------------------------------------------------------
Sub Cabecalho    'cabecalho do recibo grafico
'---------------------------------------------------------------------------------------
PrWIN AJT_B,  Margem, Base+ 3                      'posicao base
PrWIN COR_T,  CorEmpMorada                         'cor para morada
PrWIN FON,  12                                     'activar fonte
PrWin FON, "BOLD+"                                 'activar bold
PrWIN TX_N,     0,   0,@RecEmpNome                    'designacao
PrWin FON, "BOLD-"                                 'desactivar bold

PrWIN FON,  8                                      'activar fonte
PrWIN TX_N,     0,   5,@RecEmpMorada               'morada
PrWIN TX_N,     0,   9,@RecEmpLocal                'localidade
PrWIN TX_N,     0,   13,@RecEmpCpost                'codigopostal
PrWIN TX_N,     0,   17,"N. Identificação Fiscal:"     'contrib
PrWIN TX_N,    37,   17,@RecEmpNif                      'contrib


PrWIN AJT_B,  Margem+130, Base+ 5                            'posicao base
PrWIN FON,  10                                      'activar fonte
PrWIN COR_T,  CorTitLst                             'cor para titulos
PrWin FON, "BOLD+"                                  'activar bold
PrWin TX_N, 0,5,"RECIBO DE REMUNERAÇÕES"
PrWIN FON,  8                                      'activar fonte
PrWin FON, "BOLD-"                                 'desactivar bold
PrWin TX_N,  38,9, RcVia$
PrWIN COR_T,  CorLin                               'cor para linhas



PrWIN AJT_B,  Margem+130, Base+ 10                            'posicao base
PrWIN FON,  10                                      'activar fonte

c1=2
c2=c1+40
c3=c2+60
ln=7
ln2=11
PrWIN COR_T,  CorTitLst                             'cor 
PrWin TX_N, c1,ln,"Data"

PrWIN COR_T,  CorLin                                'cor para linhas
'PrWin TX_DMX,  c1,ln2,c2-c1, @DataExt
PrWin TX_N,  c1,ln2,@DataExt


PrWIN COR_T,  CorTraco                               'cor 
PrWIN GR_LI,     0,ln2, MargemD,ln2



'Dados do empregado
'c2=100
'cmax=120
'PrWIN COR_T,  CorTitLst                             'cor para titulos
'PrWin TX_N, 0, 5,"Empregado:"

'-----------------------------------------------------------------
inicioInfo=25
'-----------------------------------------------------------------
PrWIN AJT_B,  Margem, Base+InicioInfo                 'posicao base
c1=2
c2=c1+20
c3=c2+60
c4=c3+30
c5=c4+30
ln2=4

PrWIN FON,  9                                      'activar fonte
PrWIN COR_T,  CorTraco                               'cor 
PrWIN GR_LI,     0,ln2, MargemD,ln2

PrWIN COR_T,  CorTitLst                             'cor 
PrWin TX_N, c1,0,"Trabalhador"
PrWin TX_N, c2,0,"Nome"
PrWin TX_N, c4,0,"Tipo de IRS"


PrWIN COR_T,  CorLin                                'cor para linhas
PrWin TX_DMX,  c1,ln2,c2-c1, @TrbCod
PrWin TX_DMX,  c2,ln2,c4-c2, @TrbNome
PrWin TX_N,    c4,ln2, GpeFrmCodSit$("IRS_TIP.D",gpe_mst_irsTp)


'------------------------------------------------------------------
PrWIN AJT_B,  Margem, Base+InicioInfo+9                 'posicao base
c1=2
c2=c1+50
c3=c2+60
c4=c3+50
c5=c4+30
ln2=4

PrWIN FON,  9                                      'activar fonte
PrWIN COR_T,  CorTraco                               'cor 
PrWIN GR_LI,     0,ln2, MargemD,ln2

PrWIN COR_T,  CorTitLst                             'cor 
PrWin TX_N, c1,0,"Categoria"
PrWin TX_N, c2,0,"Profissão"
PrWin TX_N, c3,0,"Secção"
PrWin TX_N, c4,0,"Vencimento Base"

PrWIN COR_T,  CorLin                                'cor para linhas
PrWin TX_DMX,  c1,ln2,c2-c1, @TrbCat
PrWin TX_DMX,  c2,ln2,c3-c2, @TrbProf
PrWin TX_DMX,  c3,ln2,c3-c2, @TrbSec
PrWin TX_NP,   c4,ln2,"N", @TrbVbase
'---------------------------------------------------------------
' Segunda linha de informacao
'---------------------------------------------------------------
PrWIN AJT_B,  Margem, Base+InicioInfo+18                      'posicao base
c1=2
c2=c1+50
c3=c2+60
c4=c3+30
c5=c4+30
cmax=MargemD
ln2=4


PrWIN FON,  9                                      'activar fonte
PrWIN COR_T,  CorTraco                               'cor 
PrWIN GR_LI,     0,ln2, MargemD,ln2

PrWIN COR_T,  CorTitLst                             'cor 
PrWin TX_N, c1,0,"N.Identificação Fiscal"
PrWin TX_N, c2,0,"N.Segurança Social"
PrWin TX_N, c3,0,"Companhia de seguros"

PrWIN COR_T,  CorLin                                'cor para linhas
ln2=4
PrWin TX_DMX,  c1,ln2,c2-c1, @TrbNif
PrWin TX_DMX,  c2,ln2,c3-c2, @TrbCrss
if Gpe_Mst_CodSeg<>0 then
  PrWin TX_DMX,  c3,ln2,cMax-C3, @SeguroCs
  PrWin TX_DMX,  c3,ln2+4,cMax-C3, @SeguroAp
end if
'----------------



'col=20                                           'coluna
'PrWIN COR_T,  CorLin                                'cor para linhas

Col1=3
Col2=10
esp=24
Col3=70                'taxa
Col4=Col3+(esp*1)      'quantidade
Col5=Col3+(esp*2)
Col6=Col3+(esp*3)
Col7=Col3+(esp*4)
Col8=MargemD-10

InicioEscrita=55
PrWIN AJT_B,  Margem, Base+InicioEscrita+1         	'posicao base

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

Lin=2
PrWin FON, "BOLD+"                                 'activar bold

PrWIN COR_T,  CorTitLst                        'cor de titulo
PrWIN FON  ,   10,   1                        	'activar fonte
PrWIN TX_CTR,  Col1,Lin,Col3,Lin,"Descrição"
'PrWIN TX_N,    Col3,Lin,"Taxa"
PrWIN TX_N,    Col4,Lin,"Quantidade"
PrWIN TX_N,    Col5,Lin,"Valor Unitário"
PrWIN TX_N,    Col6+3,Lin,"Descontos"
PrWIN TX_N,    Col7+3,Lin,"Abonos"
PrWin FON, "BOLD-"                                 'activar bold


PrWIN FON,  10                                  'activar fonte
PrWIN COR_T,  CorLin                            'cor para titulos

InicioEscrita=InicioEscrita+5
End sub


'---------------------------------------------------------------------------------------
Sub Acumulador   'impressao de codigos acumuladores
'---------------------------------------------------------------------------------------
PrWIN AJT_B,  Margem, Base+InicioEscrita+Doc_CntLin*4          	'posicao base
PrWIN TX_N,     Col1,0,@Cm
PrWIN TX_DMX,   Col2,0,Col3-Col2,@desc
PrWIN TX_NP,    Col6,0,"N",@MovVcalc
End sub


'---------------------------------------------------------------------------------------
Sub Abono     'impressao de codigos de abono
'---------------------------------------------------------------------------------------
PrWIN FON,  10                                  'activar fonte
PrWIN COR_T,  CorLin                            'cor para titulos
PrWIN AJT_B,  Margem, Base+InicioEscrita+Doc_CntLin*4          	'posicao base
PrWIN TX_N,     Col1,0,@Cm
PrWIN TX_DMX,   Col2,0,Col3-Col2,@desc
PrWIN TX_NP,    Col3,0,"N",@Tx
PrWIN TX_NP,    Col4,0,"N",@Quant
PrWIN TX_NP,    Col5,0,"N",@Vunit
PrWIN TX_NP,    Col7,0,"N",@Des
End sub


'---------------------------------------------------------------------------------------
Sub Diversos     'impressao de codigos diversos
'---------------------------------------------------------------------------------------
PrWIN FON,  10                                           'activar fonte
PrWIN COR_T,  CorLin                                     'cor para titulos
PrWIN AJT_B,  Margem, Base+InicioEscrita+Doc_CntLin*4    'posicao base
PrWIN TX_N,     Col1,0,@Cm

if MemTxt$(59)<>"" then               'escreveu observacoes 
  tx$=MemTxt$(59)                        'apresentar observacoes
else                       
  tx$=Gpe_Cmv_Descr$                     'apresentar codigo movimento
end if

PrWIN TX_DMX,   Col2,0,Col3-Col2,tx$                     'descritivo
	
if memNum(55)<>0 then                                    'tem quantidade?
  PrWIN TX_NP,    Col4,0,"N",frmVal$(MemNum(55),20,3.2)
end if
End sub


'---------------------------------------------------------------------------------------
Sub Desconto     'impressao de codigos de desconto
'---------------------------------------------------------------------------------------
PrWIN FON,  10                                  'activar fonte
PrWIN COR_T,  CorLin                            'cor para titulos

PrWIN AJT_B,  Margem, Base+InicioEscrita+Doc_CntLin*4          	'posicao base
PrWIN TX_N,     Col1,0,@Cm
PrWIN TX_DMX,   Col2,0,Col3-Col2,@desc
PrWIN TX_NP,    Col4,0,"N",@Quant
PrWIN TX_NP,    Col5,0,"N",@Vunit
PrWIN TX_NP,    Col6,0,"N",@Des
end sub


'---------------------------------------------------------------------------------------
Sub NaoIsento    'valores nao isentos
'---------------------------------------------------------------------------------------
PrWIN AJT_B,Margem,Base+FimDoc-3                'posicao base
PrWIN COR_T, CorLin                               'cor a  usar
PrWIN FON,  8                                      'activar fonte


basex=5
niCnBase=baseX
if gpe_cmv_cod$="010" then
  PrWIN TX_N,    niCnBase,0,"Subsídio alimentação não isento"
  PrWIN TX_NP,niCnBase+40,0,"N",@MovVcalc2
end if

niCnBase=baseX+70
if gpe_cmv_cod$="008" then
  PrWIN TX_N,      niCnBase,0,Gpe_cmv_descr$+" "+GpeFrmMoe$("Z=E",10,gpe_mov_vcalc)+"€"
End if

niCnBase=baseX+130
if gpe_cmv_cod$="007" then
  PrWIN TX_N,      niCnBase,0,gpe_cmv_descr$+" "+GpeFrmMoe$("Z=E",10,gpe_mov_vcalc)+"€"
End if

end sub


'---------------------------------------------------------------------------------------
Sub Final
'---------------------------------------------------------------------------------------
ano=FrmDt$("A",Sig_DtHoje)
if ano>2012 then
  UsaSbt=1
else
  UsaSbt=0
end if

'ctd=col4+13
'cta=col6+7

ctd=col4+12
cta=col6+6
ctt=col4+42

UsaTk = GpeLrecVl("VL","TOT_TK")

if usaTk>0 then
  LinTotal=18
else
  LinTotal=12
end if




PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,Base+FimDoc+1                'posicao base

PrWIN GR_CX,     ctd,  0, col8-1, 17,1           'caixa totais
PrWIN GR_LI,     cta+1,  0, cta+1, 5            	'linha vertical total desconto/abonos
PrWIN GR_LI,     ctd,  5, Col8-1, 5            	'linha apos total desconto/abono


if usaSbt=0 then
PrWIN GR_LI,     0,  13, ctd-5, 13            	'linha final incidencia
else
PrWIN GR_LI,     0,  17, ctd-5, 17            	'linha final incidencia
end if

'PrWIN FON,      10,  1                          'activar fonte
PrWIN FON,      9,  1                          'activar fonte


PrWIN COR_T, CorTotGer                          'cor de totais
PrWIN TX_N, ctd+1,    1,"Total Descontos"
PrWIN TX_N, cta+2,    1,"Total Abonos"


PrWIN TX_N, ctt,     7,"Valor pago em "
if UsaTk>0 then
  PrWIN TX_N, ctt,    12,"Valor pago em espécie"
end if

PrWin FON, "BOLD+"                                 'activar bold
PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_N, ctt-25,   LinTotal,"Total do recibo de remunerações"
PrWin FON, "BOLD-"                                 'activar bold

PrWIN FON,      9,  1                          'activar fonte
PrWIN TX_N, Col1,  16+(usaSbt*2),"Assinatura:"

PrWIN COR_T, CorLin                             'cor de totais
PrWIN TX_NP, ctd+24,   1,"N",@TotDes
PrWIN TX_NP, cta+22,   1,"N",@TotAbo

PrWIN TX_N,  ctt+22,  7,@Abv
if UsaTk>0 then
  PrWIN TX_NP, ctt+30,  7,"N",@TotValor
  PrWIN TX_NP, ctt+30,  12,"N",@TotTk
end if

PrWin FON, "BOLD+"                                 'activar bold
PrWIN TX_NP, ctt+30, LinTotal,"N",@TotRec
PrWin FON, "BOLD-"                                 'activar bold



PrWIN FON  ,   8,   1                           'activar fonte
PrWIN TX_N,  Col3-15,  18,@Obs

call incidencias
end sub


'---------------------------------------------------------------------------------------
Sub FinalAjt
'---------------------------------------------------------------------------------------
FimDoc=110
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,Base+FimDoc+1                 		'posicao base
PrWIN GR_LI,     0,  0, Col8, 0            	'linha

PrWIN COR_T, CorTotGer                            'cor de totais
PrWIN TX_N, Col5,    1,"Continua ..."
end sub


'---------------------------------------------------------------------------------------
Sub Incidencias    'tratamento de incidencias (totais do documento)
'---------------------------------------------------------------------------------------
cv1=0 
cv2=cv1+10
ajtCbase=26

c1=2
c2=c1+ajtCbase
c3=c2+ajtCbase
c4=c3+ajtCbase
c5=c4+ajtCbase-1
cmax=c5

ln0=-3
ln=1
ln2=5
ln3=9
ln4=13
ln5=17

if usaSbt=0 then 
 lnMax=ln4
else
  lnMax=ln5
end if

PrWIN AJT_B,Margem,Base+FimDoc+1                'posicao base
PrWIN COR_T, CorTraco                               'cor a  usar
PrWIN FON,  8                                      'activar fonte

PrWIN GR_CX,     0,  0, cmax, lnmax,1            	'linha
PrWIN GR_LI,     0, ln2, cmax,ln2

PrWIN TX_N, c1-1, ln,"(encargos sobre)"
PrWIN TX_N, c1+1, ln2,"Taxa Social"
PrWIN TX_N, c1+1, ln3,"   I.R.S."
if usaSbt=1 then
  PrWIN TX_N, c1+1, ln4,"Sobretaxa"
end if

PrWIN TX_N, c2-4, ln,"Remuneração Mensal"
PrWIN TX_N, c3, ln,"Subsídio de Férias"
PrWIN TX_N, c4, ln,"Subsídio de Natal"

ta$="TSU"
PrWIN COR_T, CorLin                          'cor de totais
cBase=c2
for n=1 to 3
  if GpeRecFaseVl(ta$,n,"VL")<>0 then
    PrWIN TX_N, cv1+cBase, ln2,FrmVal$(GpeRecFaseVl(ta$,n,"TX"),21,3.2)+"%"
    PrWIN TX_NP,cv2+cBase, ln2,"N",GpeFrmMoe$("",8,GpeRecFaseVl(ta$,n,"VL"))+"€"
  end if
  cBase=cBase+AjtCbase
next

ta$="IRS"
cBase=c2
for n=1 to 3
  if GpeRecFaseVl(ta$,n,"VL")<>0 then
    PrWIN TX_N, cv1+cBase, ln3,FrmVal$(GpeRecFaseVl(ta$,n,"TX"),20,3.2)+"%"
    PrWIN TX_NP,cv2+cBase, ln3,"N",GpeFrmMoe$("",8,GpeRecFaseVl(ta$,n,"VL"))+"€"
  end if
  cBase=cBase+AjtCbase
next

if usaSbt=1 then
ta$="SBT"
cBase=c2
for n=1 to 3
  if GpeRecFaseVl(ta$,n,"VL")<>0 then
    PrWIN TX_N, cv1+cBase, ln4,FrmVal$(GpeRecFaseVl(ta$,n,"TX"),20,3.2)+"%"
    PrWIN TX_NP,cv2+cBase, ln4,"N",GpeFrmMoe$("",8,GpeRecFaseVl(ta$,n,"VL"))+"€"
  end if
  cBase=cBase+AjtCbase
next
end if
end sub

##


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

