'Nome       : CtaPab.std
'Tipo       : LST
'Data       : 2009/02/25
'Versao     : 3.1
'Descricao  : Listagens de Partidas Abertas

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 3.1  2009/??/?? --------------------------------------------------
'Correccao de extracto de PA para listagem em PDF

'- Versao : 3.0d  2008/04/04 --------------------------------------------------
'Desactivar contagem de linhas na listagem de balancete para EXCEL

'- Versao : 3.0c  2007/01/15 --------------------------------------------------
'Criada opcao na listagem de balancetes para salto pagina por vendedor

'- Versao : 3.0b  2006/11/21 --------------------------------------------------
'Acrescentar os relatorios de cobranca 

'- Versao : 3.0a  2006/11/21 --------------------------------------------------
'Balancete de Partidas Abertas em Excel

'- Versao : 3.0   2006/05/19 ---------------------------------------------------
'listagem para Excel

'- Versao : 2.3   2002/05/15 ---------------------------------------------------
'Alteracoes para permitir a listagem ordenada por entidade

'- Versao : 2.2   2002/02/08 ---------------------------------------------------
'Ajustes graficos 

'- Versao : 2.1f  2001/12/07 ---------------------------------------------------
'Foram criadas 7 variaveis para conter as linhas de texto da carta

'- Versao : 2.1e  2001/02/07 ---------------------------------------------------
'diario de movimentos grafico
' - Nao mostrava o contacto e o telefone 
' - O Total geral estava errado
' - Ajustes graficos

'- Versao : 2.1d  2001/01/23 ---------------------------------------------------
'Nao listava contas e nomes nas listagens texto
'No balancete grafico, nao listava a ultima coluna completamente
'Alteracao nos ficheiros a usar nas inclusoes

'- Versao : 2.0c  2000/12/22 ---------------------------------------------------
'Nao apresentava os dados da conta na janela da carta

'- Versao : 2.0b  2000/12/06 ---------------------------------------------------
'Listagem no formato grafico
'alterados os radicais das funcoes de listagem

'- Versao : 2.0a  2000/04/04 ---------------------------------------------------
'Ajustes diversos

'- Versao : 2.0  2000/02/15 ---------------------------------------------------
'Usar numero de decimais da moeda da empresa

'- Versao : 1.0b 1999/02/10 ---------------------------------------------------
'Estava a ignorar o numero de linhas da folha (Diario de Movimentos)

'- Versao : 1.0b 1999/05/28 ---------------------------------------------------
'Lista as descricoes definidas no programa para os dias vencidos

'- Versao : 1.0a 1999/05/19 ---------------------------------------------------
'Extracto e diario, alteracao das funcoes de fim de pagina, funcoes para totais

'- Versao : 1.0  1998/10/07 ---------------------------------------------------
'Versao base


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


'==============================================================================
#ESP - Campos especificos
'==============================================================================
'Tipo de listagem                 [TipoLst]=PabLst
'Limites a listar                     [Lim]=?

'- Modo WORD ------------------------------------------------------------------
Guardar documento                [WordGrv]=S
'Nome do documento a guardar      [WordNom]=[DOC]
Nome do documento a guardar      [WordNom]=RND:CtaPab

Mostrar documento         (S/N)  [WordVer]=N
Listar documento          (S/N)  [WordLst]=S

'Usar mail - Nao usa        (N)  [MailUsa]=N
'Usar mail - Automatico     (A)  [MailUsa]=A
Usar mail - Manual          (M)  [MailUsa]=M

Usar opcoes de mail        (S/N) [MailOpc]=S
Juntar doc. word a mail    (S/N) [MailDoc]=S

Tipo de assunto (? ou [PAG])       [MailAss]=?
##


'------------------------------------------------------------------------------------------ Balancete de Movimentos em aberto
'==============================================================================
#DOC - Configuracao do documento - Balancete (texto)
'==============================================================================
'Balancete de Movimentos em aberto -------------------------------------------
Tipo                       [DocTip]=BalMab
Nome                       [DocNom]=BalMab,Balancete

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=TX_BalMab_Cab
Listar linhas               [FxLIN]=TX_BalMab_Lin
Listar fim                  [FxFIM]=TX_BalMab_Fim
##


'==============================================================================
#DOC - Configuracao do documento - Balancete (gráfico)
'==============================================================================
Tipo                       [DocTip]=BalMab
Nome                       [DocNom]=BalMab_G,Balancete

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_BalMab_Cab
Listar linhas               [FxLIN]=PW_BalMab_Lin
Listar fim                  [FxFIM]=PW_BalMab_Fim
##


'==============================================================================
#DOC - Configuracao do documento - Balancete (excel)
'==============================================================================
Tipo                       [DocTip]=BalMab
Nome                       [DocNom]=BalMab_XLS,Balancete (EXCEL)

'formato
Saida/Impressora           [DocPrt]=NULA
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Base para documento         [FxDOC]=XlsBalMab
Listar cabecalho            [FxCAB]=XlsBalMab_Cab
Listar linhas               [FxLIN]=XlsBalMab_Lin,0
Listar fim                  [FxFIM]=XlsBalMab_Fim

Matriz auxiliar            [DocMat]=CtaBalPa.xls
##


'---------------------------------------------------------------------------------------- Extracto de uma conta
'==============================================================================
#DOC - Configuracao do documento - Extracto de uma conta (texto)
'==============================================================================
Tipo                       [DocTip]=ExtCt
Nome                       [DocNom]=ExtCt,Extracto de conta

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=TX_ExtCt_Cab
Listar linhas               [FxLIN]=TX_ExtCt_Lin; Deb; Crd; Ajt; Tot; Agrad
Listar fim                  [FxFIM]=TX_ExtCt_Fim
##


'==============================================================================
#DOC - Configuracao do documento - Extracto de uma conta (gráfico)
'==============================================================================
Tipo                       [DocTip]=ExtCt
Nome                       [DocNom]=ExtCt_G,Extracto de conta

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=35
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_ExtCt_Cab
Listar linhas               [FxLIN]=PW_ExtCt_Lin; Deb; Crd; Ajt; Tot,0; Agrad,0
Listar fim                  [FxFIM]=PW_ExtCt_Fim
##


'==============================================================================
#DOC - Configuracao do documento - Extracto de uma conta (excel)
'==============================================================================
Tipo                       [DocTip]=ExtCt
Nome                       [DocNom]=ExtCt_XLS,Extracto de uma conta (EXCEL)

'formato
Saida/Impressora           [DocPrt]=NULA
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Base para documento         [FxDOC]=XlsExtCt
Listar cabecalho            [FxCAB]=XlsExtCt_Cab
Listar linhas               [FxLIN]=XlsExtCt_Lin,0; Deb,0; Crd,0
Listar fim                  [FxFIM]=XlsExtCt_Fim

Matriz auxiliar            [DocMat]=CtaExtPa.xls
##


'==============================================================================
#DOC - Configuracao do documento - Extracto de uma conta (Word)
'==============================================================================
Tipo                       [DocTip]=ExtCt
Nome                       [DocNom]=ExtWrd,Extracto Conta (Word)
Vias                       [DocVia]=Original

'formato
Saida/Impressora           [DocPrt]=NULA
Linhas por pagina          [DocLpg]=0         'zero usa valor automatico
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=1

'funcoes de listagem
Base para documento         [FxDOC]=WordDoc
Listar cabecalho            [FxCAB]=Wrd_ExtCt_Cab
Listar linhas               [FxLIN]=Wrd_ExtCt_Lin,0; Deb,0; Crd,0; Ajt,0; Tot,0; Agrad,0
Listar fim                  [FxFIM]=Wrd_ExtCt_Fim

Nome da imagem do logotipo [DocEsp]=ImgLogo=LogoDoc.bmp
Matriz auxiliar            [DocMat]=CtaPabWord.doc
##

'------------------------------------------------------------------------------------------ Diário de Movimentos em aberto
'==============================================================================
#DOC - Configuracao do documento - Diário de Movimentos em aberto (texto)
'==============================================================================
Tipo                       [DocTip]=DiaMab
Nome                       [DocNom]=DiaMab,Diario Movimentos

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=TX_DiaMab_Cab
Listar linhas               [FxLIN]=TX_DiaMab_Lin; Ent,3,3;Inf,4,4; Deb; Crd; Tot,6,6; Ajt; TotGer,8
Listar fim                  [FxFIM]=TX_DiaMab_Fim
##


'==============================================================================
#DOC - Configuracao do documento - Diário de Movimentos em aberto (gráfico)
'==============================================================================
Tipo                       [DocTip]=DiaMab
Nome                       [DocNom]=DiaMab_G,Diario Movimentos

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_DiaMab_Cab
Listar linhas               [FxLIN]=PW_DiaMab_Lin; Ent,2,2;Inf,1,2; Deb; Crd; Tot,1,5; Ajt; TotGer,1,6
Listar fim                  [FxFIM]=PW_DiaMab_Fim
##


'Relatorio de cobranças (Diário) ----------------------------------------------
'==============================================================================
#DOC - Configuracao do documento - Relatorio de cobrancas (Diario) (excel)
'==============================================================================
Tipo                       [DocTip]=DiaMab
Nome                       [DocNom]=CobXls,Relatório de Cobranças (XLS)
Vias                       [DocVia]=Original

'formato
Saida/Impressora           [DocPrt]=NULA
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Base para documento         [FxDOC]=CobXls
Listar cabecalho            [FxCAB]=CobXls_Cab
Listar linhas               [FxLIN]=CobXls_Lin,0; Ent,0; Inf,0; Deb,0; Crd,0; TotEnt,0; Tot,0; Ajt,0; TotGer,0 ;Vnd,0
Listar fim                  [FxFIM]=CobXls_Fim

Matriz auxiliar            [DocMat]=CtaCob.xls
##

'------------------------------------------------------------------------------------------ Relatorio de cobranças
'==============================================================================
#DOC - Configuracao do documento - Relatorio de cobrancas (Diario) (excel)
'==============================================================================
Tipo                       [DocTip]=DiaMab
Nome                       [DocNom]=CobXlsR,Relatório de Cobranças (R) (XLS)
Vias                       [DocVia]=Original

'formato
Saida/Impressora           [DocPrt]=NULA
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Base para documento         [FxDOC]=CobXlsR
Listar cabecalho            [FxCAB]=CobXlsR_Cab
Listar linhas               [FxLIN]=CobXlsR_Lin,0; Ent,0; Inf,0; Deb,0; Crd,0; TotEnt,0; Tot,0; Ajt,0; TotGer,0 ;Vnd,0
Listar fim                  [FxFIM]=CobXlsR_Fim

Matriz auxiliar            [DocMat]=CtaCobRed.xls
##


'------------------------------------------------------------------------------------------ Extracto de vendedor
'==============================================================================
#DOC - Configuracao do documento - Extracto de vendedor (texto)
'==============================================================================
Tipo                       [DocTip]=ExtVnd
Nome                       [DocNom]=ExtVnd,Extracto de Vendedor

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=TX_ExtCt_Cab
Listar linhas               [FxLIN]=TX_ExtCt_Lin; Deb; Crd; Ajt; Tot; Agrad
Listar fim                  [FxFIM]=TX_ExtCt_Fim
##


'==============================================================================
#DOC - Configuracao do documento - Extracto de vendedor (gráfico)
'==============================================================================
Tipo                       [DocTip]=ExtVnd
Nome                       [DocNom]=ExtVnd_G,Extracto de Vendedor

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_ExtCt_Cab
Listar linhas               [FxLIN]=PW_ExtCt_Lin; Deb; Crd; Ajt; Tot; Agrad
Listar fim                  [FxFIM]=PW_ExtCt_Fim
##


'==============================================================================
#VAR - Definicao de variaveis
'==============================================================================
'MemTxt$(1)    - titulo

'identificacao de grupos
'MemTxt$(11)   - Descricao grupo 1
'MemTxt$(12)   - Descricao grupo 2
'MemTxt$(13)   - Descricao grupo 3
'MemTxt$(14)   - Descricao grupo 4
'MemTxt$(15)   - Descricao grupo 5

'MemTxt$(31)   - Dias do grupo 1
'MemTxt$(32)   - Dias do grupo 2
'MemTxt$(33)   - Dias do grupo 3
'MemTxt$(34)   - Dias do grupo 4
'MemTxt$(35)   - Dias do grupo 5

'diversos
'MemTxt$(20)   - Situacao
'MemTxt$(21)   - Informacao
'MemTxt$(36)   - Tipo do saldo - da conta
'MemTxt$(46)   - Tipo do saldo - geral

'valores do movimento
'MemNum(21)    - Grupo 1
'MemNum(22)    - Grupo 2
'MemNum(23)    - Grupo 3
'MemNum(24)    - Grupo 4
'MemNum(25)    - Grupo 5
'MemNum(26)    - Saldo

'valores da conta
'MemNum(31)    - Grupo 1
'MemNum(32)    - Grupo 2
'MemNum(33)    - Grupo 3
'MemNum(34)    - Grupo 4
'MemNum(35)    - Grupo 5
'MemNum(36)    - Saldo

'totais gerais
'MemNum(41)    - Grupo 1
'MemNum(42)    - Grupo 2
'MemNum(43)    - Grupo 3
'MemNum(44)    - Grupo 4
'MemNum(45)    - Grupo 5
'MemNum(46)    - Saldo

'linhas de texto para carta
'MemNum(51)    - Linha 1
'MemNum(52)    - Linha 2
'MemNum(53)    - Linha 3
'MemNum(54)    - Linha 4
'MemNum(55)    - Linha 5
'MemNum(55)    - Linha 6

Tit132   = TxTit$("TT=16CPI, LD, PT=66C, TL=16CPI",Memtxt$(1))
Pag      = Doc_CntPag

DataExt  = FrmVal$(Sig_DtHoje,45,0)

'EmpUsr   = PrtCmd$("[16CPILN]")+"("+Emp_Inf_Cod$ +") "+Emp_Inf_Nome$
EmpNomeT  = PrtCmd$("[16CPILN]")+Emp_Inf_Nome$
EmpMoradT = PrtCmd$("[16CPILN]")+Emp_Inf_Morada$
EmpLocalT = PrtCmd$("[16CPILN]")+Emp_Inf_Local$
EmpCpostT = PrtCmd$("[16CPILN]")+Emp_Inf_Cpost$

DtMov    = FrmVal$(Cta_Pab_Dtl,44,0)
DtVenc   = FrmVal$(Cta_Pab_Dtv,44,0)
Tdoc     = Cta_Pab_Tdoc$
Ndoc     = FrmNdo$("D12",Cta_Pab_Tdoc$,Cta_Pab_Ndoc$)
Desc     = Cta_Pab_Descr$

Deb      = FrmMoe$("",17,Cta_Pab_Vl)
Cred     = FrmMoe$("",17,Cta_Pab_Vl)

Sit      = MemTxt$(20)
Info     = MemTxt$(21)

Tit1Ide  = MemTxt$(11)
Tit1Des  = MemTxt$(31)

Tit2Ide  = MemTxt$(12)
Tit2Des  = MemTxt$(32)

Tit3Ide  = MemTxt$(13)
Tit3Des  = MemTxt$(33)

Tit4Ide  = MemTxt$(14)
Tit4Des  = MemTxt$(34)

Tit5Ide  = MemTxt$(15)
Tit5Des  = MemTxt$(35)

Venc1    = FrmMoe$("",13,MemNum(21))
Venc2    = FrmMoe$("",13,MemNum(22))
Venc3    = FrmMoe$("",13,MemNum(23))
Venc4    = FrmMoe$("",13,MemNum(24))
Venc5    = FrmMoe$("",13,MemNum(25))
Venc6    = FrmMoe$("",13,MemNum(26))

TVenc1   = FrmMoe$("",13,MemNum(31))
TVenc2   = FrmMoe$("",13,MemNum(32))
TVenc3   = FrmMoe$("",13,MemNum(33))
TVenc4   = FrmMoe$("",13,MemNum(34))
TVenc5   = FrmMoe$("",13,MemNum(35))
TVenc6   = FrmMoe$("",13,MemNum(36))+MemTxt$(36)

TotGer1  = FrmMoe$("",13,MemNum(41))
TotGer2  = FrmMoe$("",13,MemNum(42))
TotGer3  = FrmMoe$("",13,MemNum(43))
TotGer4  = FrmMoe$("",13,MemNum(44))
TotGer5  = FrmMoe$("",13,MemNum(45))
TotGer6  = FrmMoe$("",13,MemNum(46))+MemTxt$(46)

Cont     = Cta_Ang_Contacto$
Telef    = Cta_Ang_Telef$

CartaLin1 = MemTxt$(51)  
CartaLin2 = MemTxt$(52)  
CartaLin3 = MemTxt$(53)  
CartaLin4 = MemTxt$(54)  
CartaLin5 = MemTxt$(55)  
CartaLin6 = MemTxt$(56)  
CartaLin7 = MemTxt$(57)  

Entid     = Cta_Mst_Entid$
EntidTot  = EntidTot$

TVC1 = 0
TVC2 = 0
TVC3 = 0
TVC4 = 0
TVC5 = 0
TVC6 = 0

Vend      = FrmVal$(Cta_Ang_Vend,21,2)+" - "+EmpTabCon$("Vend",Cta_ang_Vend,"Nome")
vnd       = Cta_Ang_Vend

'variaveis para WORD
wSit      = trim$(MemTxt$(20))
##


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


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
TotGer=0
MargemD=192
End sub


SUB TX_Lst_AJT
end sub


'------------------------------------ Balancete de Movimentos em aberto ------
Sub TX_MabCab
FxDiv LstIde,16CPI,0
?@Tit132                                                                                                                           
End sub

Sub TX_BalMab_Cab
call TX_MabCab
?Data : @DataExt                                                                                                 Folha No : @Pag#
?================================================================================================================================
?             |                             |@Tit1Ide     |@Tit2Ide     |@Tit3Ide     |@Tit4Ide     |@Tit5Ide     |    Saldo    |
?    Conta    |            Nome             |@Tit1Des     |@Tit2Des     |@Tit3Des     |@Tit4Des     |@Tit5Des     |    Total    |
?================================================================================================================================
end sub


Sub TX_BalMab_Lin
?@CtCod       |@CtNome                      |@Venc1       |@Venc2       |@Venc3       |@Venc4       |@Venc5       |@Venc6       |
end sub


Sub TX_BalMab_Fim
?================================================================================================================================
?         Total :                           |@TVenc1      |@TVenc2      |@TVenc3      |@TVenc4      |@TVenc5      |@tVenc6      |
?================================================================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------ Extracto de uma conta ------------------
Sub TX_ExtCt_Cab
?@EmpNomeT                                                  #
?@EmpMoradT                                                 #
?@EmpLocalT                                                 #
?@EmpCpostT                                                 #
Print PrtCmd$("[10CPILN]");
?                                                                          #
?                  @CtCod            @CtNome                               #
?                                    @CtMorada                             # 
?                                    @CtLocal                              #
?                                    @CtCpost                              #
?                                                                          #
?                                                                          #
?Data : @DataExt                                                           #
?                                                                          #
?@CartaLin1                                                                #
?@CartaLin2                                                                #
?@CartaLin3                                                                #
?@CartaLin4                                                                #
?@CartaLin5                                                                #
?@CartaLin6                                                                #
?@CartaLin7                                                                #
Print PrtCmd$("[16CPILN]");
?                                                                                                                               #
?                                                                                                                Folha No : @Pag#
?================================================================================================================================
?|  Data Mov  | Data Ven |  N.Doc   |   Descricao   |      Debito      |      Credito      |       Situacao       |             |
?================================================================================================================================
end sub


Sub TX_ExtCt_LinDeb
'vorg=CtaVlMov(cta_pab_ct$,cta_pab_tdoc$,cta_pab_ndoc$,cta_pab_tv$,cta_pab_dtl)
'print "valor original="; vorg
?| @DtMov     |@DtVenc   | @Ndoc    | @Desc         |@Deb              |                   |@Sit                  |@Info        |
end sub


Sub TX_ExtCt_LinCrd
?| @DtMov     |@DtVenc   | @Ndoc    | @Desc         |                  | @Cred             |@Sit                  |@Info        |
end sub


Sub TX_ExtCt_LinAjt
?
end sub


Sub TX_ExtCt_LinTot
?
?================================================================================================================================
?| (1) @Tit1Ide       | (2) @Tit2Ide       | (3) @Tit3Ide       | (4) @Tit4Ide       | (5) @Tit5Ide      |        Saldo         |
?|  @Tit1Des          |  @Tit2Des          |  @Tit3Des          |  @Tit4Des          |  @Tit5Des         |        Total         |
?================================================================================================================================
?|  @TVenc1           |  @TVenc2           |  @TVenc3           |  @TVenc4           |  @TVenc5          |  @TVenc6             |
?================================================================================================================================
end sub


Sub TX_ExtCT_LinAgrad
Print PrtCmd$("[10CPILN]");
?              Com os nossos melhores cumprimentos
?
?                    De V.Exas. atentamente
?
End sub


Sub TX_ExtCt_Fim
Print PrtCmd$("[SP]");
end sub


'-------------------------------------- Diario de Movimentos em aberto -------
Sub TX_DiaMab_Cab
call TX_MabCab
?Data : @DataExt                                                                                                 Folha No : @Pag#
?================================================================================================================================
?|  Data Mov | Data Venc |  N.Doc   |   Descricao   |      Debito      |      Credito      |       Situacao       |             |
?================================================================================================================================
end sub


Sub TX_DiaMab_LinInf
?
Print PrtCmd$("[16CPILD]");
?  @CtCod          @CtNome                                                                   #
Print PrtCmd$("[16CPILN]");
?  @Cont                            @Telef                                                           #
end sub


Sub TX_DiaMab_LinEnt
?
Print PrtCmd$("[16CPILD]");
?  Entidade :        @Entid                                                                 #
Print PrtCmd$("[16CPILN]");
end sub


Sub TX_DiaMab_LinDeb
?@DtMov      |@DtVenc    | @Ndoc    | @Desc         |@Deb              |                   |@Sit                  |@Info        |
end sub

Sub TX_DiaMab_LinCrd
?@DtMov      |@DtVenc    | @Ndoc    | @Desc         |                  | @Cred             |@Sit                  |@Info        |
end sub


Sub TX_DiaMab_LinTot
?================================================================================================================================
?| (1)  @Tit1Ide      | (2)  @Tit2Ide      | (3) @Tit3Ide       | (4) @Tit4Ide       | (5) @Tit5Ide      |        Saldo         |
?|  @Tit1Des          |  @Tit2Des          |  @Tit3Des          |  @Tit4Des          |  @Tit5Des         |        Total         |
?================================================================================================================================
?|  @TVenc1           |  @TVenc2           |  @TVenc3           |  @TVenc4           |  @TVenc5          |  @TVenc6             |
?================================================================================================================================
end sub


Sub TX_DiaMab_LinTotGer
?
?  TOTAL GERAL                                                                                                                  #
?================================================================================================================================
?| (1)  @Tit1Ide      | (2)  @Tit2Ide      | (3)  @Tit3Ide      | (4)  @Tit4Ide      | (5)  @Tit5Ide     |        Saldo         |
?|  @Tit1Des          |  @Tit2Des          |  @Tit3Des          |  @Tit4Des          |  @Tit5Des         |        Total         |
?================================================================================================================================
?|  @TotGer1          |  @TotGer2          |  @TotGer3          |  @TotGer4          |  @TotGer5         |  @TotGer6            |
?================================================================================================================================
end Sub


Sub TX_DiaMab_Fim
Print PrtCmd$("[SP]");
end sub


'===============================================================================================================================
' ------------------------------------------------------------------------------------------------- Impressao no formato grafico
'===============================================================================================================================
Sub PW_BalMab_Cab
PrWin PAG_PRP                                   'preparar pagina

esp=21                                          'espaco para valor
inicio=46                                       'inicio das colunas de valor

'posicao das colunas
Col1=0                           		'conta
Col2=20						'nome
Col3=inicio+esp*1      				'valor1
Col4=inicio+esp*2				'valor 2
Col5=inicio+esp*3				'valor 3
Col6=inicio+esp*4				'valor 4
Col7=inicio+esp*5				'valor 5
Col8=inicio+esp*6				'valor 6
Col9=inicio+esp*7				'valor 7

'posicao linhas de titulo
Lin1=10                            		'linha 1
Lin2=15						'linha2

call SigLstCab

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

'listar titulos
PrWin FON, "BOLD+"                            	'activar bold
PrWIN TX_CTR,  Col1,Lin2,Col2,Lin2,"Conta"
PrWIN TX_CTR,  Col2,Lin2,Col3,Lin2,"Nome
PrWIN TX_CTR,  Col3,Lin1,Col4,Lin1,@Tit1Ide
PrWIN TX_CTR,  Col3,Lin2,Col4,Lin2,@Tit1Des
PrWIN TX_CTR,  Col4,Lin1,Col5,Lin1,@Tit2Ide
PrWIN TX_CTR,  Col4,Lin2,Col5,Lin2,@Tit2Des
PrWIN TX_CTR,  Col5,Lin1,Col6,Lin1,@Tit3Ide
PrWIN TX_CTR,  Col5,Lin2,Col6,Lin2,@Tit3Des
PrWIN TX_CTR,  Col6,Lin1,Col7,Lin1,@Tit4Ide
PrWIN TX_CTR,  Col6,Lin2,Col7,Lin2,@Tit4Des
PrWIN TX_CTR,  Col7,Lin1,Col8,Lin1,@Tit5Ide
PrWIN TX_CTR,  Col7,Lin2,Col8,Lin2,@Tit5Des
PrWIN TX_CTR,  Col8,Lin1,Col9,Lin1,"Saldo"
PrWIN TX_CTR,  Col8,Lin2,Col9,Lin2,"Total"
PrWin FON, "BOLD-"                            	'activar bold

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 20, MargemD, 20               	'linha
PrWIN GR_LI, 0, 9, MargemD, 9               	'linha

PrWIN FON  ,   7,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
end sub

Sub PW_BalMab_Lin 'listar linha
PrWIN AJT_B,  Margem, 34+Doc_CntLin*4          	'posicao base
PrWIN TX_N,     Col1,0,@CtCod
PrWIN TX_DMX,   Col2,0,Col3-Col2,@CtNome
PrWIN TX_NP,    Col3,0,"N",@Venc1
PrWIN TX_NP,    Col4,0,"N",@Venc2
PrWIN TX_NP,    Col5,0,"N",@Venc3
PrWIN TX_NP,    Col6,0,"N",@Venc4
PrWIN TX_NP,    Col7,0,"N",@Venc5
PrWIN TX_NP,    Col8,0,"N",@Venc6
end sub


Sub PW_BalMab_Fim  'fim de documento
PrWIN AJT_B,Margem,265                 		'posicao base
PrWIN GR_LI,     0,  0, MargemD, 0            	'linha
PrWIN GR_LI,     0,  6, MargemD, 6            	'linha
PrWIN AJT_B,Margem,267                 		'posicao base
PrWIN COR_T,     CorTotGer                      'cor azul
PrWIN FON,       7,  1                          'activar fonte
PrWIN TX_CTR, Col2,  0,Col3,0,"Totais ..."
PrWIN TX_NP,  Col3,  0,"N",@TVenc1
PrWIN TX_NP,  Col4,  0,"N",@TVenc2
PrWIN TX_NP,  Col5,  0,"N",@TVenc3
PrWIN TX_NP,  Col6,  0,"N",@TVenc4
PrWIN TX_NP,  Col7,  0,"N",@TVenc5
PrWIN TX_NP,  Col8,  0,"N",@TVenc6
call SigLstRod
PrWin FP
end sub


'------------------------------------ Extracto de uma conta ------------------
Sub PW_ExtCt_Cab 'cabecalho
PrWin PAG_PRP                                   'preparar pagina

Call SigEmpMorada
Call JanelaCarta
PrWIN AJT_B,  Margem, 50                            'posicao base
PrWIN TX_N,     0,   0,"Data:"
PrWIN TX_N,    15,   0,@DataExt

PrWIN AJT_B,  Margem, 60                            'posicao base
PrWIN COR_T,    0                          'cor para texto
PrWIN FON  ,   13                          'fonte para texto
PrWIN TX_N,     0,   0,@CartaLin1
PrWIN TX_N,     0,   5,@CartaLin2
PrWIN TX_N,     0,   10,@CartaLin3
PrWIN TX_N,     0,   20,@CartaLin4
PrWIN TX_N,     0,   25,@CartaLin5
PrWIN TX_N,     0,   30,@CartaLin6
PrWIN TX_N,     0,   35,@CartaLin7

PrWIN AJT_B,  Margem, 95                            'posicao base
PrWIN FON  ,   11                          'fonte para texto
PrWIN TX_N,     160  ,0,"Folha Nº"
PrWIN TX_N,     175,  0,   @PAg

PrWIN AJT_B,  Margem, 100                            'posicao base
call ExtTitLst
end sub


Sub ExtTitLst
'definicao das colunas
Col1=0                           		'conta
Col2=21						'nome
Col3=40
Col4=65
Col5=85
Col6=115
Col7=150
Col8=170
Col9=MargemD-10

PrWIN FON  ,   10                              'fonte para texto
PrWIN COR_T,   CorTit                          'cor para titulos
PrWIN TX_N,      Col1,  0,          "Data Mov."
PrWIN TX_N,      Col2,  0,          "Data Venc."
'PrWIN TX_N,      Col3,  0,          "Documento"
'PrWIN TX_N,      Col4,  0,          "Descrição"

'PrWIN TX_CTR,    Col1,  0, Col2, 0, "Data Mov."
'PrWIN TX_CTR,    Col2,  0, Col3, 0, "Data Venc."
PrWIN TX_CTR,    Col3,  0, Col4, 0, "Documento"
PrWIN TX_CTR,    Col4,  0, Col5, 0, "Descrição"
PrWIN TX_CTR,    Col5,  0, Col6, 0, "Débito"
PrWIN TX_CTR,    Col6,  0, Col7, 0, "Crédito"
PrWIN TX_CTR,    Col7,  0, Col8, 0, "Situação"

PrWIN COR_T,   CorTraco                         'cor para titulos
PrWIN GR_LI, 0, 5, MargemD-10, 5               	'linha
PrWIN GR_LI, 0, 0, MargemD-10, 0               	'linha
PrWIN COR_T,   CorLin                           'cor para linhas
end sub


Sub PW_ExtCt_LinDeb  'linha para debito
PrWIN AJT_B, Margem, 102+Doc_CntLin*4          	'posicao base
PrWIN TX_N,    Col1,  0, @DtMov
PrWIN TX_N,    Col2,  0, @DtVenc
PrWIN TX_NP,   Col3,  0,"N",@Ndoc
PrWIN TX_N,    Col4,  0, @Desc
PrWIN TX_NP,   Col5,  0,"N",@Deb
PrWIN TX_CTR,  Col7,  0,Col8,0,@Sit
PrWIN TX_CTR,  Col8,  0,Col9,0,@Info
end sub


Sub PW_ExtCt_LinCrd  'linha para credito
PrWIN AJT_B, Margem, 102+Doc_CntLin*4          	'posicao base
PrWIN TX_N,    Col1,  0, @DtMov
PrWIN TX_N,    Col2,  0, @DtVenc
PrWIN TX_NP,   Col3,  0,"N",@Ndoc
PrWIN TX_N,    Col4,  0, @Desc
PrWIN TX_NP,   Col6,  0,"N",@Cred
PrWIN TX_CTR,  Col7,  0,Col8,0,@Sit
PrWIN TX_CTR,  Col8,  0,Col9,0,@Info
end sub


Sub PW_ExtCt_LinTot 'linha para totais
esp=32                                      	'espaco para valor
inicio=margem                                	'inicio das colunas de valor
PrWIN AJT_B, Margem, 255         		'posicao base
Call PW_MabCaixasTotal                          'desenhar caixas e totais
end sub


Sub PW_ExtCT_LinAgrad 'linha para agradecimentos
PrWIN AJT_B, Margem, 275            	        'posicao base
PrWin TX_N,  50,  0, "Com os nossos melhores cumprimentos"
PrWin TX_N,  70,  5, "De V.Exas. atentamente"
'PrWin FP
End sub

Sub PW_ExtCt_Fim
PrWin FP
end sub


'-------------------------------------- Diario de Movimentos em aberto -------
Sub PW_DiaMab_Cab
PrWin PAG_PRP                                   'preparar pagina

call SigLstCab
PrWIN AJT_B,  Margem, 27                        'posicao base
call ExtTitLst
PrWIN COR_T,   CorLin                          	'cor para linhas
end sub


Sub PW_DiaMab_LinInf
PrWIN AJT_B, Margem, 30+Doc_CntLin*4            'posicao base
PrWin FON, "BOLD+"                            	'activar bold
PrWin TX_N,  10, 0,@CtCod                        'conta
PrWin TX_N, 29, 0,@CtNome                       'nome
PrWin FON, "BOLD-"                           	'activar bold
PrWin FON, 8                                 	'tamanho de letra
PrWin TX_N, 115, 1,@CtCont                        'contacto
PrWin TX_N, 160, 1,@CtTelef                       'telefone
PrWin FON, 10                                 	'tamanho de letra
tmp=CntLin("INC",1)                             'acertar contador linhas
end sub


Sub PW_DiaMab_LinEnt
PrWIN AJT_B, Margem, 30+Doc_CntLin*4            'posicao base
PrWin FON, "BOLD+"                            	'activar bold
PrWin TX_N,  10, 0,"Entidade :"                 'titulo
PrWin TX_N, 29, 0,@Entid                        'nome
PrWin FON, "BOLD-"                           	'desactivar bold
end sub

Sub PW_DiaMab_LinDeb
PrWIN AJT_B, Margem, 30+Doc_CntLin*4          	'posicao base
PrWIN TX_N,    Col1,  0, @DtMov                 'data movimento
PrWIN TX_N,    Col2,  0, @DtVenc                'vencimento
PrWIN TX_N,    Col3,  0, @Ndoc                  'documento
PrWIN TX_N,    Col4,  0, @Desc                  'descricao
PrWIN TX_NP,   Col5,  0,"N", @Deb               'valor a debito
PrWIN TX_CTR,  Col7,  0,Col8,0,@Sit             'situacao
PrWIN TX_CTR,  Col8,  0,Col9,0,@Info            'informacao adicional
end sub

Sub PW_DiaMab_LinCrd
PrWIN AJT_B, Margem, 30+Doc_CntLin*4            'posicao base
PrWIN TX_N,    Col1,  0, @DtMov
PrWIN TX_N,    Col2,  0, @DtVenc
PrWIN TX_N,    Col3,  0, @Ndoc
PrWIN TX_N,    Col4,  0, @Desc
PrWIN TX_NP,   Col6,  0,"N", @Cred
PrWIN TX_CTR,  Col7,  0,Col8,0,@Sit
PrWIN TX_CTR,  Col8,  0,Col9,0,@Info
end sub


Sub PW_DiaMab_LinTot
PrWIN AJT_B, Margem, 30+Doc_CntLin*4            'posicao base
esp=32                                      	'espaco para valor
inicio=margem                                	'inicio das colunas de valor
Call PW_MabCaixasTotal                          'desenhar caixas e totais
end sub


Sub PW_DiaMab_LinTotGer
esp=32                                      	'espaco para valor
inicio=margem                                	'inicio das colunas de valor
PrWIN AJT_B, Margem, 2+30+Doc_CntLin*4          'posicao base
PrWin TX_N , 0,  0, "TOTAL GERAL"
PrWIN AJT_B, Margem, 6+30+Doc_CntLin*4          'posicao base
TotGer=1

Call PW_MabCaixasTotal                          'desenhar caixas e totais
tmp=CntLin("INC",4)                             'acertar contador linhas
end Sub


Sub PW_DiaMab_Fim
PrWin FP
end sub


'- Comum a extractos/diarios -------------------------------------------------
Sub PW_MabCaixasTotal  
Lin1=0                                   	'linha 1
Lin2=5						'linha 2 
Lin3=12						'linha 3
Lin4=17						'linha 4

'posicao das colunas
Cl1=inicio       				'valor1
Cl2=esp+inicio      				'valor1
Cl3=esp*2+inicio      				'valor1
Cl4=esp*3+inicio				'valor 2
Cl5=esp*4+inicio				'valor 3
Cl6=esp*5+inicio				'valor 4
Cl7=esp*6+inicio				'valor 4
Cl8=MargemD

'identificadores de totais
PrWIN COR_T,   CorTotGer                        'cor para totais
PrWIN TX_CTR,  Cl1,Lin1,Cl2,Lin1,@Tit1Ide    
PrWIN TX_CTR,  Cl1,Lin2,Cl2,Lin2,@Tit1Des
PrWIN TX_CTR,  Cl2,Lin1,Cl3,Lin1,@Tit2Ide
PrWIN TX_CTR,  Cl2,Lin2,Cl3,Lin2,@Tit2Des
PrWIN TX_CTR,  Cl3,Lin1,Cl4,Lin1,@Tit3Ide
PrWIN TX_CTR,  Cl3,Lin2,Cl4,Lin2,@Tit3Des
PrWIN TX_CTR,  Cl4,Lin1,Cl5,Lin1,@Tit4Ide
PrWIN TX_CTR,  Cl4,Lin2,Cl5,Lin2,@Tit4Des
PrWIN TX_CTR,  Cl5,Lin1,Cl6,Lin1,@Tit5Ide
PrWIN TX_CTR,  Cl5,Lin2,Cl6,Lin2,@Tit5Des
PrWIN TX_CTR,  Cl6,Lin1,Cl7,Lin1,"Saldo"
PrWIN TX_CTR,  Cl6,Lin2,Cl7,Lin2,"Total"

'caixas dos totais
PrWIN COR_T,   CorTraco                          'cor para titulos
PrWin GR_CX, Cl1,Lin1,Cl2,Lin4
PrWin GR_CX, Cl2,Lin1,Cl3,Lin4
PrWin GR_CX, Cl3,Lin1,Cl4,Lin4
PrWin GR_CX, Cl4,Lin1,Cl5,Lin4
PrWin GR_CX, Cl5,Lin1,Cl6,Lin4
PrWin GR_CX, Cl6,Lin1,Cl7,Lin4
PrWIN GR_LI, 0, 10, Cl7, 10               	'linha

'valores dos totais
PrWIN COR_T,   CorLinha                         'cor para linhas
if TotGer=1 then
  PrWIN TX_NP,  Cl1, Lin3,"N",@TotGer1
  PrWIN TX_NP,  Cl2, Lin3,"N",@TotGer2
  PrWIN TX_NP,  Cl3, Lin3,"N",@TotGer3
  PrWIN TX_NP,  Cl4, Lin3,"N",@TotGer4
  PrWIN TX_NP,  Cl5, Lin3,"N",@TotGer5
  PrWIN TX_NP,  Cl6, Lin3,"N",@TotGer6
else
  PrWIN TX_NP,  Cl1, Lin3,"N",@TVenc1
  PrWIN TX_NP,  Cl2, Lin3,"N",@TVenc2
  PrWIN TX_NP,  Cl3, Lin3,"N",@TVenc3
  PrWIN TX_NP,  Cl4, Lin3,"N",@TVenc4
  PrWIN TX_NP,  Cl5, Lin3,"N",@TVenc5
  PrWIN TX_NP,  Cl6, Lin3,"N",@TVenc6
end if
'tmp=CntLin("INC",4)                             'acertar contador linhas
end sub


'===============================================================================================================================
' -------------------------------------------------------------------------------------------------------- Impressao para excel
'===============================================================================================================================

'==============================================================================
'= XLS - Funcoes comuns =======================================================
'==============================================================================
Sub Xls_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
nfi$ = "RND:CtaExtPa.xls"                          'nome do ficheiro
cmo$ = SigCmoCur$("MIX")                           'modulo corrente
ficDoc$ = FicTmp$(dfi$, nfi$)                      'ficheiro para documento
res = DirCri("D", dfi$)                            'criar directorio para documento

xlsMatNom$ = DocOpc$("DocMat")                     'nome do ficheiro matriz
xlsMat$    = DocOpc$("DocMat+SBT")                 'endereco do ficheiro matriz

res = FicCop(xlsMat$, ficDoc$)                     'criar ficheiro (copia de matriz)

res = XlsPrp(0)                                    'preparar EXCEL
res = XlsDocLer(ficDoc$)                           'ler ficheiro
end sub


Sub Xls_LinFim 'fim de linhas
res = XlsLinEli(xlsLin, 1)                         'eliminar linha - ultima
res = XlsLinEli(xlsLba, 1)                         'eliminar linha - primeira

res = XlsIdePsq("PO_FIM")                          'pesquisar posicao final
linFim = XlsIdePsqRes("L")                         'linha da posicao final
end sub


Sub Xls_DocFim 'terminar documento
res = XlsLinEli(xlsLin, 1)                         'eliminar linha - ultima
'res = XlsLinEli(xlsLba, 1)                         'eliminar linha - primeira

res = XlsDocDir$("A", dfi$)                        'activar directorio
res = XlsDocGrv(ficDoc$)                           'gravar ficheiro

res = XlsVer(1)                                    'mostrar EXCEL - maximizado
res = XlsLib(0)                                    'libertar EXCEL
end sub


Sub Xls_LinInc 'incrementar linha
xlsLsa = xlsLin                                    'linha de saida
res = XlsLinIns(xlsLin, 1)                         'juntar linha

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


'==============================================================================
'= Listagem para EXCEL - Extracto de Conta ====================================
'==============================================================================
Sub XlsExtCt_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsExtCt_Prep                                 'preparar
call XlsExtCt_Cab                                  'cabecalho
end sub


Sub XlsExtCt_DocFim 'terminar documento
linIni = linBav                                    'linha inicial
linFim = linCnt                                    'linha final

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsExtCt_Prep 'preparar para listar
res = XlsWks("Valores")                             'activar worksheet

res = XlsIdePsq("PO_BAS")                          'pesquisar posicao base
linBav = XlsIdePsqRes("L")                         'linha da posicao base

xlsLba = linBav                                    'linha base
xlsLin = linBav + 1                                'contador de linhas usadas

'colunas a usar
coDtl = 2                                          'data de lancamento
coDtv = 3                                          'data de vencimento
coNdo = 4                                          'numero de documento
coDes = 5                                          'descricao
coDeb = 6                                          'debito
coCrd = 7                                          'credito
coSit = 8                                          'situacao
coObs = 9                                          'observacoes
end sub


Sub XlsExtCt_Cab 'cabecalho
empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTit$ = MemTxt$(1)                               'titulo da listagem
lstTip$ = MemTxt$(2)                               'tipo da listagem
lstDt$  = FrmDt$("EXT", Sig_DtHoje)                'data para listagem
lstCt$  = Cta_Pab_Ct$                              'codigo da conta
lstCtN$ = Cta_Mst_Nome$                            'nome

res = XlsIdeLst("Emp_Num", empNum$)                'numero da empresa
res = XlsIdeLst("Emp_Nome", empNom$)               'nome da empresa

res = XlsIdeLst("Lst_Tit",  lstTit$)               'tipo da listagem
res = XlsIdeLst("Lst_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data
res = XlsIdeLst("Lst_Ct",   lstCt$)                'codigo da conta
res = XlsIdeLst("Lst_Ctn",  lstCtN$)               'nome da conta
end sub


Sub XlsExtCt_Lin 'linha de valores
end sub


'- Linha de movimento ---------------------------------------------------------
Sub XlsExtCt_LinMovPrp 'preparar valores do movimento
xDtl$     = FrmVal$(Cta_Pab_Dtl,44,0)                            'data do movimento
xDtv$     = FrmVal$(Cta_Pab_Dtv,44,0)                            'data de vencimento
xNdo$     = FrmNdo$("D9",Cta_Pab_Tdoc$,Cta_Pab_Ndoc$)            'documento
xDes$     = Cta_Pab_Descr$                                       'descricao
vDeb      = ""                                                   'debito 
vCre      = ""                                                   'credito
xSit$     = MemTxt$(20)                                          'situacao
xObs$     = MemTxt$(21)                                          'observacoes
end sub


Sub XlsExtCt_LinDeb 'linha de valores com saldo devedor
call XlsExtCt_LinMovPrp                          'preparar valores do movimento
vTps$ = "D"                                      'tipo do saldo
vDeb  = Cta_Pab_Vl                               'debito 

call XlsExtCt_LinExe                              'executar listagem da linha
end sub


Sub XlsExtCt_LinCrd 'linha de valores com saldo devedor
call XlsExtCt_LinMovPrp                           'preparar valores do movimento
vTps$ = "C"                                       'tipo do saldo
vCre  = Cta_Pab_Vl                                'debito 

call XlsExtCt_LinExe                              'executar listagem da linha
end sub


Sub XlsExtCt_LinExe 'executar listagem da linha
call XlsExtCt_IncLin 				  'incrementar linha	

res = XlsLst(liUsa, coDtl, xDtl$)                 'data do movimento
res = XlsLst(liUsa, coDtv, xDtv$)                 'data de vencimento
res = XlsLst(liUsa, coNdo, xNdo$)                 'documento
res = XlsLst(liUsa, coDes, xDes$)                 'descricao

if vDeb <> 0 then                                 'listar debito ?
   res = XlsLst(liUsa, coDeb, vDeb)               'valor debito
end if

if vCre <> 0 then                                 'listar credito ?
   res = XlsLst(liUsa, coCrd, vCre)               'valor credito
end if

res = XlsLst(liUsa, coSit, xSit$)                 'situacao
res = XlsLst(liUsa, coObs, xObs$)                 'observacoes
End sub


Sub XlsExtCt_IncLin 'incrementar linha	
call Xls_LinInc                                    'incrementar linha
liUsa =  xlsLsa                                    'linha a usar

zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B-I-")                       'activar fonte bold, italico
end sub



'- Linha de acumulados --------------------------------------------------------
Sub XlsExtCt_LinAcmPrp 'preparar valores dos acumulados
TitIde1$= MemTxt$(11)                      'titulo 1
TitIde2$= MemTxt$(12)                      'titulo 2
TitIde3$= MemTxt$(13)                      'titulo 3
TitIde4$= MemTxt$(14)                      'titulo 4
TitIde5$= MemTxt$(15)                      'titulo 5

TitDes1$= MemTxt$(31)                      'descritivo 1
TitDes2$= MemTxt$(32)                      'descritivo 2
TitDes3$= MemTxt$(33)                      'descritivo 3
TitDes4$= MemTxt$(34)                      'descritivo 4
TitDes5$= MemTxt$(35)                      'descritivo 5

TotVnc1 = MemNum(31)                       'total vencimento 1
TotVnc2 = MemNum(32)                       'total vencimento 2
TotVnc3 = MemNum(33)                       'total vencimento 3
TotVnc4 = MemNum(34)                       'total vencimento 4
TotVnc5 = MemNum(35)                       'total vencimento 5
TotVnc6 = MemNum(36)+MemTxt$(36)           'total vencimento 6
end sub


Sub XlsExtCt_LinAcmExe 'executar listagem da linha
call XlsExtCt_LinAcmPrp                            'preparar valores dos acumulados

res = XlsIdeLst("Tit_Ide1", TitIde1$)      'tipo da listagem
res = XlsIdeLst("Tit_Ide2", TitIde2$)      'tipo da listagem
res = XlsIdeLst("Tit_Ide3", TitIde3$)      'tipo da listagem
res = XlsIdeLst("Tit_Ide4", TitIde4$)      'tipo da listagem
res = XlsIdeLst("Tit_Ide5", TitIde5$)      'tipo da listagem

res = XlsIdeLst("Tit_Des1", TitDes1$)      'tipo da listagem
res = XlsIdeLst("Tit_Des2", TitDes2$)      'tipo da listagem
res = XlsIdeLst("Tit_Des3", TitDes3$)      'tipo da listagem
res = XlsIdeLst("Tit_Des4", TitDes4$)      'tipo da listagem
res = XlsIdeLst("Tit_Des5", TitDes5$)      'tipo da listagem

res = XlsIdeLst("Tot_Venc1",TotVnc1)       'tipo da listagem
res = XlsIdeLst("Tot_Venc2",TotVnc2)       'tipo da listagem
res = XlsIdeLst("Tot_Venc3",TotVnc3)       'tipo da listagem
res = XlsIdeLst("Tot_Venc4",TotVnc4)       'tipo da listagem
res = XlsIdeLst("Tot_Venc5",TotVnc5)       'tipo da listagem
res = XlsIdeLst("Tot_Venc6",TotVnc6)       'tipo da listagem

zon$= XlsZonNum$("L", liUsa)               'zona da linha

'res = XlsFon(zon$, ",,B+")                 'activar fonte bold
'res = XlsFon(zon$, ",,I+")                 'activar fonte italico
'res = XlsAli(zon$, ">")                    'alinhamento
end sub



'- Terminar/Totais ------------------------------------------------------------
Sub XlsExtCt_Fim 'terminar
call Xls_LinFim                                    'fim de linhas

call XlsExtCt_LinAcmExe                            'executar listagem da linha

'terminar/mostrar
res = XlsWksAct("A", 1)                            'activar worksheet
end sub


'==============================================================================
'= Listagem para EXCEL - Balancete ============================================
'==============================================================================
Sub XlsBalMab_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsBalMab_Prep                                'preparar
call XlsBalMab_Cab                                 'cabecalho
end sub


Sub XlsBalMab_DocFim 'terminar documento
linIni = linBav                                    'linha inicial
linFim = linCnt                                    'linha final

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsBalMab_Prep 'preparar para listar
res = XlsWks("Valores")                            'activar worksheet

res = XlsIdePsq("PO_BAS")                          'pesquisar posicao base
linBav = XlsIdePsqRes("L")                         'linha da posicao base

xlsLba = linBav                                    'linha base
xlsLin = linBav + 1                                'contador de linhas usadas

'colunas a usar
coCte = 2                                          'conta
coIde = 3                                          'nome
coId1 = 4                                          'vencidos 1
coId2 = 5                                          'vencidos 2
coId3 = 6                                          'vencidos 3
coId4 = 7                                          'vencidos 4
coNvc = 8                                          'nao vencidos
coSal = 9                                          'saldo total
end sub


Sub XlsBalMab_Cab 'cabecalho
empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstDt$  = FrmDt$("EXT", Sig_DtHoje)                'data para listagem

Tit1$ = MemTxt$(11)                                'Descricao grupo 1
Tit2$ = MemTxt$(12)                                'Descricao grupo 2
Tit3$ = MemTxt$(13)                                'Descricao grupo 3
Tit4$ = MemTxt$(14)                                'Descricao grupo 4
Tit5$ = MemTxt$(15)                                'Descricao grupo 5
Ide1$ = MemTxt$(31)                                'numero dias 1  
Ide2$ = MemTxt$(32)                                'numero dias 2  
Ide3$ = MemTxt$(33)                                'numero dias 3  
Ide4$ = MemTxt$(34)                                'numero dias 4  
Ide5$ = MemTxt$(35)                                'numero dias 5
  
res = XlsIdeLst("Emp_Num" , empNum$)               'numero da empresa
res = XlsIdeLst("Emp_Nome", empNom$)               'nome da empresa
res = XlsIdeLst("LST_DATA", lstDt$)                'tipo da listagem

res = XlsIdeLst("TIT1", Tit1$)                     'tipo da listagem
res = XlsIdeLst("IDE1", ide1$)                     'tipo da listagem
res = XlsIdeLst("TIT2", Tit2$)                     'tipo da listagem
res = XlsIdeLst("IDE2", ide2$)                     'tipo da listagem
res = XlsIdeLst("TIT3", Tit3$)                     'tipo da listagem
res = XlsIdeLst("IDE3", ide3$)                     'tipo da listagem
res = XlsIdeLst("TIT4", Tit4$)                     'tipo da listagem
res = XlsIdeLst("IDE4", ide4$)                     'tipo da listagem
res = XlsIdeLst("TIT5", Tit5$)                     'tipo da listagem
res = XlsIdeLst("IDE5", ide5$)                     'tipo da listagem
end sub


'- Linha de movimento ---------------------------------------------------------
Sub XlsBalMab_Lin 'linha de valores

ctCod$    = Cta_Mst_Ct$                          'codigo da conta
CtNom$    = left$(Cta_Mst_Nome$,28)              'nome da conta
Venc1     = MemNum(21)                           'vencimento 1
Venc2     = MemNum(22)                           'vencimento 2
Venc3     = MemNum(23)                           'vencimento 3
Venc4     = MemNum(24)                           'vencimento 4
Venc5     = MemNum(25)                           'vencimento 5
Saldo     = MemNum(26)                           'saldo total

'call XlsExtCt_IncLin 				 'incrementar linha	
call XlsBalMab_IncLin 'incrementar linha	

res = XlsLst(liUsa, coCte, CtCod$)               'conta
res = XlsLst(liUsa, coIde, CtNom$)               'nome
res = XlsLst(liUsa, coId1, Venc1)                'vencimento 1
res = XlsLst(liUsa, coId2, Venc2)                'vencimento 2
res = XlsLst(liUsa, coId3, Venc3)                'vencimento 3
res = XlsLst(liUsa, coId4, Venc4)                'vencimento 4
res = XlsLst(liUsa, coNvc, Venc5)                'vencimento 5
res = XlsLst(liUsa, coSal, Saldo)                'saldo

res = AcmExe("TVC1", Venc1)                      'acumular vencimento 1
res = AcmExe("TVC2", Venc2)                      'acumular vencimento 2
res = AcmExe("TVC3", Venc3)                      'acumular vencimento 3
res = AcmExe("TVC4", Venc4)                      'acumular vencimento 4
res = AcmExe("TVC5", Venc5)                      'acumular vencimento 5
res = AcmExe("TVC6", Saldo)                      'acumular saldo
End sub


Sub XlsBalMab_IncLin 'incrementar linha	
call Xls_LinInc                                  'incrementar linha
liUsa =  xlsLsa                                  'linha a usar

zon$= XlsZonNum$("L", liUsa)                     'zona da linha
res = XlsFon(zon$, ",,B-I-")                     'activar fonte bold, italico
end sub


'- Terminar/Totais ------------------------------------------------------------
Sub XlsBalMab_Fim 'terminar
call Xls_LinFim                                  'fim de linhas

Tv1   = Total("TVC1", 0)                         'total 1
Tv2   = Total("TVC2", 0)                         'total 2
Tv3   = Total("TVC3", 0)                         'total 3
Tv4   = Total("TVC4", 0)                         'total 4
Tv5   = Total("TVC5", 0)                         'total 5
Tv6   = Total("TVC6", 0)                         'total 6

liUsa = linFim                                   'linha a usar

res = XlsLst(liUsa, coId1, Tv1)                  'total vencimento 1
res = XlsLst(liUsa, coId2, Tv2)                  'total vencimento 2
res = XlsLst(liUsa, coId3, Tv3)                  'total vencimento 3
res = XlsLst(liUsa, coId4, Tv4)                  'total vencimento 4
res = XlsLst(liUsa, coNvc, Tv5)                  'total vencimento 5
res = XlsLst(liUsa, coSal, Tv6)                  'total vencimento 6

x=TotLpz(1)                                      'limpar totais

'terminar/mostrar
res = XlsWksAct("A", 1)                          'activar worksheet
end sub


'==============================================================================
'CobXls - Relatorio de cobrancas - Funcoes comuns
'==============================================================================
Sub CobXls_Scc 'saldo da conta
ct$ = memCt$                                       'conta do grupo
dt  = Sig_DtHoje                                   'data

vgScc = CtaCtSaldo("", dt, ct$)                    'saldo de conta
vaScc = vaScc + vgScc                              'acumular valor
vtScc = vtScc + vgScc                              'acumular valor
end sub


Sub CobXls_AcmLpzTot 'limpar acumuladores totais
vtDoc = 0                                          'documentos
vtDeb = 0                                          'limpar debitos
vtCre = 0                                          'limpar creditos
vtScc = 0                                          'limpar saldo CC
end sub


Sub CobXls_AcmDeb 'acumular documento a debito
vgDoc = Cta_Pab_Vl                                 'total dos documentos
vgDeb = Cta_Pab_Vl                                 'debito
vgCre = 0                                          'credito

vaDoc = vaDoc + vgDoc                              'acumular valor
vaDeb = vaDeb + vgDeb                              'acumular valor

vtDoc = vtDoc + vgDoc                              'acumular valor
vtDeb = vtDeb + vgDeb                              'acumular valor
end sub


Sub CobXls_AcmCre 'acumular documento a credito
vgDoc = 0 - Cta_Pab_Vl                             'total dos documentos
vgDeb = 0                                          'debito
vgCre = Cta_Pab_Vl                                 'credito

vaDoc = vaDoc + vgDoc                              'acumular valor
vaCre = vaCre + vgCre                              'acumular valor

vtDoc = vtDoc + vgDoc                              'acumular valor
vtCre = vtCre + vgCre                              'acumular valor
end sub


Sub CobXls_AcmZer 'limpar acumuladores
vaDoc = 0                                          'documentos
vaDeb = 0                                          'limpar debitos
vaCre = 0                                          'limpar creditos
vaScc = 0                                          'limpar saldo

memCt$ = ""                                        'limpar conta do grupo
cntGrp = 0                                         'limpar contador de grupo
end sub


Sub CobXls_CabCom 'cabecalho comum
empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTit$ = MemTxt$(1)                               'titulo da listagem
lstTip$ = MemTxt$(2)                               'tipo da listagem
lstDt$  = FrmDt$("EXT", Sig_DtHoje)                'data para listagem
dtDia$ = FrmDt$("", Sig_DtHoje)                    'data do dia

res = XlsIdeLst("Emp_Num", empNum$)                'numero da empresa
res = XlsIdeLst("Emp_Nome", empNom$)               'nome da empresa

'res = XlsIdeLst("Lst_Tit",  lstTit$)               'tipo da listagem
res = XlsIdeLst("Lst_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data
res = XlsIdeLst("DT_DIA", dtDia$)                  'data do dia

call CobXls_AcmLpzTot                              'limpar acumuladores totais
end sub


Sub CobXls_IncLin 'incrementar linha	
call Xls_LinInc                                    'incrementar linha
liUsa =  xlsLsa                                    'linha a usar

zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B-I-")                       'activar fonte bold, italico
end sub



'==============================================================================
'CobXls - Relatorio de cobrancas - XLS
'==============================================================================
Sub CobXls_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call CobXls_Prep                                   'preparar
call CobXls_Cab                                    'cabecalho
end sub


Sub CobXls_DocFim 'terminar documento
linIni = linBav                                    'linha inicial
linFim = linCnt                                    'linha final

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub CobXls_Prep 'preparar para listar
res = XlsWks("Valores")                            'activar worksheet

res = XlsIdePsq("PO_BAS")                          'pesquisar posicao base
linBav = XlsIdePsqRes("L")                         'linha da posicao base

xlsLba = linBav                                    'linha base
xlsLin = linBav + 1                                'contador de linhas usadas

'colunas a usar
coCod = 2                                          'codigo
coNom = 3                                          'nome
coTdo = 4                                          'tipo de documento
coNdo = 5                                          'numero de documento
coDes = 6                                          'descricao do documento
coDte = 7                                          'data de emissao
coDtv = 8                                          'data de vencimento
coNdv = 9                                          'numero de dias de vencimento
coDeb = 10                                         'valor a debito
coCre = 11                                         'valor a credito
coScc = 12                                         'saldo da conta
coTps = 13                                         'tipo de saldo da conta
coObs = 14                                         'observacoes
end sub


Sub CobXls_Cab 'cabecalho
call CobXls_CabCom                                 'cabecalho comum
end sub


Sub CobXls_Lin 'linha de valores
'nada a executar
end sub


Sub CobXls_LinInf 'linha de informacao (conta)
call CobXls_AcmZer                                 'limpar acumuladores
res = XlsLinIns(xlsLin, 1)                         'juntar linha
memCt$ = Cta_Mst_Ct$                               'conta

'zon$= XlsZon$(xlsLin, coCod, xlsLin, coNom)        'zona de identificacao
'res = XlsFon(zon$, ",,B+")                         'activar fonte bold

res = XlsLst(xlsLin, coCod, Cta_Mst_Ct$)           'codigo da conta
res = XlsLst(xlsLin, coNom, Cta_Mst_Nome$)         'nome da conta
'res = XlsLst(xlsLin, 3, Cta_Ang_Contacto$          'contacto
'res = XlsLst(xlsLin, 3, Cta_Ang_Telef$             'contribuinte

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub CobXls_LinEnt 'linha de entidade
call CobXls_AcmZer                                 'limpar acumuladores
res = XlsLinIns(xlsLin, 1)                         'juntar linha
memEnt$ = Cta_Mst_Entid$                           'guardar entidade

ide$ = "Entidade : " + memEnt$                     'identificao
res = XlsLst(xlsLin, coNom, ide$)                  'identificacao

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub CobXls_LinVND 'linha de vendedor
call CobXls_AcmZer                                 'limpar acumuladores
res = XlsLinIns(xlsLin, 1)                         'juntar linha

vndNum$ = FrmVal$(Cta_Ang_Vend, 21, 2)             'numero do vendedor
vndNom$ = EmpTabCon$("Vend", Cta_ang_Vend,"Nome")  'nome do vendedor
vndIde$ = vndNum$ + " - " + vndNom$                'identificaco do vendedor

ide$ = "Vendedor : " + vndIde$                     'identificao
res = XlsLst(xlsLin, coNom, ide$)                  'identificacao

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub CobXls_LinDeb 'linha de valor a debito
call CobXls_AcmDeb                                 'acumular documento a debito
call CobXls_LinExe                                 'executar listagem da linha
end sub


Sub CobXls_LinCrd 'linha de valor a credito
call CobXls_AcmCre                                 'acumular documento a credito
call CobXls_LinExe                                 'executar listagem da linha
end sub


Sub CobXls_LinExe 'executar listagem da linha
cntGrp = cntGrp + 1                                'limpar contador de grupo
if cntGrp > 1 then                                 'ja listou ?
   res = XlsLinIns(xlsLin, 1)                      'juntar linha
else
   xlsLin = xlsLin - 1                             'descontar linha
end if

docTip$ = Cta_Pab_Tdoc$                               'tipo do documento
docNum$ = FrmNdo$("06", Cta_Pab_Tdoc$, Cta_Pab_Ndoc$) 'numero do documento
docIde$ = docTip$ + "  " + docNum$                    'identificacao do documento

dte$    = FrmDt$("", Cta_Pab_Dtl)                  'data de emissao
dtv$    = FrmDt$("", Cta_Pab_Dtv)                  'data de vencimento

res = TxtSepMul(MemTxt$(20), ")")                  'separar numero de dias
ndv = 0 - ConNum(2)                                'dias de vencimento

'res = XlsLst(xlsLin, 1, cntGrp)     

res = XlsLst(xlsLin, coTdo, docTip$)               'tipo do documento
res = XlsLst(xlsLin, coNdo, docNum$)               'numero do documento
res = XlsLst(xlsLin, coDes, Cta_Pab_Descr$)        'descricao do documento
res = XlsLst(xlsLin, coDte, dte$)                  'data de emissao
res = XlsLst(xlsLin, coDtv, dtv$)                  'data de vencimento
res = XlsLst(xlsLin, coNdv, ndv)                   'dias de vencimento


if vdDeb <> 0 then                                 'tem valor ?
   res = XlsLst(xlsLin, coDeb, vgDeb)              'valor - debito
end if

if vdDeb <> 0 then                                 'tem valor ?
   res = XlsLst(xlsLin, coCre, vgCre)              'valor - credito
end if

'seguinte
'if cntGrp > 1 then                                 'ja listou ?
   xlsLin = xlsLin + 1                             'contar linha
'end if
End sub


Sub CobXls_LinTot 'total do grupo (conta)
call CobXls_Scc                                    'saldo da conta

totIde$ = "Subtotal"                               'identificacao
call CobXls_LinTotExe                              'executar listagem da linha de totais
end sub


Sub CobXls_LinTotEnt 'total da entidade
totIde$ = "Total da entidade " + memEnt$           'identificacao
call CobXls_LinTotExe                              'executar listagem da linha de totais
end sub


Sub CobXls_LinTotExe 'executar listagem da linha de totais
res = XlsLinIns(xlsLin, 1)                         'juntar linha

'zon$= XlsZonNum$("L", xlsLin)                      'zona da linha
'res = XlsFon(zon$, ",,I+")                         'activar fonte italico

'zon$= XlsZon$(xlsLin, coNom)                       'zona do nome
'res = XlsAli(zon$, ">")                            'alinhamento

if vaScc < 0 then                                  'saldo credor ?
   tps$ = "C"                                      'tipo do saldo
else
   tps$ = "D"                                      'tipo do saldo
end if

res = XlsLst(xlsLin, coNom, totIde$)               'tipo de total
res = XlsLst(xlsLin, coDeb, vaDeb)                 'valor - debito
res = XlsLst(xlsLin, coCre, vaCre)                 'valor - credito
res = XlsLst(xlsLin, coScc, vgScc)                 'saldo CC
res = XlsLst(xlsLin, coTps, tps$)                  'saldo CC - tipo

'seguinte
xlsLin = xlsLin + 1                                'contar linha

'separar
res = XlsLinIns(xlsLin, 1)                         'juntar linha
xlsLin = xlsLin + 1                                'contar linha
End sub


Sub CobXls_LinTotGer 'totais gerais
call CobXls_TotGer                                 'linhas de totais gerais
end Sub


Sub CobXls_TotGer 'linhas de totais gerais
xlsLin = xlsLin + 2                                'contar linha

if vtScc < 0 then                                  'saldo credor ?
   tps$ = "C"                                      'tipo do saldo
else
   tps$ = "D"                                      'tipo do saldo
end if

res = XlsLst(xlsLin, coDeb, vtDeb)                 'valor - debito
res = XlsLst(xlsLin, coCre, vtCre)                 'valor - credito
res = XlsLst(xlsLin, coScc, vtScc)                 'saldo CC
res = XlsLst(xlsLin, coTps, tps$)                  'saldo CC - tipo
end sub


Sub CobXls_Fim 'terminar
'res = XlsLinIns(xlsLin, 1)                         'juntar linha

'xlsLin = xlsLin + 1                                'contar linha
'call CtaCob_TotGer                                 'linhas de totais gerais

xlsLin = xlsLin - 2                                'descontar linhas de totais
res = XlsWksAct("A", 1)                            'activar worksheet
end sub


'==============================================================================
'CobXlsR - Relatorio de cobrancas - XLS - formato reduzido
'==============================================================================
Sub CobXlsR_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call CobXlsR_Prep                                   'preparar
call CobXlsR_Cab                                    'cabecalho
end sub


Sub CobXlsR_DocFim 'terminar documento
linIni = linBav                                    'linha inicial
linFim = linCnt                                    'linha final

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub CobXlsR_Prep 'preparar para listar
res = XlsWks("Valores")                            'activar worksheet

res = XlsIdePsq("PO_BAS")                          'pesquisar posicao base
linBav = XlsIdePsqRes("L")                         'linha da posicao base

xlsLba = linBav                                    'linha base
xlsLin = linBav + 1                                'contador de linhas usadas

'colunas a usar
coCod = 2                                          'codigo
coNom = 3                                          'nome
coDes = 4                                          'descricao do documento
coEmd = 5                                          'emissao - data
coEmi = 6                                          'emissao - idade
coVed = 7                                          'vencimento - data
coVei = 8                                          'vencimento - idade
coVld = 9                                          'valor documento
coObs = 10                                         'observacoes
coScc = 11                                         'saldo da conta
coTps = 12                                         'tipo de saldo da conta
end sub


Sub CobXlsR_Cab 'cabecalho
call CobXls_CabCom                                 'cabecalho comum
end sub


Sub CobXlsR_Lin 'linha de valores
'nada a executar
end sub


Sub CobXlsR_AcmZer 'limpar acumuladores
vaDeb = 0                                          'limpar debitos
vaCre = 0                                          'limpar creditos
vaScc = 0                                          'limpar saldo

memCt$ = ""                                        'limpar conta do grupo
cntGrp = 0                                         'limpar contador de grupo
end sub


Sub CobXlsR_LinInf 'linha de informacao (conta)
call CobXls_AcmZer                                 'limpar acumuladores
res = XlsLinIns(xlsLin, 1)                         'juntar linha
memCt$ = Cta_Mst_Ct$                               'conta

zon$= XlsZon$(xlsLin, coCod, xlsLin, coNom)        'zona de identificacao
res = XlsFon(zon$, ",,B+")                         'activar fonte bold

res = XlsLst(xlsLin, coCod, Cta_Mst_Ct$)           'codigo da conta
res = XlsLst(xlsLin, coNom, Cta_Mst_Nome$)         'nome da conta

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub CobXlsR_LinEnt 'linha de entidade
call CobXls_AcmZer                                 'limpar acumuladores
res = XlsLinIns(xlsLin, 1)                         'juntar linha
memEnt$ = Cta_Mst_Entid$                           'guardar entidade

ide$ = "Entidade : " + memEnt$                     'identificao
res = XlsLst(xlsLin, coNom, ide$)                  'identificacao

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub CobXlsR_LinVND 'linha de vendedor
call CobXls_AcmZer                                 'limpar acumuladores
res = XlsLinIns(xlsLin, 1)                         'juntar linha

vndNum$ = FrmVal$(Cta_Ang_Vend, 21, 2)             'numero do vendedor
vndNom$ = EmpTabCon$("Vend", Cta_ang_Vend,"Nome")  'nome do vendedor
vndIde$ = vndNum$ + " - " + vndNom$                'identificaco do vendedor

ide$ = "Vendedor : " + vndIde$                     'identificao
res = XlsLst(xlsLin, coNom, ide$)                  'identificacao

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub CobXlsR_LinDeb 'linha de valor a debito
call CobXls_AcmDeb                                 'acumular documento a debito
call CobXlsR_LinExe                                'executar listagem da linha
end sub


Sub CobXlsR_LinCrd 'linha de valor a credito
call CobXls_AcmCre                                 'acumular documento a credito
call CobXlsR_LinExe                                'executar listagem da linha
end sub


Sub CobXlsR_LinExe 'executar listagem da linha
cntGrp = cntGrp + 1                                'limpar contador de grupo
if cntGrp > 1 then                                 'ja listou ?
   'res = XlsLinIns(xlsLin, 1)                      'juntar linha
   call CobXlsIncLin                               'incrementar linha
else
   xlsLin = xlsLin - 1                             'descontar linha
end if

docTip$ = Cta_Pab_Tdoc$                               'tipo do documento
docNum$ = FrmNdo$("06", Cta_Pab_Tdoc$, Cta_Pab_Ndoc$) 'numero do documento
docIde$ = docTip$ + "  " + docNum$                    'identificacao do documento

dte$    = FrmDt$("", Cta_Pab_Dtl)                  'data de emissao
dtv$    = FrmDt$("", Cta_Pab_Dtv)                  'data de vencimento

res = TxtSepMul(MemTxt$(20), ")")                  'separar numero de dias
ndv = 0 - ConNum(2)                                'dias de vencimento

'res = XlsLst(xlsLin, 1, cntGrp)     

res = XlsLst(xlsLin, coDes, Cta_Pab_Descr$)        'descricao do documento
res = XlsLst(xlsLin, coEmd, dte$)                  'data de emissao
'res = XlsLst(xlsLin, coEmi, ide$)                  'idade de emissao

'zon$= XlsZon$(xlsLin, coEmd)                       'zona da data
'fxIde$ = "=DAYS360("+ zon$ + ";DT_DIA)"            'formula de calculo
'res = XlsForm(xlsLin, coEmi, fxIde$)               'registar formula de idade de documento
res = XlsFormCop(xlsLba, coEmi, xlsLin, coEmi)     'registar formula de idade de documento

res = XlsLst(xlsLin, coVed, dtv$)                  'data de vencimento
res = XlsLst(xlsLin, coVei, ndv)                   'idade do vencimento
res = XlsLst(xlsLin, coVld, vgDoc)                 'valor

'seguinte
'if cntGrp > 1 then                                 'ja listou ?
   xlsLin = xlsLin + 1                             'contar linha
'end if
End sub


Sub CobXlsR_LinTot 'total do grupo (conta)
call CobXls_Scc                                    'saldo da conta

totIde$ = "Subtotal: "                             'identificacao
call CobXlsR_LinTotExe                             'executar listagem da linha de totais

li = xlsLin - 2                                    'linha a usar
zon$= XlsZon$(li, coNom, li, coNom)                'zona de identificacao
res = XlsAli(zon$, ">")                            'alinhamento

'msgbox "","SubTotal",li
end sub


Sub CobXlsR_LinTotEnt 'total da entidade
totIde$ = "Total da entidade " + memEnt$           'identificacao
call CobXls_LinTotExe                              'executar listagem da linha de totais
end sub


Sub CobXlsR_LinTotExe 'executar listagem da linha de totais
'res = XlsLinIns(xlsLin, 1)                         'juntar linha
call CobXlsIncLin                                   'incrementar linha

'zon$= XlsZonNum$("L", xlsLin)                      'zona da linha
'res = XlsFon(zon$, ",,I+")                         'activar fonte italico

'zon$= XlsZon$(xlsLin, coNom)                       'zona do nome
'zon$= XlsZon$(xlsLin, coCod, xlsLin, coNom)        'zona de identificacao
'res = XlsAli(zon$, ">")                            'alinhamento

if vaScc < 0 then                                  'saldo credor ?
   tps$ = "C"                                      'tipo do saldo
else
   tps$ = "D"                                      'tipo do saldo
end if

res = XlsLst(xlsLin, coNom, totIde$)               'tipo de total
res = XlsLst(xlsLin, coVld, vaDoc)                 'valor
res = XlsLst(xlsLin, coScc, vgScc)                 'saldo CC
res = XlsLst(xlsLin, coTps, tps$)                  'saldo CC - tipo

zon$= XlsZon$(xlsLin, coVld, xlsLin, coTps)        'zona de valor
res = XlsFon(zon$, ",,B+")                         'activar fonte bold

'seguinte
xlsLin = xlsLin + 1                                'contar linha

'separar
'res = XlsLinIns(xlsLin, 1)                         'juntar linha
call CobXlsIncLin                                   'incrementar linha
xlsLin = xlsLin + 1                                'contar linha
End sub


Sub CobXlsR_LinTotGer 'totais gerais
call CobXlsR_TotGer                                'linhas de totais gerais
end Sub


Sub CobXlsR_TotGer 'linhas de totais gerais
xlsLin = xlsLin + 2                                'contar linha

if vtScc < 0 then                                  'saldo credor ?
   tps$ = "C"                                      'tipo do saldo
else
   tps$ = "D"                                      'tipo do saldo
end if

res = XlsLst(xlsLin, coVld, vtDoc)                 'valor
res = XlsLst(xlsLin, coScc, vtScc)                 'saldo CC
res = XlsLst(xlsLin, coTps, tps$)                  'saldo CC - tipo
end sub


Sub CobXlsR_Fim 'terminar
'res = XlsLinIns(xlsLin, 1)                         'juntar linha

'xlsLin = xlsLin + 1                                'contar linha
'call CtaCob_TotGer                                 'linhas de totais gerais

xlsLin = xlsLin - 2                                'descontar linhas de totais
res = XlsWksAct("A", 1)                            'activar worksheet


'DEBUG
'li=xlsLin+3
'zon$= XlsZonNum$("L", li)                      'zona da linha
'res = XlsAli(zon$, ">")                            'alinhamento
'res = XlsLst(li, 2, "XYZ")
end sub


Sub CobXlsIncLin 'incrementar linha
res = XlsLinIns(xlsLin, 1)                         'juntar linha

zon$= XlsZonNum$("L", xlsLin)                      'zona da linha
res = XlsFon(zon$, ",,B-")                         'desactivar fonte bold
end sub


'-----------------------------------------------------------------------------
' Funcoes para impressao do documento em formato WORD
'-----------------------------------------------------------------------------
Sub Wrd_ExtCt_CabIni 'incializacao
'msgbox "","WRD CabIni",""

call Word_FxIni                        'inicializar funcoes para listar em WORD
end sub


Sub Word_OpcDocIni 'preparar opcoes do documento
'msgbox "","OpcDoc - INI",""

'tipos de linhas
linTipNum = 3                                      'numero de tipos de linha
linTipZer = 1                                      'tipo da linha de ajuste (em branco)
linTipDeb = 2                                      'tipo da linha debito
linTipCre = 3                                      'tipo da linha credito
end sub


Sub WordDoc_DocIni
res = MsgSba(0,"Listar documento ...")

'msgbox "","Doc - INI",""

'dtHoje$ = FrmDt$("A4",Sig_DtHoje)                  'data do dia
docMailAss$ = "Extracto de Movimentos em Aberto"   'assunto para MAIL

call Word_DocIni                                   'inicio de documento
end sub


Sub WordDoc_ViaIni
'msgbox "","Doc Via - INI",Doc_Ide_Via$

call Word_ViaIni                                   'inicio de via
end sub


Sub WordDoc_ViaFim
'msgbox "","Doc Via - FIM",Doc_Ide_Via$
end sub


Sub WordDoc_DocFim
'msgbox "","Doc - FIM",""

call Word_DocLst                                   'listar documento em WORD
end sub


'-----------------------------------------------------------------------------
' Linhas do Documento
'-----------------------------------------------------------------------------
Sub Wrd_ExtCt_LinDeb 'linha de debito
'msgbox "","Linha Deb",""
if cntVia = 1 then                     'guardar linha
   call IncLinCnt                      'incrementar contador de linhas
   res = VBS_MemLin(linTipDeb)         'memorizar linha
end if
end sub


Sub Wrd_ExtCt_LinCre 'linha de credito
'msgbox "","Linha Cre",""
if cntVia = 1 then                     'guardar linha
   call IncLinCnt                      'incrementar contador de linhas
   res = VBS_MemLin(linTipCre)         'memorizar linha
end if
end sub
##


'==============================================================================
#INC - Funcoes comuns
'==============================================================================
Funcoes comuns                       =[SIG_Dir.Div],LsComPgm.std
Funcoes comuns para documentos WORD  =[SIG_DIR.FCO]\FicSig\Inc\DocWord.inc
##



