'Nome       : SEGURO.STD
'Tipo       : LST
'Data       : 2005/10/21
'Versao     : 1.2h
'Descricao  : Mapa para Seguros


'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0  1999/11/18 ---------------------------------------------------
'Versao base

'- Versao : 1.0a 2000/06/20 ---------------------------------------------------
'Alteracao dos acumuladores de Vencimento base e subsidio alimentacao

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

'- Versao : 1.2  2000/11/23 ---------------------------------------------------
'Impressao em modo grafico

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

'- Versao : 1.2b 2001/01/17 ---------------------------------------------------
'forcar 10 cPI no inicio da listagem texto

'- Versao : 1.2c 2001/02/12 ---------------------------------------------------
'Ajustes diversos nas listagens graficas
'Alteracao nos ficheiros a usar nas inclusoes

'- Versao : 1.2d 2003/07/25 ---------------------------------------------------
'complementar a informacao apresentada
'apresentar faltas caso existam

'- Versao : 1.2d 2003/10/13 ---------------------------------------------------
'Juntar listagem do formato antigo (resumo)

'- Versao : 1.2e 2003/11/12 ---------------------------------------------------
'Colocar totais acumulados e nao totais por folha

'- Versao : 1.2f 2004/10/12 ---------------------------------------------------
'Ao visualizar impressao grafica, sobrepunha os valores entre paginas

'- Versao : 1.2g 2005/01/20 --------------------------------------------------
'Nao identificava correctamente a seguradora havendo varias paginas

'- Versao : 1.2h 2005/??/?? --------------------------------------------------
'Correcção ortográfica


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=SEGURO_RES,Mapa Resumido

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=42
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=SEG
Listar valores a zero      [DocEsp]=LSTZER=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=SegR_Cab
Listar linhas               [FxLIN]=SegR_Lin; Ajt
Listar fim                  [FxFIM]=SegR_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=SEGURO,Mapa Completo

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=42
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=SEG
Listar valores a zero      [DocEsp]=LSTZER=1
Listar mov. existentes     [DocEsp]=LstMov=410:485


'funcoes de listagem
Listar cabecalho            [FxCAB]=Seg_Cab
Listar linhas               [FxLIN]=Seg_Lin,2; Ajt
Listar fim                  [FxFIM]=Seg_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=SEGURO_G,Mapa Completo

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=45
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=SEG
Listar valores a zero      [DocEsp]=LSTZER=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=Seg_CabG
Listar linhas               [FxLIN]=Seg_LinG
Listar fim                  [FxFIM]=Seg_FimG
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=SEGURO_RES_G,Mapa Resumo

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=45
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordenacao                  [DocEsp]=ORD=SEG
Listar valores a zero      [DocEsp]=LSTZER=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=SegR_CabG
Listar linhas               [FxLIN]=SegR_LinG
Listar fim                  [FxFIM]=SegR_FimG
##


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

LstTit   = PrtCmd$("[10CPILD]")+"Mapa de Segurados"+PrtCmd$("[10CPILN]")
Seg      = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"NOME")
Mor      = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"MORADA")
Local    = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"LOC")
Cpos     = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"CPOST")
Apo      = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"AP_NUM")

JanelaCartaL1 = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"NOME")
JanelaCartaL2 = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"MORADA")
JanelaCartaL3 = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"LOC")
JanelaCartaL4 = GpeTabCon$("SEG",Gpe_Mst_CodSeg,"CPOST")

Nome     = Gpe_Mst_Nome$
Vbase    = GpeFrmMoe$("",11,Gpe_Mst_Vbase)
Categ    = GpeTabCon$("CAT",Gpe_Mst_Categ,"ABRV")
Venc     = GpeFrmMoe$("",11,GpeAcmLst("V","SEG","VE"))
SbsAlim  = GpeFrmMoe$("",11,GpeAcmLst("V","SEG","SA"))
Prem     = GpeFrmMoe$("",11,GpeAcmLst("V","SEG","PR+AC"))
Subs     = GpeFrmMoe$("",11,GpeAcmLst("V","SEG","SF+SN"))
Tot      = GpeFrmMoe$("",11,GpeAcmLst("V","SEG","VE")+GpeAcmLst("V","SEG","SA")+GpeAcmLst("V","SEG","PR+AC")+GpeAcmLst("V","SEG","SF+SN"))
Dias     = GpeFrmT$("?","###.00 ",GpeAcmLst("H","SEG","VE"),110)
DiasR    = GpeFrmT$("?","###",GpeAcmLst("H","SEG","VE"),110)


DtAdmi   = FrmVal$(Gpe_Mst_DtAdmi,44,0)
DtFimCt  = FrmVal$(Gpe_Mst_DtFimCt,44,0)

TSbsAlim = GpeFrmMoe$("",11,Total(SbsAlim))
Tvenc    = GpeFrmMoe$("",11,Total(Venc))
Tprem    = GpeFrmMoe$("",11,Total(Prem))
Tsubs    = GpeFrmMoe$("",11,Total(Subs))
Total    = GpeFrmMoe$("",11,Total(Tot))

'extracto de movimentos de faltas
cmv      = Gpe_Mov_Cmv$
cmvnome  = Gpe_Cmv_Descr$
cmvQu    = GpeFrmT$("?","###.00 ",gpe_mov_qcalc)
##


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


'==============================================================================
#PGM - Formato do documento
'==============================================================================
SUB Lst_AJT'ajuste de linhas
end sub


'-----------------------------------------------------------------------------
' IMPRESSAO TEXTO - MAPA COMPLETO
'-----------------------------------------------------------------------------
Sub Seg_Cab
FxDiv LstIde,10CPI,1
Print PrtCmd$("[10CPILN]");
?
?-------------------------------------------------------------------------------
?                             @LstTit                                          #
?-------------------------------------------------------------------------------
?
?
?
?
?Apolice No : @Apo                    @Seg                                      #
?                                     @Mor                                      #
?                                     @Local                                    #
?                                     @Cpos                                     #
?
?
?
?
?Data : @DatDia                                                        Pag: @Pag
Print PrtCmd$("[16CPILN]");
?===================================================================================================================================
?               Nome                          Venc Base         Subs.Alim        Premios      Subs.Ferias    Venc.Recebido    Dias
?                                          Venc Iliquido                         +Aj.Custo       +Natal                    Trabalho
?===================================================================================================================================
End Sub


Sub Seg_LinAjt'ajuste de linhas
?
End Sub


Sub Seg_Lin
?@Nome                                        @Vbase           @SbsAlim       @Prem          @Subs           @Tot         @Dias    #
? Categoria:  @Categ                          @Venc            Data Admissão: @DtAdmi        Data fim Contracto: @DtFimct          #

cnt=GpeSqlMov("",0,0,"410:550")               'verificar existencia de movimentos
for mv=1 to cnt                               'listar se existentes
  fx=CntLin("INC",1)
?         @cmv    @CmvNome                                   @CmvQu             #
  fx=GpeSqlMovLer("+")                        'registo seguinte
next
End Sub


Sub Seg_Fim
?===================================================================================================================================
?     Totais :                                @Tvenc           @TSbsAlim      @Tprem         @Tsubs          @Total       #
?===================================================================================================================================
FxDiv LstPer,SP

if MemTxt$(3)="FIM" then 
  fx=totlpz(0)
end if
End Sub


'-----------------------------------------------------------------------------
' IMPRESSAO TEXTO - MAPA RESUMO
'-----------------------------------------------------------------------------
Sub SegR_Cab
FxDiv LstIde,10CPI,1
Print PrtCmd$("[10CPILN]");
?
?-------------------------------------------------------------------------------
?                             @LstTit                                          #
?-------------------------------------------------------------------------------
?
?
?
?
?Apolice No : @Apo                    @Seg                                      #
?                                     @Mor                                      #
?                                     @Local                                    #
?                                     @Cpos                                     #
?
?
?
?
?Data : @DatDia                                                        Pag: @Pag
Print PrtCmd$("[16CPILN]");
?===================================================================================================================================
?             Nome                         Dias  Categoria        Vencimento     Sub.Alim.   Prem.+Aj.Custo   Ferias+Natal   Total
?===================================================================================================================================
End Sub


Sub SegR_LinAjt'ajuste de linhas
?
End Sub


Sub SegR_Lin
?@Nome                                     @DiasR@Categ        @Venc         @SbsAlim       @Prem         @Subs        @Tot        #
End Sub


Sub SegR_Fim
?===================================================================================================================================
?     Totais :                                                 @Tvenc        @TSbsAlim      @Tprem        @Tsubs       @Total      #
?===================================================================================================================================
FxDiv LstPer,SP

if MemTxt$(3)="FIM" then 
  fx=totlpz(0)
end if
End Sub



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


'------------------------------------------------------------------------------
' IMPRESSAO GRAFICA - MAPA COMPLETO
'------------------------------------------------------------------------------
Sub Seg_CabG
PrWIN COR_F, 15                              'cor de fundo 
call SigEmpMorada
Call JanelaCarta2

PrWIN AJT_B,  Margem,53                        'posicao base
PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWin TX_N,0,0,"Apólice"
PrWIN COR_T,  CorLin
PrWin TX_N,20,0,@Apo

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

esp=25
Col1=0
Col2=49
Col3=Col2+(esp*1)
Col4=Col2+(esp*2)
Col5=Col2+(esp*3)
Col6=Col2+(esp*4)
Col7=Col2+(esp*5)
Col8=195

Lin2=4
PrWIN FON  ,   10,   1                        	'activar fonte
PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN AJT_B,  Margem, 70                    	'posicao base
PrWIN TX_CTR,Col1,0,Col2,0,"Nome"

PrWIN TX_CTR,  Col2,0   ,Col3,   0,"Venc Base"
PrWIN TX_CTR,  Col2,Lin2,Col3,Lin2,"Venc Ilíquido"
PrWIN TX_CTR,  Col3,0   ,Col4,   0,"Subs. Alim"
PrWIN TX_CTR,  Col4,0   ,Col5,   0,"Prémios"
PrWIN TX_CTR,  Col4,Lin2,Col5,Lin2,"+Aj.Custo"
PrWIN TX_CTR,  Col5,0   ,Col6,   0,"Sbs.Férias"
PrWIN TX_CTR,  Col5,Lin2,col6,Lin2,"+Natal"
PrWIN TX_CTR,  Col6,0   ,Col7   ,0,"Venc. Recebido"
PrWIN TX_CTR,  Col7,0   ,Col8   ,0,"Dias"
PrWIN TX_CTR,  Col7,Lin2,Col8,Lin2,"Trabalho"

PrWIN COR_T,CorTraco                           'cor 
PrWIN GR_LI, 0, 0, Col8, 0                     'linha
PrWIN GR_LI, 0, 9, Col8,9                      'linha
PrWIN COR_T,CorLin                             'cor 
End Sub


Sub Seg_LinG
PrWIN AJT_B,  Margem, 75+Doc_CntLin*4          	'posicao base

PrWIN FON  ,   7,   1                        	'activar fonte
PrWIN TX_DMX,   Col1,0+1,Col2-Col1,@Nome
PrWIN FON  ,   9,   1                        	'activar fonte

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN TX_N,     Col1+4,Lin2       ,"Categoria :"
PrWIN COR_T,  CorLin                             'cor
PrWIN TX_N,     Col1+20,Lin2    ,@Categ


PrWIN TX_NP,    Col2,0   ,"N",@Vbase
PrWIN TX_NP,    Col2,Lin2,"N",@Venc

PrWIN TX_NP,    Col3,0,"N",@SbsAlim
PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN TX_N,     Col3,Lin2       ,"Data Admissão :"
PrWIN COR_T,  CorLin                             'cor
PrWIN TX_NP,    Col4,   0,"N",@Prem
PrWIN TX_NP,    Col4,Lin2,"N",@DtAdmi
PrWIN TX_NP,    Col5,   0,"N",@Subs
PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN TX_N,     Col5,Lin2       ,"Data fim contrato :"
PrWIN COR_T,  CorLin                             'cor

PrWIN TX_NP,    Col6,0,"N",@Tot
PrWIN TX_NP,    Col6+5,Lin2,"N",@DtFimCt
PrWIN TX_NP,    Col7,0,"N",@Dias
fx=CntLin("INC",1)                              'incrementar linha

cnt=GpeSqlMov("",0,0,"410:550")                 'verificar existencia de movimentos
for mv=1 to cnt                                 'listar se existentes
  fx=CntLin("INC",1)                            'incrementar linha
  PrWIN AJT_B,  Margem, 75+Doc_CntLin*4         'posicao base
  PrWIN TX_N,    Col1+10,0    ,@Cmv             'codigo
  PrWIN TX_N,    Col1+18,0    ,@CmvNome         'nome
  PrWIN TX_NP,   Col3   ,0,"N",@cmvQu           'quantidade
  fx=GpeSqlMovLer("+")                          'registo seguinte
next
End Sub


Sub Seg_FimG
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,265                 		'posicao base
PrWIN GR_LI,     0,  0, Col8, 0                 'linha
PrWIN AJT_B,Margem,267                 		'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON,      10,  1                          'activar fonte
PrWIN TX_CTR, Col1,  0,Col2,0,"Totais ..."
PrWIN TX_NP,  Col2,  0,"N",@Tvenc
PrWIN TX_NP,  Col3,  0,"N",@TSbsAlim
PrWIN TX_NP,  Col4,  0,"N",@TPrem
PrWIN TX_NP,  Col5,  0,"N",@TSubs
PrWIN TX_NP,  Col6,  0,"N",@Total
call SigLstRod
PrWin FP

if MemTxt$(3)="FIM" then 
  fx=totlpz(0)
end if
End Sub


'------------------------------------------------------------------------------
' IMPRESSAO GRAFICA  - MAPA RESUMO 
'------------------------------------------------------------------------------
Sub SegR_CabG
PrWIN COR_F, 15                              'cor de fundo 
call SigEmpMorada
Call JanelaCarta2

PrWIN AJT_B,  Margem,53                      'posicao base
PrWIN COR_T,  CorTitLst                      'cor de titulo
PrWin TX_N,0,0,"Apólice"
PrWIN COR_T,  CorLin
PrWin TX_N,20,0,@Apo

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

esp=19
Col1=0
Col2=65
Col3=Col2+13
Col4=Col3+(esp*1)
Col5=Col3+(esp*2)
Col6=Col3+(esp*3)
Col7=Col3+(esp*4)
Col8=Col3+(esp*5)
Colmax=col8+20

Lin=1
PrWIN FON  ,   8,   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,"Dias"
PrWIN TX_N,  Col3,Lin,"Categoria"
PrWIN TX_N,  Col4,Lin,"Vencimento"
PrWIN TX_N,  Col5,Lin,"Sub.Alim."
PrWIN TX_N,  Col6,Lin,"Prém.+Aj.Custo"
PrWIN TX_N,  Col7+5,Lin,"Férias+Natal"
PrWIN TX_N,  Col8+5,Lin,"Total"
PrWIN COR_T,CorTraco                            'cor 
PrWIN GR_LI, 0, 0, ColMax, 0               	'linha
PrWIN GR_LI, 0, 7, ColMax,7               	'linha
PrWIN COR_T,CorLin                              'cor 
PrWIN FON  ,   7,   1                        	'activar fonte
End Sub


Sub SegR_LinG
PrWIN AJT_B,  Margem, 75+Doc_CntLin*4          	'posicao base
PrWIN TX_DMX,   Col1,0,Col2-Col1,@Nome
PrWIN TX_NP,    Col2,0,"N",@Dias
PrWIN TX_NP,    Col3,0,"N",@Categ
PrWIN TX_NP,    Col4,0,"N",@Venc
PrWIN TX_NP,    Col5,0,"N",@SbsAlim
PrWIN TX_NP,    Col6,0,"N",@Prem
PrWIN TX_NP,    Col7,0,"N",@Subs
PrWIN TX_NP,    Col8,0,"N",@Tot
End Sub


Sub SegR_FimG
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_CTR, Col1,  0,Col2,0,"Totais ..."
PrWIN TX_NP,  Col4,  0,"N",@Tvenc
PrWIN TX_NP,  Col5,  0,"N",@TSbsAlim
PrWIN TX_NP,  Col6,  0,"N",@TPrem
PrWIN TX_NP,  Col7,  0,"N",@TSubs
PrWIN TX_NP,  Col8,  0,"N",@Total
call SigLstRod
PrWin FP
if MemTxt$(3)="FIM" then 
  fx=totlpz(0)
end if
End Sub
##


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