'Nome       : CtbExt.std
'Tipo       : LST
'Data       : 2010/05/19
'Versao     : 2.1
'Descricao  : Extracto de entidades

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 2.1  2010/??/?? ---------------------------------------------------
'Correcoes no modo grafico

'- Versao : 2.0  2006/09/20 ---------------------------------------------------
'modo grafico

'- Versao : 1.0  2000/03/24 ---------------------------------------------------
'versao base


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=CtbExt
Nome                       [DocNom]=CtbExt,Extracto
Vias                       [DocVia]=Original

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=ExtCab
Listar linhas               [FxLIN]=ExtLin; Ent; Tot,2
Listar fim                  [FxFIM]=ExtFim
##


'==============================================================================
#DOC - Configuracao do documento 
'==============================================================================
Tipo                       [DocTip]=CtbExt
Nome                       [DocNom]=CtbExt_G, Extracto 

'formato
Saida/Impressora           [DocPrt]=PAG_W
'Linhas por pagina          [DocLpg]=56
Linhas por pagina          [DocLpg]=46
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=CtbExtG_Cab
Listar linhas               [FxLIN]=CtbExtG_Lin; Ent; Tot
Listar fim                  [FxFIM]=CtbExtG_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'Balancete
Tit80    = TxTit$("TT=12CPI, LD, PT=48C, TL=10CPI",Memtxt$(1))
Tit132   = TxTit$("TT=16CPI, LD, PT=66C, TL=16CPI",Memtxt$(1))

Pag      = Doc_CntPag
DataBal  = MemTxt$(2)
Cod      = Ctb_Ent_Cod$
Nome     = left$(Ctb_Ent_Nome$,35)
Nreg     = FrmNum$(7,MemTxt$(11))
Ndoc     = FrmNdo$("05",MemTxt$(12),MemTxt$(13))
Dtl      = FrmVal$(MemNum(19),44,0)
Descr    = MemTxt$(14)

EntDescr = MemTxt$(3)+" :"

'MemNum(11)                             'valor na moeda nac.
'MemNum(12)                             'valor na moeda do documento
'MemNum(13)                             'valor do IVA
'MemNum(14)                             'total nacional
'MemNum(15)                             'total estrangeiro

ValNac   = FrmMoe$("",13,MemNum(11))
ValDoc   = FrmMoe$("",13,MemNum(12))
ValIva   = FrmMoe$("",10,MemNum(13))
ValTot   = FrmMoe$("",13,MemNum(14))

SttValNac= FrmMoe$("",13,MemNum(31))
SttValDoc= FrmMoe$("",13,MemNum(32))
SttValIva= FrmMoe$("",10,MemNum(33))
SttValTot= FrmMoe$("",13,MemNum(34))

TotValNac= FrmMoe$("",13,MemNum(21))
TotValDoc= FrmMoe$("",13,MemNum(22))
TotValIva= FrmMoe$("",10,MemNum(23))
TotValTot= FrmMoe$("",13,MemNum(24))
##


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


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


Sub Cab80Col   'cabecalho para 80 colunas
FxDiv LstIde,10CPI,1
?
?@Tit80                                                                     #
End Sub


Sub Cab132col   'cabecalho para 132 colunas
FxDiv LstIde,16CPI,1
?@Tit132                                                                                                                           
End Sub

'- Extracto -------------------------------------------------------------------
SUB ExtCab
call Cab80Col
Print PrtCmd$("[10CPILN]");
? Data: @DataBal                                               Folha No : @Pag#
?================================================================================
?|No.Reg.|   Data   |  Descrição  |N.Doc.|   Valor     |Valor IVA |   Total     |
?================================================================================
end sub


SUB ExtLinEnt
? @EntDescr    @Cod        @Nome                                                #
end sub


SUB ExtLin
?|@Nreg  |@Dtl      |@Descr       |@Ndoc |@ValNac      |@ValIva   |@ValTot      |
end sub


SUB ExtLinTot
?             Sub-total :                 @SttValNac   |@SttValIva|@SttValTot   |
?
end sub


Sub ExtFim
?================================================================================
?|            Total :                    |@TotValNac   |@TotValIva|@TotValTot   |
?================================================================================
'Print PrtCmd$("[SP]");
FxDiv LstPer,SP
end sub


'==============================================================================
'= GRF = Listagem grafica =====================================================
'==============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
FimDoc=268
Margem=Margem-3
End sub


'==============================================================================
'- Balancetes - Modo gráfico
'==============================================================================
SUB CtbExtG_Cab 'cabecalho (modo grafico)
Call SigLstCab
Lin1=1                         		'linha 1
Lin2=4                                  'linha 2
Lin3=6.5                                'linha 3
esp=30 

TCol1 =  0
TCol2 = 20
TCol3 = 40
TCol4 = 80
TCol5 =100
TCol6 =130
TCol7 =160
TCol8 =190
Cmax=TCol8

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,   8,   1                        	'activar fonte
PrWIN AJT_B,  Margem, 25                    	'posicao base

PrWIN GR_CX,  0, 0, Cmax,5                      'caixa geral
PrWIN GR_CX, Tcol1 , 0, Tcol2 , 5               'caixa Nº Reg
PrWIN GR_CX, Tcol2 , 0, Tcol3 , 5               'caixa Data
PrWIN GR_CX, Tcol3 , 0, Tcol4 , 5               'caixa Descricao
PrWIN GR_CX, Tcol4 , 0, Tcol5 , 5               'caixa Numero Documento
PrWIN GR_CX, Tcol5 , 0, Tcol6 , 5               'caixa Valor
PrWIN GR_CX, Tcol6 , 0, Tcol7 , 5               'caixa Valor Iva
PrWIN GR_CX, Tcol7 , 0, Tcol8 , 5               'caixa Valor Total

PrWIN FON,"BOLD+"                               'activar bold
PrWIN FON  ,   8,   1                           'activar fonte
PrWIN TX_CTR,  TCol1 ,Lin1,TCol2 ,Lin1,"Nº Registo"
PrWIN TX_CTR,  TCol2 ,Lin1,TCol3 ,Lin1,"Data"
PrWIN TX_CTR,  TCol3 ,Lin1,TCol4 ,Lin1,"Descrição"
PrWIN TX_CTR,  TCol4 ,Lin1,TCol5 ,Lin1,"Documento"
PrWIN TX_CTR,  TCol5 ,Lin1,TCol6 ,Lin1,"Valor"
PrWIN TX_CTR,  TCol6 ,Lin1,TCol7 ,Lin1,"Valor I.V.A."
PrWIN TX_CTR,  TCol7 ,Lin1,TCol8 ,Lin1,"Total"
PrWIN FON,"BOLD-"                               'desactivar bold

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=27
end sub


SUB CtbExtG_Lin 'linha (modo grafico) ------------------------------------------------------------
LCol1 =  2
LCol2 = 23
LCol3 = 42
LCol4 = 82
LCol5 =108
LCol6 =143
LCol7 =167
Cmax=LCol7

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*5          	'posicao base
PrWIN COR_T,    CorLin
PrWIN TX_N,     LCol1 ,0          ,@Nreg
PrWIN TX_N,     LCol2 ,0          ,@Dtl
PrWIN TX_N,     LCol3 ,0          ,@Descr
PrWIN TX_N,     LCol4 ,0          ,@Ndoc
PrWIN TX_NP,    LCol5 ,0      ,"N",@ValNac
PrWIN TX_NP,    LCol6 ,0      ,"N",@ValIva
PrWIN TX_NP,    LCol7 ,0      ,"N",@ValTot
end sub


SUB CtbExtG_LinEnt 'linha de identificacao (modo grafico) ---------------------------------------
LCol1 =  2
LCol2 = 32
LCol3 = 62
LCol4 =190
Cmax=LCol4

PrWIN FON  ,   9,   1                                           'activar fonte
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*5          	'posicao base
PrWIN FON,"BOLD+"                                               'activar bold
PrWIN COR_T,    CorLin
PrWIN TX_N,     LCol1 ,0          ,@EntDescr
PrWIN TX_N,     LCol2 ,0          ,@Cod
PrWIN TX_N,     LCol3 ,0          ,@Nome
PrWIN FON,"BOLD-"                                               'desactivar bold
PrWIN FON  ,   8,   1                                           'activar fonte
end sub


SUB CtbExtG_LinTot 'linha de sub-totais (modo grafico) ------------------------------------------
LCol1 =  2
LCol2 =108
LCol3 =143
LCol4 =168
LCol5 =190
Cmax=LCol5

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*5          	'posicao base
PrWIN COR_T,    CorLin
PrWIN FON,"BOLD+"                                               'activar bold
PrWIN FON,"ITAL+"                                               'activar italico

PrWIN TX_CTR,   TCol1,0,TCol2,0,"Total :"
PrWIN TX_NP,    LCol2 ,0      ,"N",@SttValNac
PrWIN TX_NP,    LCol3 ,0      ,"N",@SttValIva
PrWIN TX_NP,    LCol4 ,0      ,"N",@SttValTot
tmp=CntLin("INC",1)                                             'contar linha

PrWIN FON,"ITAL-"                                               'desactivar italico
PrWIN FON,"BOLD-"                                               'desactivar bold
PrWIN GR_LI, 0, 0, CMax, 0                      'linha
end sub


SUB CtbExtG_Fim 'final (modo grafico)
TCol1 =  2
TCol2 =108
TCol3 =143
TCol4 =168
TCol5 =190
Cmax=TCol5

PrWIN AJT_B,Margem,FimDoc                       'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, CMax, 0                      'linha

PrWIN FON,"BOLD+"                                               'activar bold
PrWIN TX_CTR,   TCol1,Lin1,TCol2,Lin1,"Total :"
PrWIN TX_NP,    TCol2 ,1      ,"N",@TotValNac
PrWIN TX_NP,    TCol3 ,1      ,"N",@TotValIva
PrWIN TX_NP,    TCol4 ,1      ,"N",@TotValTot
PrWIN FON,"BOLD-"                                               'desactivar bold

PrWIN AJT_B,Margem,FimDoc+5                     'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, CMax, 0                      'linha

Call SigLstRod
PrWin FP
end sub
##


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