'Nome       : BANCO.STD
'Tipo       : LST
'Data       : 2016/07/13
'Versao     : 1.6a
'Descricao  : Relacao para Bancos

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.6b  2016/??/?? --------------------------------------------------
'No ficheiro Ps2 colocar numero do trabalhador no campo do nome

'- Versao : 1.6a  2016/06/06 --------------------------------------------------
'Formatar IBAN na relacao para bancos

'- Versao : 1.6  2016/04/21 ---------------------------------------------------
'Formato ficheiro TXT

'- Versao : 1.5b 2015/02/26 ---------------------------------------------------
'Relacao para bancos - Descontinuar impressao modo texto
'Relacao para bancos - Retirar total intermedio

'- Versao : 1.5a 2015/01/21 ---------------------------------------------------
'Ajustes no ficheiro SEPA

'- Versao : 1.5  2014/10/01 ---------------------------------------------------
'Formato ficheiro SEPA

'- Versao : 1.4  2012/02/28 ---------------------------------------------------
'Compatibilizar com alteracoes na formatacao de valores

'- Versao : 1.3  2011/11/15 ---------------------------------------------------
'Compatibilizar com novo processo de listagem

'- Versao : 1.2d 2011/09/16 ---------------------------------------------------
'Compatibilizar com alteracoes nos acumuladores

'- Versao : 1.2c 2006/10/18 ---------------------------------------------------
'Com impressora grafica activa, ao gerar suporte informatico apresentava erro.
'Listagem conferencia suporte informático em formato gráfico

'- Versao : 1.2b 2005/10/21 ---------------------------------------------------
'correcção ortográfica

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

'- 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.1  2002/01/26 ---------------------------------------------------
'Ajustar contador de pagina, totais, aspecto da relacao p bancos
'ajuste de moeda na transferencia

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

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

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

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

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

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

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

'- Versao : 1.0  1999/11/18 ---------------------------------------------------
'Versao base

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


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



'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Banco_G,Relação para banco

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

Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1
Ordencao                   [DocEsp]=ORD=BANCO
Listar continuo            [DocEsp]=LstCnt=0
Identificador de listagem  [DocEsp]=LstId=BNCLST

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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=TrfBnc,Transferência PS2

'formato
Saida/Impressora           [DocPrt]=NULA
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
tipo suporte informatico   [DocEsp]=SpiTip=bnc
Identificador de listagem  [DocEsp]=LstId=BNCSPI
Nome de ficheiro           [DocEsp]=SpiFic=[DT4][MES].bnc


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=TrfBncCnf,Transferência Bancária (conferência)

'formato
Saida/Impressora           [DocPrt]=1
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
tipo suporte informatico   [DocEsp]=SpiTip=bnc
Nao Apresentar no menu     [DocEsp]=MnuInv=0
Identificador de listagem  [DocEsp]=LstId=BNCSPICNF
Nome de ficheiro           [DocEsp]=SpiFic=[DT4][MES].bnc


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=TrfBncCnf_G,Transferência Bancária (conferência)

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=53
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
tipo suporte informatico   [DocEsp]=SpiTip=bnc
Nao Apresentar no menu     [DocEsp]=MnuInv=0
Identificador de listagem  [DocEsp]=LstId=BNCCNF
Nome de ficheiro           [DocEsp]=SpiFic=[DT4][MES].bnc



'funcoes de listagem
Listar cabecalho            [FxCAB]=TrfCabCnfg
Listar linhas               [FxLIN]=TrfLinCnfg
Listar fim                  [FxFIM]=TrfFimCnfg
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SEPA
Nome                       [DocNom]=TrfSepa,Transferência SEPA

'formato
Saida/Impressora           [DocPrt]=NULA
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
tipo suporte informatico   [DocEsp]=SpiTip=sepa
Identificador de listagem  [DocEsp]=LstId=BNCSEPA
Nome de ficheiro           [DocEsp]=SpiFic=[EMPCOD]_[BANCOABRV]_[DT4][MES].sepa.xml
conferencia                [DocEsp]=SpiCnf=0



'funcoes de listagem
Listar cabecalho            [FxCAB]=TrfSepa_Cab
Listar linhas               [FxLIN]=TrfSepa_Lin
Listar fim                  [FxFIM]=TrfSepa_Fim
##

'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ORDGER
Nome                       [DocNom]=Trftxt,Suporte informático - TXT

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

Identificador de listagem  [DocEsp]=LstId=BNCSPI-TXT
Directorio ficheiros       [DocEsp]=Spidir=Spi\Banco
tipo suporte informatico   [DocEsp]=SpiTip=BANCO:TXT
Nome de ficheiro           [DocEsp]=SpiFic=[EMPCOD]_[BANCOABRV]_[DT4][MES].bnc.txt
conferencia                [DocEsp]=SpiCnf=



'funcoes de listagem
Listar cabecalho            [FxCAB]=txtCab
Listar linhas               [FxLIN]=txtLin
Listar fim                  [FxFIM]=txtFim
##



'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PS2
Nome                       [DocNom]=TrfTxtCnf_G,Suporte informático - TXT conferencia

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=59
Ajustar pagina             [DocApg]=0
Listar continuo            [DocEsp]=LstCnt=1

Identificador de listagem  [DocEsp]=LstId=BNCSPI-TXT
Directorio ficheiros       [DocEsp]=Spidir=Spi\Banco
tipo suporte informatico   [DocEsp]=SpiTip=BANCO:TXT
Nome de ficheiro           [DocEsp]=SpiFic=[EMPCOD]_[BANCOABRV]_[DT4][MES].bnc.txt
Nao Apresentar no menu     [DocEsp]=MnuInv=1


'funcoes de listagem
Listar cabecalho            [FxCAB]=TxtCabCnf
Listar linhas               [FxLIN]=TxtLinCnf
Listar fim                  [FxFIM]=TxtFimCnf
##




'==============================================================================
#VAR - Variaveis
'==============================================================================
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")
NibEmpF  =GpeNIbFrm$(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$
NibF     =GpeNibFrm$(Gpe_Mst_BcNib$)
Nome     =Gpe_Mst_Nome$
Vl       =GpeFrmMoe$("",11,GpeAcmSalCon("LIQ"))


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

##


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


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


'===================================================================================
'  Suporte Informatico (Transferencia Bancaria)
'===================================================================================
Sub SpiIni'prepara suporte informatico


id$=GpeOplCon$("LSTID")
if id$="BNCSPI-TXT" then
  fic$=MemTxt$(11)                           'ficheiro a usar
  fx=FicPrp(1, "O:0", fic$)                        'preparar ficheiro
  fx=FicAbr(1)                                        'abrir ficheiro
end if

if id$="BNCSPI" then
  fic$=MemTxt$(11)                           'ficheiro a usar
  fx=FicPrp(1, "O:80", fic$)                          'preparar ficheiro
  fx=FicAbr(1)                                        'abrir ficheiro
end if

if id$="BNCSEPA"
  fic$=GpeSepaFx$("FIC","LOC")                        'ficheiro a usar
  rSize$=GpeSepaFx$("FIC","ROWSIZE")                  'tamanho de registo
  fx=FicPrp(1, rSize$, fic$)                          'preparar ficheiro
  fx=FicAbr(1)                                        'abrir ficheiro
end if
end sub


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


'------------------------------------------------------------------------------
Sub SpiCmpDef  'definicao campos de ficheiro
'------------------------------------------------------------------------------
fx=SpiRegIni("80","")        'preparar registo

id$=GpeOplCon$("LSTID")


'fx=msgboxinf("",id$)
if id$="BNCSPI-TXT" then
  fx=SpiRegTpl("","CSV:TAB")
  fx=SpiRegCmp(1,"IBAN")
  fx=SpiRegCmp(1,"nome")
  fx=SpiRegCmp(1,"bic")
  fx=SpiRegCmp(1,"valor",21,"NUMFRM:5.2")
end if

if id$="BNCSPI" then
  '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 if
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
'-----------------------------------------------------------------------------------

  rl$     = "PS2"
  sitl$   = "208000"
  NibTrb$ = TxTamAjt$(TxCarEli$(0,Gpe_Mst_BcNib$,"."),21)
  val$    = NumSpi$(GpeAcmSalCon("LIQ"),13,2)
  texto$  = Gpe_Mst_Nome$
  texto$  = Gpe_Mst_trb$+Gpe_Mst_Nome$
  re$     = TxTamAjt$(texto$,20) 

  t$      = "               "
  z$      = "  "
  Totx=GpeAcmSalCon("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$    = NumSpi$(Totx,13,2)
  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 de ficheiro para transferencia PS2
?
?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



'-----------------------------------------------------------------------------------
'Listagem Conferencia grafica
'-----------------------------------------------------------------------------------
Sub TrfCabCnfg
PrWIN COR_F, 15                                 'cor de fundo

titulo$="Conferência de ficheiro para transferencia PS2"

SigCabNorOpcTit=2      'usar titulo indicado
Call SigCabNor
PrWIN AJT_B,  Margem, 30                      'posicao base

Col1=0
Col2=70
Col21=col2+10
Col3=Col2+85

colMax=185

PrWIN AJT_B,  Margem, 30                     'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, colMax  ,0              'linha

PrWIN FON  ,   11,   1                         'activar fonte
InicioEscrita=27
End sub


Sub TrfLinCnfg
Linha=InicioEscrita+Doc_cntLin*4
PrWIN AJT_B,  Margem, linha                   'posicao base
PrWin COR_T ,  CorLin

if MemTxt$(1)="PS2108000" then   'banco
PrWIN COR_T,    CorTitLst                         'cor de titulo
PrWIN TX_N,     Col2-45,0,"Banco para transferencia"
PrWIN TX_N,     Col2,   0,"NIB:"
PrWIN TX_N,     Col21,  0,MemTxt$(2)
end if

If MemTxt$(1)="PS2208000" then   'transferencias
PrWIN TX_N,     Col1, 0,MemTxt$(4)
PrWIN TX_N,     Col2, 0,"NIB:"
PrWIN TX_N,     Col21,0,MemTxt$(2)
PrWIN TX_NP,    col3, 0,"N",MemTxt$(3)
end if

If MemTxt$(1)="PS2908000" then   'totais
lin=2
PrWIN GR_LI,   Col1,   lin, 190  ,lin
PrWin TX_N,    Col2-35,lin,"Total de Registos:"
PrWin TX_N,    Col2,   lin,MemTxt$(3)
PrWin TX_N,    Col3-35,lin,"Total Transferencia:"
PrWin TX_NP,   Col3,   lin,"N",MemTxt$(4)
end if
end sub


Sub TrfFimCnfg
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,LinPer-5             'posicao base
PrWIN GR_LI,    0,  0, ColMax, 0                  'linha
call SigLstRod
end sub


'==============================================================================
' #GRF - IMPRESSAO MODO GRAFICO
'==============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
LinPagZero = DocOpc$("DocLpg")              'linhas pagina zero
header=1                                    'apresenta cabecalho pagina zero
End sub

'------------------------------------------------------------------------------
SUB Bnc_CabG   'cabecalho de listagem
'------------------------------------------------------------------------------
PrWin COR_F,15
PrWin Fon, 10

if header=1 then                            'primeira folha do banco?
  call SigEmpMorada     
  Call JanelaCarta2            
  InicioEscrita=70
else
  usa=LinPagZero+10
  InicioEscrita=15
end if

linhas=CntLin("CON",LinCnt)

PrWIN AJT_B,  Margem+10,InicioEscrita                     'posicao base

If header=1 then
  PrWin Tx_N, 0,0,"Exmos Senhores"
  PrWin Tx_N, 0,8,"    Solicitamos a V. Exas. o favor de na data abaixo indicada, procederem ao crédito das contas"
  PrWin Tx_N, 0,13,"a seguir mencionadas e pelos respectivos valores, por débito da n/ conta"
  PrWin Tx_N, 0,18,"N.I.B :"
  PrWin Tx_N, 15,18,@NibEmpF
  InicioEscrita=InicioEscrita+16
else
   'nao imprime nada
End if


PrWIN AJT_B,  Margem,InicioEscrita                     'posicao base
InicioEscrita=InicioEscrita+15
Call DataPag_A4

Col1=0
Col2=Col1+60
Col3=Col2+100
Col4=MargemD
Lin=2

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

PrWIN TX_CTR,  Col1,Lin,Col2,Lin,"IBAN"
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
PrWIN FON  ,   8,   1                               'activar fonte
end sub

'------------------------------------------------------------------------------
Sub Bnc_LinG  'linha de valores
'------------------------------------------------------------------------------
Linha=Doc_cntLin*4
PrWIN AJT_B,  Margem, InicioEscrita+Linha        'posicao base
PrWIN TX_N,     Col1,0,GpeIbanFrm$(TxIde$(gpe_mst_opc$,"IBAN"))
PrWIN TX_DMX,   Col2,0,Col3-Col2,@Nome
PrWIN TX_NP,    Col3,0,"N",@Vl
end sub


'------------------------------------------------------------------------------
Sub Bnc_FimGAjt   'fim intermedio
'------------------------------------------------------------------------------
if memtxt$(99)="FIMFRC" then         'fim de grupo?
  header=1                           'forcar cabecalho na nova pagina
  totGrp=1                           'apresenta total de grupo
  Call Totais                        'mostrar totais
else
  header=0                           'nao apresentar cabecalho na nova pagina
  TotGrp=0                           'apresenta total normal
  Call Totais                        'mostrar totais
end if  
end sub


'------------------------------------------------------------------------------
Sub Bnc_FimG 
'------------------------------------------------------------------------------
Header=1      
TotGrp=1
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

if TotGrp=1             'total do grupo
  PrWIN TX_CTR, Col2,  0,Col3,0,"Total da transferencia"
  PrWIN TX_NP,  Col3,  0,"N",@TotGrp
  PrWIN GR_LI,    Col1,  7, ColA+65, 7             'linha
  PrWIN  TX_N, Col1+25,  8,"(Assinatura)"
  fx=TotLpz(1)                       'azerar totalizador
else
  PrWIN TX_CTR, Col2,     0,Col4,0,"Continua  ..."
'  PrWIN TX_NP,  Col3,     0,"N",@TotPag
  fx=TotLpz(2)
end if


call SigLstRod
PrWin FP
end sub


'==============================================================================
'#SEPA
'==============================================================================
'-----------------------------------------------------------------------------------
Sub TrfSepa_Cab    'listar cabecalho Suporte informatico
'-----------------------------------------------------------------------------------
fx=FicLinGrv(1,"<?xml version="+chr$(34)+"1.0"+chr$(34)+" encoding="+chr$(34)+"UTF-8"+chr$(34)+" ?>")

fx=FicLinGrv(1,"<Document xmlns="+chr$(34)+"urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"+chr$(34)+" xmlns:xsi="+chr$(34)+"http://www.w3.og/2001/XMLSCHEMA-Instance"+chr$(34) + " >")
fx=FicLinGrv(1,"  <CstmrCdtTrfInitn>")
                   
'consultar variaveis
msgId$         = GpeSepaFx$("TRF","MSGID")
data$          = GpeSepaFx$("TRF","DTTM")
TxsMax$        = GpeSepaFx$("TRF","MAX")
TxsTotal$      = GpeSepaFx$("TRF","TOT")
EmpNome$       = GpeSepaFx$("TRF","NOMEEMP")
EmpNif$        = GpeSepaFx$("TRF","EMPNIF")



fx=FicLinGrv(1,"<GrpHdr>");
fx=FicLinGrv(1,"  <MsgId>"+msgId$+"</MsgId>");
fx=FicLinGrv(1,"  <CreDtTm>"+data$+"</CreDtTm>");
fx=FicLinGrv(1,"  <NbOfTxs>"+TxsMax$+"</NbOfTxs>");
fx=FicLinGrv(1,"  <CtrlSum>"+TxsToTal$+"</CtrlSum>");
fx=FicLinGrv(1,"  <InitgPty>");
fx=FicLinGrv(1,"    <Nm>"+EmpNome$+"</Nm>");

fx=FicLinGrv(1,"    <Id>");
fx=FicLinGrv(1,"      <PrvtId>");
fx=FicLinGrv(1,"        <Othr>");
fx=FicLinGrv(1,"          <Id>"+EmpNif$+"</Id>");
fx=FicLinGrv(1,"        </Othr>");
fx=FicLinGrv(1,"      </PrvtId>");
fx=FicLinGrv(1,"    </Id>");

fx=FicLinGrv(1,"  </InitgPty>");
fx=FicLinGrv(1,"</GrpHdr>");
End Sub


'-----------------------------------------------------------------------------------
Sub TrfSepa_Lin     'listar linha
'-----------------------------------------------------------------------------------
TxsRef$      = GpeSepaFx$("PMTINF","INFID")
TxsExDt$     = GpeSepaFx$("PMTINF","EXCTDT")

EmpIban$    = GpeSepaFx$("BNC","IBAN")
EmpBic$     = GpeSepaFx$("BNC","BIC")

fx=FicLinGrv(1,"<PmtInf>")
fx=FicLinGrv(1,"  <PmtInfId>"+TxsRef$+"</PmtInfId>")
fx=FicLinGrv(1,"  <PmtMtd>TRF</PmtMtd>")
fx=FicLinGrv(1,"  <NbOfTxs>"+TxsMax$+"</NbOfTxs>")
fx=FicLinGrv(1,"  <CtrlSum>"+TxsTotal$+"</CtrlSum>")
fx=FicLinGrv(1,"  <PmtTpInf>")
fx=FicLinGrv(1,"    <CtgyPurp>")
fx=FicLinGrv(1,"      <Cd>SALA</Cd>")
fx=FicLinGrv(1,"    </CtgyPurp>")
fx=FicLinGrv(1,"  </PmtTpInf>")
fx=FicLinGrv(1,"  <ReqdExctnDt>"+TxsExDt$+"</ReqdExctnDt>")

fx=FicLinGrv(1,"  <Dbtr>")
fx=FicLinGrv(1,"    <Nm>"+EmpNome$+"</Nm>")
fx=FicLinGrv(1,"  </Dbtr>")

fx=FicLinGrv(1,"  <DbtrAcct>")
fx=FicLinGrv(1,"    <Id>")
fx=FicLinGrv(1,"     <IBAN>"+EmpIban$+"</IBAN>")
fx=FicLinGrv(1,"    </Id>")
fx=FicLinGrv(1,"  </DbtrAcct>")


fx=FicLinGrv(1,"  <DbtrAgt>")
fx=FicLinGrv(1,"    <FinInstnId>")
fx=FicLinGrv(1,"      <BIC>"+EmpBic$+"</BIC>")
fx=FicLinGrv(1,"    </FinInstnId>")
fx=FicLinGrv(1,"  </DbtrAgt>")

TrfMax        = GpeSepaFx("TRF","MAX")

for cnt=1 to TrfMax

  TrbValor$        = GpeSepaFx$("LIN",cnt,"VL")
  trbBic$          = GpeSepaFx$("LIN",cnt,"BIC")
  trbNome$         = GpeSepaFx$("LIN",cnt,"NOME")
  trbIban$         = GpeSepaFx$("LIN",cnt,"IBAN")
  trbEtEId$        = GpeSepaFx$("LIN",cnt,"ETEID")


  fx=FicLinGrv(1,"  <CdtTrfTxInf>")
  fx=FicLinGrv(1,"    <PmtId>")
  fx=FicLinGrv(1,"      <EndToEndId>"+trbEteId$+"</EndToEndId>")
  fx=FicLinGrv(1,"    </PmtId>")

  fx=FicLinGrv(1,"    <Amt>")
  fx=FicLinGrv(1,"      <InstdAmt Ccy="EUR">"+trbValor$+"</InstdAmt>")
  fx=FicLinGrv(1,"    </Amt>")

  fx=FicLinGrv(1,"    <CdtrAgt>")
  fx=FicLinGrv(1,"      <FinInstnId>")
  fx=FicLinGrv(1,"        <BIC>"+trbBic$+"</BIC>")
  fx=FicLinGrv(1,"     </FinInstnId>")
  fx=FicLinGrv(1,"    </CdtrAgt>")

  fx=FicLinGrv(1,"    <Cdtr>")
  fx=FicLinGrv(1,"      <Nm>"+trbNome$+"</Nm>")
  fx=FicLinGrv(1,"    </Cdtr>")

  fx=FicLinGrv(1,"    <CdtrAcct>")
  fx=FicLinGrv(1,"      <Id>")
  fx=FicLinGrv(1,"        <IBAN>"+trbIban$+"</IBAN>")
  fx=FicLinGrv(1,"     </Id>")
  fx=FicLinGrv(1,"    </CdtrAcct>")

  fx=FicLinGrv(1,"    <Purp>")
  fx=FicLinGrv(1,"      <Cd>SALA</Cd>")
  fx=FicLinGrv(1,"    </Purp>")
  fx=FicLinGrv(1,"  </CdtTrfTxInf>")

Next
fx=FicLinGrv(1,"</PmtInf>")
End Sub


'-----------------------------------------------------------------------------------
Sub TrfSepa_Fim      'listar final
'-----------------------------------------------------------------------------------
fx=FicLinGrv(1,"  </CstmrCdtTrfInitn>")
fx=FicLinGrv(1,"</Document>")
End Sub



'===================================================================================
'Formato TXT
'===================================================================================
'-----------------------------------------------------------------------------------
Sub TxtCab
'-----------------------------------------------------------------------------------
'
end sub


'-----------------------------------------------------------------------------------
Sub TxtLin
'-----------------------------------------------------------------------------------
cs$=GpeCsvSep$("")
iba$=TxIde$(gpe_mst_opc$,"IBAN")
nom$=Gpe_Mst_Nome$
bic$=TxIde$(gpe_mst_opc$,"BIC")
liq$=GpeAcmSalCon("LIQ")
inf$="Transferência vencimentos"

txl$=iba$+cs$+nom$+cs$+bic$+cs$+liq$+cs$+inf$
fx=FicLinGrv(1, txl$)                                         'registar
end sub


'-----------------------------------------------------------------------------------
Sub TxtFim
'-----------------------------------------------------------------------------------
'nao tem informacao
end sub





'-----------------------------------------------------------------------------------
Sub TxtCabCnf
PrWIN COR_F, 15                                 'cor de fundo

titulo$="Conferência ficheiro TXT - Transferência de vencimentos"

SigCabNorOpcTit=2      'usar titulo indicado
Call SigCabNor
PrWIN AJT_B,  Margem, 30                      'posicao base

Col1=0
Col2=col1+95
Col3=Col2+55
Col4=Col3+20

colMax=185

PrWIN AJT_B,  Margem, 30                     'posicao base
PrWIN COR_T,CorTraco                            'cor de linhas

PrWIN GR_LI, 0, 0, colMax  ,0              'linha
PrWIN GR_LI, 0, 4, colMax  ,4              'linha

PrWIN COR_T,CorTitLst                            'cor de linhas

PrWIN FON  ,   8,   1                         'activar fonte
bs=1
PrWIN TX_N,    Col1+40, bs,"Destinatário"
PrWIN TX_N,    Col2+10, bs,"IBAN"
PrWIN TX_N,    Col3, bs,"BIC/SWIFT"
PrWIN TX_N,    Col4+5, bs,"Valor"

PrWIN FON  ,   8,   1                         'activar fonte
InicioEscrita=31
linMem$=""
End sub


'-----------------------------------------------------------------------------------
Sub TxtLinCnf
Linha=InicioEscrita+Doc_cntLin*4
PrWIN AJT_B,  Margem, linha                        'posicao base
PrWin COR_T ,  CorLin

PrWIN TX_N,     Col1, 0,MemTxt$(2)
PrWIN TX_N,     Col2, 0,MemTxt$(1)
PrWIN TX_N,     Col3, 0,MemTxt$(3)
PrWIN TX_NP,     Col4, 0,"N",MemTxt$(4)


TotalTk=TotalTk+MemNum(4)
CntReg=CntReg+1
end sub


'-----------------------------------------------------------------------------------
Sub TxtFimCnfAjt
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,LinPer-5             'posicao base
PrWIN GR_LI,    0,  0, ColMax, 0                'linha
PrWIN TX_N, 25, 3, "Continua ... "
Prwin FP
end sub



Sub TxtFimCnf
PrWIN FON  ,   8,   1                         'activar fonte
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,LinPer-10                    'posicao base
PrWIN GR_LI,    0,  0, ColMax, 0                'linha

base=80
PrWIN TX_N,    base   , 0,"Registos:"
PrWIN TX_N,    base+20, 0,CntReg

base=base+40
PrWIN TX_N,    base   , 0,"Total da transferência:"
PrWIN TX_N,    base+40, 0,TotalTk


call SigLstFim
TotalTk=0
CntReg=0
end sub


##

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

