'Nome       : CtaExt.std
'Tipo       : LST
'Data       : 2007/06/26
'Versao     : 3.0a
'Descricao  : Listagem de extractos

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 3.0b 2012/05/16 ---------------------------------------------------
'incluir contribuinte nos extractos com dados do cliente

'- Versao : 3.0a 2006/09/26 ---------------------------------------------------
'Correccao estetica

'- Versao : 3.0 2006/03/16 ---------------------------------------------------
'Extractos para Excel

'- Versao : 2.4a 2005/10/21 ---------------------------------------------------
'Correccao ortografica


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ExtLst
Nome                       [DocNom]=ExtLst,Extracto de conta  - A4

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=TX_Cab
Listar linhas               [FxLIN]=TX_Lin; Vad; Vac; Deb; Cre; Ajt
Listar ajuste para fim      [FxAJT]=TX_Ajt
Listar fim                  [FxFIM]=TX_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ExtLst
Nome                       [DocNom]=ExtLst2,Extracto c/ Dados Cliente - A4

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=TX_Cab_dc
Listar linhas               [FxLIN]=TX_Lin; Vad; Vac; Deb; Cre; Ajt
Listar ajuste para fim      [FxAJT]=TX_Ajt
Listar fim                  [FxFIM]=TX_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ExtLst
Nome                       [DocNom]=ExtLst_G,Extracto de conta  - A4

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_Cab
Listar linhas               [FxLIN]=PW_Lin; Vad; Vac; Deb; Cre; Ajt
Listar fim                  [FxFIM]=PW_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ExtLst
Nome                       [DocNom]=ExtLst2_G,Extracto c/ Dados do cliente - A4

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_Cab_dc
Listar linhas               [FxLIN]=PW_Lin; Vad; Vac; Deb; Cre; Ajt
Listar fim                  [FxFIM]=PW_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ExtLst
Nome                       [DocNom]=ExtLst_MF,Extracto de uma conta - Meia folha

'formato
Saida/Impressora           [DocPrt]=
Linhas por pagina          [DocLpg]=20
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=36L
Ajustar pagina             [DocApg]=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=TX_Cab
Listar linhas               [FxLIN]=TX_Lin; Vad; Vac; Deb; Cre; Ajt
Listar ajuste para fim      [FxAJT]=TX_Ajt
Listar fim                  [FxFIM]=TX_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=ExtCt
Nome                       [DocNom]=ExtCt,Extracto tipo carta

'formato
Saida/Impressora           [DocPrt]=
Linhas por pagina          [DocLpg]=34
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; Cre; Ajt; Tot; Agrad
Listar fim                  [FxFIM]=TX_ExtCt_Fim
##


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

'formato
Saida/Impressora           [DocPrt]=NULA
'Saida/Impressora           [DocPrt]=
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]=XlsExt
Listar cabecalho            [FxCAB]=XlsExt_Cab
Listar linhas               [FxLIN]=XlsExt_Lin,0; Vad,0; Vac,0; Deb,0; Cre,0; Tot,0
Listar fim                  [FxFIM]=XlsExt_Fim

Matriz auxiliar            [DocMat]=CtaExt.xls
##


'==============================================================================
#VAR - Definicao de variaveis
'==============================================================================
Person    = Sig
Tipo      = MemTxt$(1)
Pag       = Doc_CntPag
DataExt   = FrmVal$(Sig_DtHoje,45,0)
Ct        = Cta_Mst_ct$
CtNome    = left$(Cta_Mst_Nome$,30)
CtNome2   = Cta_Mst_Ct$+" - "+Cta_Mst_Nome$

'movimento normal
Dtl       = left$(FrmVal$(Memnum(11),42,0),8)
Dtv       = left$(FrmVal$(Memnum(12),42,0),8)

Ndoc      = FrmNdo$("06",Memtxt$(10),MemTxt$(11))
Td        = MemTxt$(10)

Des       = MemTxt$(14)
DebMov    = FrmMoe$("Z=E",16,MemNum(21))
CreMov    = FrmMoe$("Z=E",16,MemNum(22))

'movimento anterior
AntDeb    = FrmMoe$("",16,MemNum(31))
AntCre    = FrmMoe$("",16,MemNum(32))

'saldos
SalDeb    = FrmMoe$("",16,MemNum(23))+" D"
SalCre    = FrmMoe$("",16,MemNum(23))+" C"
SalAntDeb = FrmMoe$("",16,MemNum(33))+" D"
SalAntCre = FrmMoe$("",16,MemNum(33))+" C"

'Totais
AcmDeb    = FrmMoe$("",16,MemNum(41))
AcmCre    = FrmMoe$("",16,MemNum(42))
SalCC     = FrmMoe$("",16,MemNum(43))+" "+memtxt$(43)
SalLet    = FrmMoe$("",16,MemNum(44))
SalGer    = FrmMoe$("",16,MemNum(45))+" "+memtxt$(45)

'Dados anagr�ficos
Morada   = Cta_Ang_Morada$
Telef    = Cta_Ang_Telef$
Fax      = Cta_Ang_Fax$
Local    = Cta_Ang_Local$
CPost    = left$(Cta_Ang_Cpost$,30)
Cont     = Cta_Ang_Contacto$
ctrb     = Cta_Mst_Ctrb$
email    = Cta_Mst_Email$
##


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


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


Sub TX_Cab
FxDiv LstIde,16CPI,0
Print PrtCmd$("[16CPILD]");
?Extracto da Conta : @CtNome2                                                                                        #
Print PrtCmd$("[16CPILN]");
?    Data : @DataExt                                      @tipo                                       Folha No : @Pag#
?   ===================================================================================================================
?   | Data Mov  |  Data Venc.  | TD |  N.Doc     |   Descricao  |     Debito      |     Credito     |       Saldo     |
?   ===================================================================================================================
end sub


Sub TX_Cab_dc
FxDiv LstIde,16CPI,0
Print PrtCmd$("[16CPILD]");
?Extracto da Conta : @CtNome2                                                                                        #
?                    @Morada                                                                                         #
?                    @Local                                      #  @Cpost                                           #
?   Contacto: @Cont                           Contribuinte: @Ctrb          #Telefone: @Telef      #Fax: @Fax         #
Print PrtCmd$("[16CPILN]");
?
?    Data : @DataExt                                      @tipo                                       Folha No : @Pag#
?   ===================================================================================================================
?     Data Mov  |  Data Venc.  | TD |  N.Doc     |   Descricao  |     Debito      |     Credito     |       Saldo      |
?   ===================================================================================================================
end sub


Sub TX_LinVad
?                                                 Mov. Anterior |@AntDeb          |@AntCre          |@SalAntDeb        #
end sub


Sub TX_LinVac 
?                                                 Mov. Anterior |@AntDeb          |@AntCre          |@SalAntCre        #
end sub


Sub TX_LinDeb
?     @Dtl      |  @Dtv        |@Td | @Ndoc      | @Des         |@DebMov          |@CreMov          |@SalDeb           #
end sub


Sub TX_LinCre
?     @Dtl      |  @Dtv        |@Td | @Ndoc      | @Des         |@DebMov          |@CreMov          |@SalCre           #
end sub


Sub TX_LinAjt 'ajuste de linhas
?
end sub


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


Sub TX_Fim
?==================================================================================================================
?                            Acum. Debito  | Acum. Credito  |   Saldo de C/C   |  Saldo Letras   |  Saldo Geral   #
?==================================================================================================================
?                          @AcmDeb         |@AcmCre         |@SalCC            |@SalLet          |@SalGer         #
?==================================================================================================================
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                                                           #
?                                                                          #
?  Envio de extracto resumo referente � sua conta corrente na data actual 
?
Print PrtCmd$("[16CPILN]");
?                                                                                                                               #
?                                                                Folha No : @Pag#
?=================================================================================
?| Data Mov |Data Ven |  N.Doc  |  Descricao   |     Debito     |    Credito     |
?=================================================================================
end sub


Sub TX_ExtCt_LinDeb
?|@Dtl      |@DtV     |@Ndoc    |@Des          |@DebMov         |@CreMov         |
end sub


Sub TX_ExtCt_LinCre
?|@Dtl      |@DtV     |@Ndoc    |@Des          |@DebMov         |@CreMov         |
end sub


Sub TX_ExtCt_LinAjt
?
end sub


Sub TX_ExtCt_Fim
?=================================================================================
?                              Acum. Debito  | Acum. Credito  |  Saldo de C/C    |
?=================================================================================
?                            @AcmDeb         |@AcmCre         |@SalCC            |
?=================================================================================
FxDiv LstPer,SP
end sub


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


'==============================================================================
' #GRF - IMPRESSAO EM MODO GRAFICO
'==============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
End sub


Sub PW_Cab_dc
SigCabNorOpcTit=0
PrWIN COR_T,   CorTitLst                        'cor para linhas

Titulo$="Extracto da Conta : "+Cta_Mst_Ct$+"  "+Cta_Mst_Nome$
call SigCabNor

PrWIN AJT_B,  Margem, 27                        'posicao base
PrWIN FON  ,   10                               'fonte para texto
PrWIN COR_T,   CorTit                           'cor para titulos

PrWin FON  , "BOLD+"                            'activar bold
PrWIN TX_N,   0,   0,"Morada:
PrWIN TX_N,   0,   5,"Local:
PrWIN TX_N,   0,  10,"Contacto:"

PrWIN TX_N,  57,  10,"Contrib.:"

PrWIN TX_N, 100,   5,"C�digo Postal:"

PrWIN TX_N, 100,  10,"Email  :"

'PrWIN TX_N, 100,  10,"Telefone:"
'PrWIN TX_N, 150,  10,"Fax:"
PrWin FON  , "BOLD-"                            'activar bold

PrWIN COR_T,   CorLin                          	'cor para linhas
PrWIN TX_N,  17,   0,@Morada
PrWIN TX_N,  17,   5,@Local
PrWIN TX_N,  17,  10,@Cont

PrWIN TX_N,  73,  10,@Ctrb
PrWIN TX_N, 128,   5,@Cpost

PrWIN TX_N, 125,  10,@Email

'PrWIN TX_N, 120,  10,@Telef

'PrWIN TX_N, 160,  10,@Fax

PrWIN AJT_B,  Margem, 45                        'posicao base
PrWIN COR_T,   CorLin                          	'cor para linhas

'definicao das colunas
esp=25

Col1=0                           		'data lancamento
Col2=17                          		'data vencimento
Col3=38						'diario
Col4=50						'documento
Col5=75                                         'descricao
Col6=100                                        'debito
Inicio=Col6
Col7=inicio+esp*1      				'credito
Col8=inicio+esp*2				'saldo
Col9=inicio+esp*3				'margem direita

Lin1= 0.5

PrWIN FON  ,    9                               'fonte para texto
PrWIN COR_T,   CorTit                           'cor para titulos
PrWin FON  , "BOLD+"                            'activar bold
PrWIN TX_N,    Col1,   Lin1,"Dt. Mov."
PrWIN TX_N,    Col2,   Lin1,"Dt. Venc."
PrWIN TX_N,    Col3,   Lin1,"Di�rio
PrWIN TX_N,    Col4,   Lin1,"Documento"
PrWIN TX_N,    Col5+5, Lin1,"Descri��o"
PrWIN TX_N,    Col6+14,Lin1,"D�bito"
PrWIN TX_N,    Col7+12,Lin1,"Cr�dito"
PrWIN TX_N,    Col8+18,Lin1,"Saldo"
PrWin FON  , "BOLD-"                            'desactivar bold

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

InicioEscrita=47
end sub


Sub PW_Cab
SigCabNorOpcTit=0
PrWIN COR_T,   CorTitLst                      'cor para linhas

Titulo$="Extracto da Conta : "+Cta_Mst_Ct$+"  "+Cta_Mst_Nome$
call SigCabNor

PrWIN AJT_B,  Margem, 27                        'posicao base
PrWIN COR_T,   CorLin                          	'cor para linhas

'definicao das colunas
esp=25

Col1=0                           		'data lancamento
Col2=17                          		'data vencimento
Col3=38						'diario
Col4=50						'documento
Col5=75                                         'descricao
Col6=100                                        'debito
Inicio=Col6
Col7=inicio+esp*1      				'credito
Col8=inicio+esp*2				'saldo
Col9=inicio+esp*3				'margem direita

PrWIN FON  ,   10                              'fonte para texto
PrWIN COR_T,   CorTit                          'cor para titulos
PrWin FON, "BOLD+"
PrWIN TX_N,    Col1,   0.5,"Dt. Mov."
PrWIN TX_N,    Col2,   0.5,"Dt. Venc."
PrWIN TX_N,    Col3,   0.5,"Di�rio
PrWIN TX_N,    Col4,   0.5,"Documento"
PrWIN TX_N,    Col5+5, 0.5,"Descri��o"
PrWIN TX_N,    Col6+16,0.5,"D�bito"
PrWIN TX_N,    Col7+16,0.5,"Cr�dito"
PrWIN TX_N,    Col8+20,0.5,"Saldo"
PrWin FON, "BOLD-"

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

InicioEscrita=30
end sub


Sub PW_LinVad
PrWin FON  , "BOLD+"                            'activar bold
PrWin FON  , "ITAL+"                            'activar italico
PrWIN AJT_B, Margem, InicioEscrita+Doc_CntLin*4          	'posicao base
PrWIN TX_N,      Col4,0,"Movimento anterior"
PrWIN TX_NP,     Col6+6,0, "N",@AntDeb
PrWIN TX_NP,     Col7+8,0, "N",@AntCre
PrWIN TX_NP,     Col8+8,0, "N",@SalAntDeb
PrWin FON  , "BOLD-"                            'desactivar bold
PrWin FON  , "ITAL-"                            'desactivar italico
end sub


Sub PW_LinVac
PrWin FON  , "BOLD+"                            'activar bold
PrWin FON  , "ITAL+"                            'activar italico
PrWIN AJT_B, Margem, InicioEscrita+Doc_CntLin*4          	'posicao base
PrWIN TX_N,      Col4,0,"Movimento anterior"
PrWIN TX_NP,     Col6+6,0, "N",@AntDeb
PrWIN TX_NP,     Col7+8,0, "N",@AntCre
PrWIN TX_NP,     Col8+8,0, "N",@SalAntCre
PrWin FON  , "BOLD-"                            'desactivar bold
PrWin FON  , "ITAL-"                            'desactivar italico
end sub


Sub LinhaMov
PrWIN AJT_B, Margem, InicioEscrita+Doc_CntLin*4          	'posicao base
PrWIN TX_N,      Col1,  0,     @Dtl
PrWIN TX_N,      Col2-2,  0,     @Dtv
PrWIN TX_N,      Col3-5,  0,     @Td
PrWIN TX_NP,     Col4-6,  0, "N",@Ndoc
PrWIN TX_N,      Col5-12,  0,     @Des
PrWIN TX_NP,     Col6+6,  0, "N",@DebMov
PrWIN TX_NP,     Col7+8,  0, "N",@CreMov
End Sub


Sub PW_LinDeb
Call LinhaMov
PrWIN TX_NP,     Col8+0+8,  0, "N",@SalDeb
end sub


Sub PW_LinCre
Call LinhaMov
PrWIN TX_NP,     Col8+0,  0, "N",@SalCre
End sub


SUB PW_LinAjt 'ajuste de linhas
'?
end sub


Sub PW_FimAjt
PrWIN AJT_B,Margem,265                 		'posicao base
PrWIN GR_LI,     0,  0, MargemD-10, 0         	'linha
Call SigLstRod
PrWin FP
end sub


Sub PW_Fim
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,263                 		'posicao base
PrWIN GR_LI,     0,   0, MargemD-10, 0        	'linha
PrWIN GR_LI,     0,   5, MargemD-10, 5        	'linha
PrWIN GR_LI,     0,  10, MargemD-10, 10       	'linha

PrWIN COR_T,   CorLin                        'cor para linhas

esp=40-2.5
Col1=1
Col2=Col1+(esp*1)
Col3=Col1+(esp*2)
Col4=Col1+(esp*3)
Col5=Col1+(esp*4)-3


lin=1
PrWin FON  , "BOLD+"                            'activar bold
PrWin TX_N, Col1,Lin,"Acumulado D�bito"
PrWin TX_N, Col2,Lin,"Acumulado Cr�dito"
PrWin TX_N, Col3+10,Lin,"Saldo C/C"
PrWin TX_N, Col4+5,Lin,"Saldo Letras"
PrWin TX_N, Col5+10,Lin,"Saldo Geral"
PrWin FON  , "BOLD-"                            'activar bold

PrWIN COR_T,   CorTitLst                        'cor para linhas
'PrWIN COR_T,     CorTotGer                      'cor para totais

lin=5.7
PrWin FON  , "BOLD+"                            'activar bold
PrWin FON  , "ITAL+"                            'activar italico
PrWin TX_NP, Col1,Lin,"N",@AcmDeb
PrWin TX_NP, Col2,Lin,"N",@AcmCre
PrWin TX_NP, Col3,Lin,"N",@SalCC
PrWin TX_NP, Col4,Lin,"N",@SalLet
PrWin TX_NP, Col5,Lin,"N",@SalGer
PrWin FON  , "ITAL-"                            'desactivar italico
PrWin FON  , "BOLD-"                            'desactivar bold
Call SigLstRod
PrWin FP
end sub


'==============================================================================
'= XLS - Funcoes comuns =======================================================
'==============================================================================
Sub Xls_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
nfi$ = "RND:CtaExt.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 = XlsDocDir$("A", dfi$)                        'activar directorio
res = XlsDocGrv(ficDoc$)                           'gravar ficheiro

res = XlsVer(0)                                    'mostrar EXCEL - normal
'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 ========================================================
'==============================================================================
Sub XlsExt_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsExt_Prep                                   'preparar
call XlsExt_Cab                                    'cabecalho
end sub


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

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsExt_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
coTdo = 4                                          'tipo de documento/diario
coNdo = 5                                          'numero de documento
coDes = 6                                          'descricao
coDeb = 7                                          'debito
coCre = 8                                          'credito
coVls = 9                                          'saldo
coTps = 10                                         'tipo do saldo
end sub


Sub XlsExt_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_Mst_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 XlsExt_Lin 'linha de valores
end sub


'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)

'- Linha de acumulados --------------------------------------------------------
Sub XlsExt_LinAcmPrp 'preparar valores dos acumulados
xDtl$     = ""                                     'data do movimento
xDtv$     = ""                                     'data de vencimento
xTdo$     = ""                                     'diario
xNdo$     = ""                                     'documento
xDes$     = "Mov. Anterior"                        'descricao
vDeb      = MemNum(31)                             'acumulado debito 
vCre      = MemNum(32)                             'acumulado credito
vVls      = MemNum(33)                             'valor do saldo
end sub


Sub XlsExt_LinVad 'valores anteriores acumulados (debito)
call XlsExt_LinAcmPrp                              'preparar valores acumulados
vTps$ = "D"                                        'tipo

call XlsExt_LinAcmExe                              'executar listagem da linha
end sub


Sub XlsExt_LinVac 'valores anteriores acumulados (credito)
call XlsExt_LinAcmPrp                              'preparar valores acumulados
vTps$ = "C"                                        'tipo

call XlsExt_LinAcmExe                              'executar listagem da linha
end sub


Sub XlsExt_LinAcmExe 'executar listagem da linha
call Xls_LinInc                                    'incrementar linha
liUsa =  xlsLsa                                    'linha a usar
call Xls_LinInc                                    'incrementar linha

res = XlsLst(liUsa, coDes, xDes$)                  'descricao
res = XlsLst(liUsa, coDeb, vDeb)                   'valor mensal - debito
res = XlsLst(liUsa, coCre, vCre)                   'valor mensal - credito
res = XlsLst(liUsa, coVls, vVls)                   'valor do saldo
res = XlsLst(liUsa, coTps, vTps$)                  'tipo do saldo

'zon$= XlsZon$(liUsa, coXxx, liUsa, coZzz)          'zona
zon$= XlsZonNum$("L", liUsa)                       'zona da linha
'zon$= XlsZon$(liUsa, coNom)                        'zona de celula

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


'- Linha de movimento ---------------------------------------------------------
Sub XlsExt_LinMovPrp 'preparar valores do movimento
xDtl$     = FrmDt$("",MemNum(11))                  'data de lancamento
xDtv$     = FrmDt$("",MemNum(12))                  'data de vencimento
xTdo$     = Memtxt$(10)                            'diario
xNdo$     = FrmNdo$("06",Memtxt$(10),MemTxt$(11))  'documento
xDes$     = MemTxt$(14)                            'descricao
vDeb      = MemNum(21)                             'movimento debito 
vCre      = MemNum(22)                             'movimento credito
vVls      = MemNum(23)                             'valor do saldo
end sub


Sub XlsExt_LinDeb 'linha de valores com saldo devedor
call XlsExt_LinMovPrp                              'preparar valores do movimento
vTps$ = "D"                                        'tipo do saldo

call XlsExt_LinExe                                 'executar listagem da linha
end sub


Sub XlsExt_LinCre 'linha de valores com saldo devedor
call XlsExt_LinMovPrp                              'preparar valores do movimento
vTps$ = "C"                                        'tipo do saldo

call XlsExt_LinExe                                 'executar listagem da linha
end sub


Sub XlsExt_LinExe 'executar listagem da linha
call Xls_LinInc                                    'incrementar linha

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

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

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

res = XlsLst(xlsLsa, coVls, vVls)                  'valor do saldo
res = XlsLst(xlsLsa, coTps, vTps$)                 'tipo do saldo
End sub


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

liTmv = LinFim                                     'linha para totais de movimentos
liLtr = liTmv + 1                                  'linha para saldo de letras
liTge = liLtr + 1                                  'linha para totais gerais

'conta corrente
ccDeb     = MemNum(41)                             'acumulado a debito
ccCre     = MemNum(42)                             'acumulado a credito
ccVls     = MemNum(43)                             'Valor do saldo
ccTps$    = MemTxt$(43)                            'tipo do saldo

'letras
lrVlu     = MemNum(44)                             'valor a usar
lrVls     = abs(lrVlu)                             'valor a listar
if lrVlu < then                                    'saldo credor ?
   lrTps$ = "C"                                    'tipo do saldo
else
   lrTps$ = "D"                                    'tipo do saldo
end if

'total geral
tgVls     = MemNum(45)                             'Valor do saldo
tgTps$    = MemTxt$(45)                            'tipo do saldo


'listar conta corrente
res = XlsLst(liTmv, coDeb, ccDeb)                  'acumulado a debito
res = XlsLst(liTmv, coCre, ccCre)                  'acumulado a credito
res = XlsLst(liTmv, coVls, ccVls)                  'valor do saldo
res = XlsLst(liTmv, coTps, ccTps$)                 'tipo do saldo

'listar letras
res = XlsLst(liLtr, coVls, lrVls)                  'valor do saldo
res = XlsLst(liLtr, coTps, lrTps$)                 'tipo do saldo

'listar total geral
res = XlsLst(liTge, coVls, tgVls)                  'valor do saldo
res = XlsLst(liTge, coTps, tgTps$)                 'tipo do saldo

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

##


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