'Nome       : BANCO.STD
'Tipo       : LST
'Data       : 2005/09/26
'Versao     : 1.2
'Descricao  : Relacao para Bancos


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

'- Versao : 1.0a 2000/02/29 ---------------------------------------------------
'Nao mostrava o NIB da empresa completo

'- Versao : 1.0b 2000/04/04 ---------------------------------------------------
'Nao repunha fonte em tamanho normal, apos listar a personalizacao

'- Versao : 1.0c 2000/06/13 ---------------------------------------------------
'Executava a listagem em condencado

'- Versao : 1.0d 2000/06/27 ---------------------------------------------------
'Formatar valores consoante moeda da empresa

'- Versao : 1.0e 2000/11/29 ---------------------------------------------------
'Impressao grafica
'Novo aspecto

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

'- Versao : 1.0g 2001/02/20 ---------------------------------------------------
'Ajustar transferencia bancaria

'- Versao : 1.1  2002/01/26 ---------------------------------------------------
'Ajustar contador de pagina, totais, aspecto da relacao p bancos
'ajuste de moeda na transferencia

'- Versao : 1.2  2004/11/29 ---------------------------------------------------
'Ao listar para vários bancos o nome dos bancos ficava errado
'Na transferencia bancaria, estava a limitar 100 linhas

'- Versao : 1.2a 2005/??/?? ---------------------------------------------------
'Na relação para bancos a linha da assinatura estava sobre a personalizacao


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


'-----------------------------------------------------------------------------
' Campos especificos
'-----------------------------------------------------------------------------
#ESP
Zoom para preview             [PrvZoom]=1.5
Opcoes para impressora WIN   [PrWinOpc]=[ORI=P]
##


'-----------------------------------------------------------------------------
' Configuracao do documento
'-----------------------------------------------------------------------------
#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Banco,Relacao para banco

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=35
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1
Ordencao                   [DocEsp]=ORD=BANCO
Listar continuo            [DocEsp]=LstCnt=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Bnc_Cab
Listar linhas               [FxLIN]=Bnc_Lin;Ajt
Listar fim                  [FxFIM]=Bnc_Fim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Banco_G,Relacao para banco

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=53
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1
Ordencao                   [DocEsp]=ORD=BANCO
Listar continuo            [DocEsp]=LstCnt=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=Bnc_CabG
Listar linhas               [FxLIN]=Bnc_LinG;Ajt
Listar fim                  [FxFIM]=Bnc_FimG
##

#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=TrfBnc,Transferencia Bancaria

'formato
Saida/Impressora           [DocPrt]=SPI
Linhas por pagina          [DocLpg]=500
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordencao                   [DocEsp]=ORD=BANCO
Listar continuo            [DocEsp]=LstCnt=1
Directorio ficheiros       [DocEsp]=Spidir=Spi\Banco
Nome de ficheiro           [DocEsp]=SpiFic=[DT4][MES].bnc
tipo suporte informatico   [DocEsp]=SpiTip=bnc

'funcoes de listagem
Listar cabecalho            [FxCAB]=Trf_Cab
Listar linhas               [FxLIN]=Trf_Lin
Listar fim                  [FxFIM]=Trf_Fim
##


#DOC
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=TrfBncCnf,Transferencia Bancaria (conferencia)

'formato
Saida/Impressora           [DocPrt]=SPI
Linhas por pagina          [DocLpg]=60
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Ordencao                   [DocEsp]=ORD=BANCO
Listar continuo            [DocEsp]=LstCnt=1
Directorio ficheiros       [DocEsp]=Spidir=Spi\Banco
Nome de ficheiro           [DocEsp]=SpiFic=[DT4][MES].bnc
tipo suporte informatico   [DocEsp]=SpiTip=bnc
Nao Apresentar no menu     [DocEsp]=MnuInv=0


'funcoes de listagem
Listar cabecalho            [FxCAB]=TrfCabCnf
Listar linhas               [FxLIN]=TrfLinCnf
Listar fim                  [FxFIM]=TrfFimCnf
##


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

'dados da empresa
NomEmp   =Emp_Inf_Nome$
MorEmp   =Emp_Inf_Morada$
LocalEmp =Emp_Inf_Local$
CPostEmp =Emp_Inf_CPost$

'dados do banco
Banco    =GpeTabCon$("BNC",Gpe_Mst_Banco$,"NOME")
Agenc    =GpeTabCon$("BNC",Gpe_Mst_Banco$,"AG_LOC")
Morada   =GpeTabCon$("BNC",Gpe_Mst_Banco$,"MORADA")
Local    =GpeTabCon$("BNC",Gpe_Mst_Banco$,"LOC")
CodPos   =GpeTabCon$("BNC",Gpe_Mst_Banco$,"CPOST")
NibEmp   =GpeTabCon$("BNC",Gpe_Mst_Banco$,"NIB")
ValorEx  = "Valor "+EmpTabCon$("MOEDA",Emp_Inf_Moeda,"ABRV")

JanelaCartaL1=GpeTabCon$("BNC",Gpe_Mst_Banco$,"NOME")
JanelaCartaL2=GpeTabCon$("BNC",Gpe_Mst_Banco$,"AG_LOC")
JanelaCartaL3=GpeTabCon$("BNC",Gpe_Mst_Banco$,"MORADA")
JanelaCartaL4=GpeTabCon$("BNC",Gpe_Mst_Banco$,"LOC")
JanelaCartaL5=GpeTabCon$("BNC",Gpe_Mst_Banco$,"CPOST")

'linha
Nib      =Gpe_Mst_BcNib$
Nome     =Gpe_Mst_Nome$
Vl       =GpeFrmMoe$("",11,GpeAcmSal("LIQ"))


'totais
TotVl    =GpeFrmMoe$("",12,Total("Vl",1))
TotPag   =GpeFrmMoe$("",12,Total("Vl",2))

'-- Transferecia bancaria --
Cnt    =FrmVal$(Doc_cntLin,21,4)

'Cabecalho
r      ="PS2"
sit    ="108000"
n1     =TxCarEli$(0,GpeTabCon$("BNC",Memtxt$(10),"NIB"),".")
cm     ="EUR"
dt     =FrmVal$(Sig_DtHoje,43,0)
ref    ="                    "
f      ="0000000000000000000"

'Linha
rl     ="PS2"
sitl   ="208000"
TrfLinNib    =TxCarEli$(0,Gpe_Mst_BcNib$,".")
val    =right$("0000000000000"+trim$(TxCarEli$(0,FrmVal$(GpeAcmSal("LIQ"),21,-11.2),".")),13)
re     =left$(Gpe_Mst_Nome$,20)
t      ="               "
z      ="  "

'Final
rf     ="PS2"
sitf   ="908000000000"
tr     =NumTxt$(Doc_CntLin,14)
tot    = Right$("0000000000000"+Trim$(TxCarEli$(0,FrmVal$(Totx,21,-11.2),".")),13)
x      ="00000000000000000000000000000000000000"
##


#INC
Variaveis comuns                 =[SIG_Dir.Div],LsComVar.Std
##


'-----------------------------------------------------------------------------
' Programa/Funcoes
'-----------------------------------------------------------------------------
#PGM


SUB Lst_AJT
end sub

'-----------------------------------------------------------------------------
' Formato do documento
'-----------------------------------------------------------------------------
'- Relacao para banco --(Texto)-----------------------------------------------
SUB Bnc_Cab
Print PrtCmd$("[10CPILN]");
if Doc_CntPag=1 then
?   @NomEmp                                                                    #
?   @MorEmp                                                                    #
?   @LocalEmp                                                                  #
?   @CPostEmp                                                                  #
?
?                                         Ex.mos Senhores:
?
?                                         @Banco                               #
?                                         @Agenc                               #
?                                         @Morada                              #
?                                         @Local                               #
?                                         @CodPos                              #
?                                                                              #
?
?                                                                   #
Fx=CntLin("FRC",15)
end if
?                                                                              #
?                                                                              #
?        Junto enviamos relacao de contas a creditar por debito da n/ conta    #
?   NIB: @NibEmp                                                               #
?
?
?   Data : @DataExt                                              Pagina : @Pag  #
?   =============================================================================
?          N.I.B.                         Nome                       @ValorEx   #
?   =============================================================================
end sub


Sub Bnc_Lin
?   @NIB                     @Nome                                   @Vl        #
end sub

Sub Bnc_LinAjt
?
end sub


Sub Bnc_FimAjt 
?   =============================================================================
?         ( Listagem a continuar ..)           Total de pagina :   @TotPag      #
?   =============================================================================
x=TotLpz(2)                       'azerar totalizador 
FxDiv LstPer,SP
end sub


Sub Bnc_Fim 
?
?
?                                             -----------------------------------
?                                                       (Assinatura)
?
?   =============================================================================
?                                               Total de Pagina :   @TotPag     #
?                                                   Total Geral :   @TotVl      #
?   =============================================================================
x=TotLpz(0)                       'azerar totalizador 
FxDiv LstPer,SP
end sub

'- Relacao para banco --(Grafico)-----------------------------------------------
SUB FxIni 'funcao de inicializacao
Call SigLstIni
End sub


SUB Bnc_CabG
PrWin COR_F,15
PrWin Fon, 10
If Doc_CntPag=1          
  call SigEmpMorada     
  Call JanelaCarta2            
  InicioEscrita=70
  LinCnt=15
else
  InicioEscrita=15
  LinCnt=1
end if

Fx=CntLin("FRC",LinCnt)

PrWIN AJT_B,  Margem+10,InicioEscrita                     'posicao base
If Doc_CntPag=1
  PrWin Tx_N, 0,0,"Exmos Senhores"
  PrWin Tx_N, 0,5,"    Solicitamos a V. Exas. o favor de na data abaixo indicada, procederem ao crédito das contas"
  PrWin Tx_N, 0,10,"a seguir mencionadas e pelos respectivos valores, por débito da n/ conta"
End if
PrWin Tx_N, 0,15,"N.I.B :"
PrWin Tx_N, 15,15,@NibEmp


PrWIN AJT_B,  Margem,InicioEscrita+11                        'posicao base
Call DataPag_A4

Col1=0
Col2=50
Col3=150
Col4=MargemD
Lin=2

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

PrWIN TX_CTR,  Col1,Lin,Col2,Lin,"N.I.B"
PrWIN TX_CTR,  Col2,Lin,Col3,Lin,"Nome"
PrWIN TX_CTR,  Col3,Lin,Col4,Lin,@ValorEx

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, Col1, 0, Col4, 0               	'linha
PrWIN GR_LI, Col1, 7, col4,7               	'linha

PrWin COR_T ,  CorLin
FimDoc=260
end sub


Sub Bnc_LinG
Linha=Doc_cntLin-LinCnt+1
PrWIN AJT_B,  Margem, InicioEscrita+30+Linha*4                 'posicao base
PrWIN TX_N,     Col1,0,@Nib
PrWIN TX_DMX,   Col2,0,Col3-Col2,@Nome
PrWIN TX_NP,    Col3,0,"N",@Vl
end sub


Sub Bnc_FimGAjt
FimInt=1
Call Totais
Fx=TotLpz(2)
end sub


Sub Bnc_FimG
FimInt=0
Call Totais
end sub


Sub Totais
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc*1           		'posicao base
PrWIN GR_LI,     0,  0, MargemD, 0            	'linha
PrWIN AJT_B,Margem,FimDoc+2                     'posicao base
PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON,      10,  1                          'activar fonte

Cl1=10
Cl2=112
Cl3=Col3

PrWIN TX_CTR, Col2,     0,Col3,0,"Total de Pagina ..."
PrWIN TX_NP,  Col3,     0,"N",@TotPag

if FimInt=0
  PrWIN TX_CTR, Col2+10,  4,Col3,4,"Total Geral ..."
  PrWIN TX_NP,  Col3,     4,"N",@TotVl
   
 
  PrWIN GR_LI,    Col1,  7, ColA+65, 7            	'linha
  PrWIN  TX_N, Col1+25,  7,"(Assinatura)"

end if


x=TotLpz(0)                       'azerar totalizador
call SigLstRod
PrWin FP
end sub



'===================================================================================
'  Suporte Informatico (Transferencia Bancaria)
'===================================================================================
Sub SpiIni'prepara suporte informatico
fic$=MemTxt$(11)                                   'ficheiro a usar
x=FicPrp(1, "O:80", fic$)                          'preparar ficheiro
x=FicAbr(1)                                        'abrir ficheiro
'fx=msgbox("INI",fic$)
end sub


SUB SpiFim 'funcao de finalizacao
'MsgBox "","Fim",mdu$
x=FicFec(1)                                        'fechar ficheiro
end sub


'-----------------------------------------------------------------------------------
Sub Trf_LinDef  'definicao campos 
'-----------------------------------------------------------------------------------
fx=SpiRegIni("80","")        'preparar registo

'cabecalho
fx=SpiRegTpl("PS2108000","Tipo de Registo")
fx=SpiRegCmp(9,"Tipo Registo")
fx=SpiRegCmp(21,"NIB da Empresa")
fx=SpiRegCmp(3,"Moeda")
fx=SpiRegCmp(8,"Data")
fx=SpiRegCmp(20,"")
fx=SpiRegCmp(19,"")


'linhas
fx=SpiRegTpl("PS2208000","Tipo de Registo")
fx=SpiRegCmp(9,"Tipo Registo")
fx=SpiRegCmp(21,"NIB do Trabalhador")
fx=SpiRegCmp(13,"Valor",21,"-11.2")
fx=SpiRegCmp(20,"Trabalhador")
fx=SpiRegCmp(15,"")
fx=SpiRegCmp(2,"")


'Totais
fx=SpiRegTpl("PS2908000","Tipo de Registo")
fx=SpiRegCmp(9,"Tipo Registo")
fx=SpiRegCmp(6,"")
fx=SpiRegCmp(14,"Registos")
fx=SpiRegCmp(13,"Valor total",21,"-11.2")
fx=SpiRegCmp(38,"")
end sub



'-----------------------------------------------------------------------------------
Sub Trf_Cab    'listar cabecalho Suporte informatico
'-----------------------------------------------------------------------------------
r$     = "PS2"
sit$   = "108000"
nib$   = TxCarEli$(0,GpeTabCon$("BNC",Memtxt$(10),"NIB"),".")
moeda$ = "EUR"
Data$  = FrmVal$(Sig_DtHoje,43,0)
ref$   = "                    "
fixo$  = "0000000000000000000"

txr$=r$+sit$+nib$+moeda$+data$+ref$+fixo$
x=FicLinGrv(1, txr$)                                         'registar
Totx=0
End Sub

'-----------------------------------------------------------------------------------
Sub Trf_Lin     'listar linha
'-----------------------------------------------------------------------------------

'Linha
rl$     = "PS2"
sitl$   = "208000"
NibTrb$ = TxCarEli$(0,Gpe_Mst_BcNib$,".")
val$    = right$("0000000000000"+trim$(TxCarEli$(0,FrmVal$(GpeAcmSal("LIQ"),21,-11.2),".")),13)
re$     = TxTamAjt$(Gpe_Mst_Nome$,20) 
t$      = "               "
z$      = "  "

Totx=GpeAcmSal("LIQ")+TotX

txr$=rl$+sitl$+nibtrb$+val$+re$+t$+z$
x=FicLinGrv(1, txr$)                                         'registar
End Sub

'-----------------------------------------------------------------------------------
Sub Trf_Fim      'listar final
'-----------------------------------------------------------------------------------
rf$     = "PS2"
sitf$   = "908000000000"
tr$     = NumTxt$(Doc_CntLin,14)
tot$    = Right$("0000000000000"+Trim$(TxCarEli$(0,FrmVal$(Totx,21,-11.2),".")),13)
x$      = "00000000000000000000000000000000000000"

txr$=rf$+sitf$+tr$+tot$+x$
x=FicLinGrv(1, txr$)                                         'registar
End Sub


'-----------------------------------------------------------------------------------
'Listagem Conferencia
'-----------------------------------------------------------------------------------
Sub TrfCabCnf
FxDiv LstIde,16CPI,1
Print PrtCmd$("[10CPILN]");
?
?                 Conferência ficheiro Suporte informatico
?
?Data: @DataExt                                                   Folha No: @Pag#
?=================================================================================

end sub


Sub TrfLinCnf

if MemTxt$(1)="PS2108000" then   'banco
Print tab(10) "Banco para transferencia NIB:";
Print tab(40) MemTxt$(2)
?
end if

If MemTxt$(1)="PS2208000" then   'transferencias
Print tab(1)  MemTxt$(4);
Print tab(35) "NIB:";
Print tab(40)  MemTxt$(2);
Print tab(65) MemTxt$(3)
end if

If MemTxt$(1)="PS2908000" then   'totais
?---------------------------------------------------------------------------------
Print tab(6) "Total de Registos:";
Print tab(25) MemTxt$(3);
Print tab(44) "Total Transferencia:";
Print tab(65) MemTxt$(4)
end if

end sub

Sub TrfFimCnf
?=================================================================================
FxDiv LstPer,SP
end sub


##


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

