'Nome       : BalSel.std
'Tipo       : LST
'Data       : 2005/10/20
'Versao     : 2.5
'Descricao  : Balancetes para selados

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0  1998/10/07 ---------------------------------------------------
'versao base

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

'- Versao : 2.1  2003/04/23 ---------------------------------------------------
'Permitir impressao grafica

'- Versao : 2.2  2003/??/?? ---------------------------------------------------
'Wstava a presentar msgbox no inicio da impressao
'Na impressao grafica apresentar o nome da conta completo
'Ajustes graficos

'- Versao : 2.3  2003/11/07 ---------------------------------------------------
'Termo de abertura e encerramento
'Compatibilizacao com alteracoes do programa

'- Versao : 2.4  2004/07/29 ---------------------------------------------------
'Balancete de razao em EXCEL

'- Versao : 2.5  2004/10/15 ---------------------------------------------------
'completar termo de abertura
'Nao apresentava o numero de folhas no termo de encerramento

'- Versao : 2.5a 2005/??/?? ---------------------------------------------------
'correcção ortográfica


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


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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PER
Nome                       [DocNom]=BalPer,Personalizar Folhas

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=197
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Chave para opcoes          [DocEsp]=OpChv=8


'funcoes de listagem
Listar cabecalho            [FxCAB]=Per_Cab
Listar linhas               [FxLIN]=Per_Lin
Listar fim                  [FxFIM]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PER
Nome                       [DocNom]=BalPer_G,Personalizar Folhas

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=197
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Chave para opcoes          [DocEsp]=OpChv=8


'funcoes de listagem
Listar cabecalho            [FxCAB]=PwPer_Cab
Listar linhas               [FxLIN]=PwPer_Lin
Listar fim                  [FxFIM]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=BAL
Nome                       [DocNom]=Sel8_G,Balancete de 8"x

'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
Chave para opcoes          [DocEsp]=OpChv=8

'funcoes de listagem
Listar cabecalho            [FxCAB]=PwBal8_Cab
Listar linhas               [FxLIN]=PwBal8_Lin
Listar fim                  [FxFIM]=PwBal8_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=BAL
Nome                       [DocNom]=Sel8a_G,Com Razão Anterior

'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
Chave para opcoes          [DocEsp]=OpChv=8


'funcoes de listagem
Listar cabecalho            [FxCAB]=PwBal8a_Cab
Listar linhas               [FxLIN]=PwBal8a_Lin
Listar fim                  [FxFIM]=PwBal8a_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Bal
Nome                       [DocNom]=Sel8,Balancete de 8"

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


'funcoes de listagem
Listar cabecalho            [FxCAB]=Bal8_Cab
Listar linhas               [FxLIN]=Bal8_Lin
Listar fim                  [FxFIM]=Bal8_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Bal
Nome                       [DocNom]=Sel8a,Com Razão Anterior

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


'funcoes de listagem
Listar cabecalho            [FxCAB]=Bal8a_Cab
Listar linhas               [FxLIN]=Bal8a_Lin
Listar fim                  [FxFIM]=Bal8a_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Bal
Nome                       [DocNom]=Sel13,Balancete de 13"

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Chave para opcoes          [DocEsp]=OpChv=13


'funcoes de listagem
Listar cabecalho            [FxCAB]=Bal13_Cab
Listar linhas               [FxLIN]=Bal13_Lin
Listar fim                  [FxFIM]=Bal13_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=TRM
Nome                       [DocNom]=abr,Termo de abertura

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Chave para opcoes          [DocEsp]=OpChv=8

'funcoes de listagem
Listar cabecalho            [FxCAB]=
Listar linhas               [FxLIN]=Abr_Lin
Listar fim                  [FxFIM]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=TRM
Nome                       [DocNom]=abr_G,Termo de abertura

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=50
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Chave para opcoes          [DocEsp]=OpChv=8


'funcoes de listagem
Listar cabecalho            [FxCAB]=
Listar linhas               [FxLIN]=PwAbr_Lin
Listar fim                  [FxFIM]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=TRM
Nome                       [DocNom]=fec,Termo de encerramento

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Chave para opcoes          [DocEsp]=OpChv=8


'funcoes de listagem
Listar cabecalho            [FxCAB]=
Listar linhas               [FxLIN]=fec_Lin
Listar fim                  [FxFIM]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=TRM
Nome                       [DocNom]=fec_G,Termo de encerramento

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=50
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Chave para opcoes          [DocEsp]=OpChv=8


'funcoes de listagem
Listar cabecalho            [FxCAB]=
Listar linhas               [FxLIN]=pwfec_Lin
Listar fim                  [FxFIM]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=BAL
Nome                       [DocNom]=Bal_XLS,Balancete do Razão (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]=XlsBal
Listar cabecalho            [FxCAB]=XlsBal_Cab
Listar linhas               [FxLIN]=XlsBal_Lin
'Listar linhas               [FxLIN]=XlsBal_Lin,0;  Deb,0 ; Cre,0 ; Cla,0
Listar fim                  [FxFIM]=XlsBal_Fim

Matriz auxiliar            [DocMat]=BalSelRz.Xls
##


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


'==============================================================================
#VAR - Variaveis
'==============================================================================
DataBal  = FrmVal$(Sig_DtHoje,45,0)
Pag      = "Folha No: "+Doc_CntPag
Per      = Memtxt$(2)+" - Contribuinte No."+ MemTxt$(3)
Tit      = MemTxt$(1)

'descricao da empresa 
firma      = Emp_Inf_Nome$
morada     = Emp_Inf_Morada$
localidade = Emp_Inf_Local$
cpost      = Emp_Inf_Cpost$
nif        = Emp_Inf_Contrib$
empresacrc = Emp_Inf_NumReg$
empresaCae = Emp_Inf_Cae$
dataCri    = FrmVal$(Emp_Inf_DtConst,44,0)
titulo     = MemTxt$(1)
EmpCapSoc= FrmVal$(Emp_Inf_CapSoc,21,10.2)
folhas     = frmval$(MemNum(6),21,4.0)+" folhas"

DataHoje  = Emp_Inf_Local$+" em "+FrmVal$(Sig_DtHoje,45,0)

Ct       = Cta_Mst_Ct$
Nome     = left$(Cta_Mst_Nome$,27)
NomeC    = left$(cta_Mst_Nome$,30)


'balancete de 13 polegadas
'valores
Mes_D      = FrmMoe$("Z=E",19,MemNum(10))
Mes_C      = FrmMoe$("Z=E",19,MemNum(11))
Rza_Ant_D  = FrmMoe$("Z=E",19,MemNum(20))
Rza_Ant_C  = FrmMoe$("Z=E",19,MemNum(21))
Rza_Act_D  = FrmMoe$("Z=E",19,MemNum(30))
Rza_Act_C  = FrmMoe$("Z=E",19,MemNum(31))
Bal_D      = FrmMoe$("Z=E",19,MemNum(40))
Bal_C      = FrmMoe$("Z=E",19,MemNum(41))

'totais
TMes_D     = FrmMoe$("Z=E",19,MemNum(12))
TMes_C     = FrmMoe$("Z=E",19,MemNum(13))
TRza_Ant_D = FrmMoe$("Z=E",19,MemNum(22))
TRza_Ant_C = FrmMoe$("Z=E",19,MemNum(23))
TRza_Act_D = FrmMoe$("Z=E",19,MemNum(32))
TRza_Act_C = FrmMoe$("Z=E",19,MemNum(33))
TBal_D     = FrmMoe$("Z=E",19,MemNum(42))
TBal_C     = FrmMoe$("Z=E",19,MemNum(43))

'balancete de 8 polegadas
'valores
Mes_D8     = FrmMoe$("Z=E",14,MemNum(10))
Mes_C8     = FrmMoe$("Z=E",14,MemNum(11))
Rza_Ant_D8 = FrmMoe$("Z=E",14,MemNum(20))
Rza_Ant_C8 = FrmMoe$("Z=E",14,MemNum(21))
Rza_Act_D8 = FrmMoe$("Z=E",15,MemNum(30))
Rza_Act_C8 = FrmMoe$("Z=E",15,MemNum(31))
Bal_D8     = FrmMoe$("Z=E",15,MemNum(40))
Bal_C8     = FrmMoe$("Z=E",15,MemNum(41))

'totais
TMes_D8    = FrmMoe$("Z=E",14,MemNum(12))
TMes_C8    = FrmMoe$("Z=E",14,MemNum(13))
TRza_Ant_D8= FrmMoe$("Z=E",14,MemNum(22))
TRza_Ant_C8= FrmMoe$("Z=E",14,MemNum(23))
TRza_Act_D8= FrmMoe$("Z=E",15,MemNum(32))
TRza_Act_C8= FrmMoe$("Z=E",15,MemNum(33))
TBal_D8    = FrmMoe$("Z=E",15,MemNum(42))
TBal_C8    = FrmMoe$("Z=E",15,MemNum(43))
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
Sub FxIni
Call SigLstIni
end sub


SUB Lst_AJT
'
end sub


'==============================================================================
'TXT - Impressao texto
'==============================================================================
'- Personalizacao para folhas -------------------------------------------------
Sub Per_Cab
call AjtCab
print PrtCmd$("[16CPILD]");
if MemNum(1)>=0 then 
  Print tab(MemNum(1)) "Folha No: "+MemNum(5)
end if
print PrtCmd$("[16CPILD]");
print tab(MemNum(2)) Memtxt$(2)+" - Contribuinte No."+ MemTxt$(3)
print PrtCmd$("[16CPILD]");
print tab(MemNum(3)) MemTxt$(1)
print
print PrtCmd$("[SP]");
end sub


Sub AjtCab 'ajustar posicao de cabecalho
for n=1 to MemNum(4)
?
next
end sub


'- Balancete de 13 polegadas --------------------------------------------------
SUB Bal13_Cab
call AjtCab
print PrtCmd$("[16CPILD]");
?                                                        @DataBal                                                               #
print PrtCmd$("[16CPILN]");
?----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
?|                                  |                   DIARIO              |                                     RAZAO                                     |              BALANCETE                |
?----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
?|                                  |           Movimento do Mes                     Acumulados Anteriores          |          Acumulados Actuais           |                Saldos                 |
?|           Conta                  |       Debito             Credito      |     Debito             Credito        |     Debito             Credito        |     Debito             Credito        |
?----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'print string$(220,"#")+"<"
End sub


Sub Bal13_Lin
?|@Ct @Nome                         |@Mes_D             |@Mes_C             |@Rza_Ant_D         |@Rza_Ant_C         |@Rza_Act_D         |@Rza_Act_C         |@Bal_D             |@Bal_C             |
End Sub


Sub Bal13_Fim
?====================================================================================================================================================================================================
?|         TOTAL                    |@TMes_D            |@TMes_C            |@TRza_Ant_D        |@TRza_Ant_C        |@TRza_Act_D        |@TRza_Act_C        |@TBal_D            |@TBal_C            |
?====================================================================================================================================================================================================
FxDiv LstPer,SP
end sub


'- Balancete de 8 polegadas c/ razão anterior------------------------------------------------------
SUB Bal8a_Cab
call AjtCab
print PrtCmd$("[16CPILD]");
?                                                        @DataBal                                                               #
print PrtCmd$("[16CPILN]");
?------------------------------------------------------------------------------------------------------------------------------------------------------------
?|                                  |                   DIARIO              |                                     RAZAO                                     |
?------------------------------------------------------------------------------------------------------------------------------------------------------------
?|                                  |           Movimento do Mes                     Acumulados Anteriores          |          Acumulados Actuais           |
?|           Conta                  |       Debito             Credito      |     Debito             Credito        |     Debito             Credito        |
?------------------------------------------------------------------------------------------------------------------------------------------------------------
'print string$(220,"#")+"<"
End sub


Sub Bal8a_Lin
?|@Ct @Nome                         |@Mes_D             |@Mes_C             |@Rza_Ant_D         |@Rza_Ant_C         |@Rza_Act_D         |@Rza_Act_C         |
End Sub


Sub Bal8a_Fim
?============================================================================================================================================================
?|         TOTAL                    |@TMes_D            |@TMes_C            |@TRza_Ant_D        |@TRza_Ant_C        |@TRza_Act_D        |@TRza_Act_C        |
?============================================================================================================================================================
'print PrtCmd$("[SP]");
FxDiv LstPer,SP
end sub


'- Balancete de 8 polegadas ---------------------------------------------------
SUB Bal8_Cab
call AjtCab
print PrtCmd$("[16CPILN]");
?                                                                                                    @DataBal                       #
?------------------------------------------------------------------------------------------------------------------------------------
?|                              |            DIARIO             |             RAZAO               |              SALDO              |
?------------------------------------------------------------------------------------------------------------------------------------
?|           Conta              |    Debito     |   Credito     |    Debito      |    Credito     |     Debito     |    Credito     |
?------------------------------------------------------------------------------------------------------------------------------------
'print string$(132,"#")+"<"
End sub


Sub Bal8_Lin
?|@Ct@Nome                      |@Mes_D8        |@Mes_C8        |@Rza_Act_D8     |@Rza_Act_C8     |@Bal_D8         |@Bal_C8         |
End Sub  


Sub Bal8_Fim
?====================================================================================================================================
?|         TOTAL                |@TMes_D8       |@TMes_C8       |@TRza_Act_D8    |@TRza_Act_C8    |@TBal_D8        |@TBal_C8        |
?====================================================================================================================================
print PrtCmd$("[SP]");
end sub


'==============================================================================
'#GRF - IMPRESSAO EM MODO GRAFICO
'==============================================================================
Sub PwLstPrp
EspLin=5                                 'entrelinha
EspCol=1                                 'espaco colunas
Inicio=MemNum(4)*EspLin                  'inicio escrita
'fx=msgbox("inicio",inicio)
end sub


'- Personalizacao para folhas -------------------------------------------------
Sub PwPer_Cab
Call PwLstPrp
prwin Ajt_B , 0 , 0
Col=5
PrWin FON,10                                       'tamanho fonte
PrWin COR_T ,  0


if MemNum(1)>=0 then                               'escreve numero de folha
   Texto$="Folha No: "+MemNum(5)                   'gerar texto
   PrWin Tx_N, MemNum(1)*EspCol,Inicio,Texto$      'escreve texto
   inicio=inicio+EspLin
end if

Texto$=Memtxt$(2)+" - Contribuinte No. "+ MemTxt$(3)
PrWIN GR_LI, 2, Inicio-1, MargemD, inicio-1        'linha
PrWin TX_N,MemNum(2)*EspCol,Inicio,Texto$
Inicio=Inicio+(EspLin*2)
PrWin FON,"BOLD+"
PrWin TX_N,MemNum(3)*EspCol,Inicio,MemTxt$(1)
PrWin FON,"BOLD-"
PrWin FP
end sub


'- Balancete de 8 polegadas ---------------------------------------------------
SUB PwBal8_Cab
call PwLstPrp

PrWIN FON  ,    9                                  'activar fonte

PrWIN AJT_B,  Margem, Inicio                       'posicao base
PrWIN TX_N, 150,0,@DataBal
PrWIN COR_T,CorTraco                               'cor de linhas
PrWIN AJT_B,  Margem, Inicio+5                     'posicao base

Lin1=1
Lin2=5

esp=20
Col1=0
Col2=78
Col3=col2+(esp*1)
Col4=col2+(esp*2)
Col5=col2+(esp*3)
Col6=col2+(esp*4)
Col7=col2+(esp*5)
Col8=Col2+(esp*6)                                 'coluna maxima

MargemD=Margem+178

PrWIN GR_LI, 0, 0, MargemD, 0                     'linha
PrWIN GR_LI, 0, 9, MargemD, 9                     'linha

PrWin COR_T ,  CorTitLst
PrWIN TX_CTR, Col1,Lin2,Col2,Lin2 ,"Conta"

Ajt=esp/2
PrWIN TX_N, Col2+Ajt,Lin1,"DIARIO"
PrWIN TX_N, Col2,Lin2,"Débito"
PrWIN TX_N, Col3,Lin2,"Crédito"

PrWIN TX_N, Col4+Ajt,Lin1,"Razão"
PrWIN TX_N, Col4,Lin2,"Débito"
PrWIN TX_N, Col5,Lin2,"Crédito"

PrWIN TX_N, Col6+Ajt,Lin1,"Saldo"
PrWIN TX_N, Col6,Lin2,"Débito"
PrWIN TX_N, Col7,Lin2,"Crédito"

PrWin COR_T ,  CorLin
PrWIN FON  ,    7                                  'activar fonte
InicioEscrita=Inicio+10
End sub


Sub PwBal8_Lin
PrWIN AJT_B,  Margem, InicioEscrita+Doc_CntLin*5                 'posicao base
Ajt=10
PrWIN TX_N,  Col1   ,0 ,@Ct
PrWIN TX_N,  Col1+4,0 ,cta_mst_Nome$
PrWIN TX_NP,  Col2-Ajt,0 ,"N"   ,@Mes_D8
PrWIN TX_NP,  Col3-Ajt,0 ,"N"   ,@Mes_C8
PrWIN TX_NP,  Col4-Ajt,0 ,"N"   ,@Rza_Act_D8 
PrWIN TX_NP,  Col5-Ajt,0 ,"N"   ,@Rza_Act_C8 
PrWIN TX_NP,  Col6-Ajt,0 ,"N"   ,@Bal_D8   
PrWIN TX_NP,  Col7-Ajt,0 ,"N"   ,@Bal_C8
End Sub  


Sub PwBal8_Fim
Lin=0                                          'linha 1 de texto
Lin2=3                                         'linha 2 de texto

PrWIN AJT_B,  Margem, LinPer-13                'posicao base
PrWIN COR_T,CorTraco                           'cor de linhas
PrWIN GR_LI, 0, 0, MargemD, 0                  'linha
PrWIN GR_LI, 0, 4, MargemD, 4                  'linha

PrWIN COR_T,  CorTotGer
PrWIN TX_N, Col1+10,Lin ,"TOTAIS"

PrWIN TX_NP, Col2-Ajt,Lin,"N",@TMES_D8
PrWIN TX_NP, Col3-Ajt,Lin,"N",@TMes_C8
PrWIN TX_NP, Col4-Ajt,Lin,"N",@TRza_Act_D8
PrWIN TX_NP, Col5-Ajt,Lin,"N",@TRza_Act_C8 
PrWIN TX_NP, Col6-Ajt,Lin,"N",@TBal_D8 
PrWIN TX_NP, Col7-Ajt,Lin,"N",@TBal_C8    

PrWin FP
end sub


'- Balancete de 8 polegadas c/ razão anterior ---------------------------------
SUB PwBal8a_Cab
call PwLstPrp

PrWIN FON  ,    9                                  'activar fonte

PrWIN AJT_B,  Margem, Inicio                       'posicao base
PrWIN TX_N, 150,0,@DataBal
PrWIN COR_T,CorTraco                               'cor de linhas
PrWIN AJT_B,  Margem, Inicio+5                     'posicao base

Lin1=1
Lin2=5

esp=20
Col1=0
Col2=78
Col3=col2+(esp*1)
Col4=col2+(esp*2)
Col5=col2+(esp*3)
Col6=col2+(esp*4)
Col7=col2+(esp*5)
Col8=Col2+(esp*6)                                 'coluna maxima

MargemD=Margem+178

PrWIN GR_LI, 0, 0, MargemD, 0                     'linha
PrWIN GR_LI, 0, 9, MargemD, 9                     'linha

PrWin COR_T ,  CorTitLst
PrWIN TX_CTR, Col1,Lin2,Col2,Lin2 ,"Conta"

Ajt=esp/2
PrWIN TX_N, Col2+Ajt,Lin1,"DIÁRIO"
PrWIN TX_N, Col2,Lin2,"Débito"
PrWIN TX_N, Col3,Lin2,"Crédito"

PrWIN TX_N, Col4+Ajt-12,Lin1,"RAZÃO-MOV. ANTERIOR"
PrWIN TX_N, Col4,Lin2,"Débito"
PrWIN TX_N, Col5,Lin2,"Crédito"

PrWIN TX_N, Col6+Ajt-12,Lin1,"RAZÃO-MOV. GERAL"
PrWIN TX_N, Col6,Lin2,"Débito"
PrWIN TX_N, Col7,Lin2,"Crédito"

PrWin COR_T ,  CorLin
PrWIN FON  ,    7                                  'activar fonte
InicioEscrita=Inicio+10
End sub


Sub PwBal8a_Lin
PrWIN AJT_B,  Margem, InicioEscrita+Doc_CntLin*5                 'posicao base
Ajt=10
PrWIN TX_N,  Col1   ,0 ,@Ct
PrWIN TX_N,  Col1+4,0 ,cta_mst_Nome$
PrWIN TX_NP,  Col2-Ajt,0 ,"N"   ,@Mes_D8
PrWIN TX_NP,  Col3-Ajt,0 ,"N"   ,@Mes_C8
PrWIN TX_NP,  Col4-Ajt-5,0 ,"N"   ,@Rza_Ant_D
PrWIN TX_NP,  Col5-Ajt-5,0 ,"N"   ,@Rza_Ant_C
PrWIN TX_NP,  Col6-Ajt,0 ,"N"   ,@Rza_Act_D8
PrWIN TX_NP,  Col7-Ajt,0 ,"N"   ,@Rza_Act_C8
End Sub  


Sub PwBal8a_Fim
Lin=0                                          'linha 1 de texto
Lin2=3                                         'linha 2 de texto

PrWIN AJT_B,  Margem, LinPer-13                'posicao base
PrWIN COR_T,CorTraco                           'cor de linhas
PrWIN GR_LI, 0, 0, MargemD, 0                  'linha
PrWIN GR_LI, 0, 4, MargemD, 4                  'linha

PrWIN COR_T,  CorTotGer
PrWIN TX_N, Col1+10,Lin ,"TOTAIS"

PrWIN TX_NP, Col2-Ajt,Lin,"N",@TMES_D8
PrWIN TX_NP, Col3-Ajt,Lin,"N",@TMes_C8
PrWIN TX_NP, Col4-Ajt-5,Lin,"N",@TRza_Ant_D
PrWIN TX_NP, Col5-Ajt-5,Lin,"N",@TRza_Ant_C
PrWIN TX_NP, Col6-Ajt,Lin,"N",@TRza_Act_D8
PrWIN TX_NP, Col7-Ajt,Lin,"N",@TRza_Act_C8

PrWin FP
end sub


Sub Abr_Lin
?
?
?
?
?
?
?
Print PrtCmd$("[10CPILN]");
?-----------------------------------------------------------------------------
?
?
?                             IDENTIFICAÇÂO DA EMPRESA
?                       -----------------------------------
?
?
?
?Firma       @firma                                                         #
?
?Morada      @morada                                                        #
?
?Localidade  @localidade                                                    #
?                                      @cpost                               #
?C.A.E.      @empresacae                                                    #
?
?C.R.C       @empresacrc                                                    #
?
?Data da Constituição  @datacri                                #
?  
?N.I.F.      @nif                                     #
?
?Cap. Social @empcapsoc                                  #
?
?
?-----------------------------------------------------------------------------
?
?                 --------------------------------------------
?                 |                                          |
?                 |             TERMO DE ABERTURA            |
?                 |                                          |
?                 --------------------------------------------
?
?
?                 Há-de este livro servir para a escrituração de
?                 @Titulo                                                     #
?
?                 Para a firma:
?                 @firma                                                      #
?
?                 Matriculada na:
?                 @empresacrc                                                #
?
?
?                 Leva no fim o termo de encerramento.
?
?
?
?
?
?  @DataHoje                                                   #
?  A Gerência:         #
?
?
Print PrtCmd$("[SP]");
end sub


Sub PwAbr_Lin
EspLin=5
MeiaLin=2

Col1=10
Col2=30

PrWIN AJT_B,  Margem, 35                 'posicao base
PrWIN COR_T,  CorLin

Prwin FON, 11
PrWin FON, "BOLD+"
col=65
PrWIN TX_N, col,0 ,"IDENTIFICAÇÂO DA EMPRESA"
PrWIN GR_LI, col, 5, col+57, 5                     'linha
PrWin FON, "BOLD-"
Prwin FON, 10

lin=20
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"Firma"
PrWin FON, "BOLD-"
PrWIN TX_N, Col2,lin ,@firma

lin=lin+esplin
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"Morada"
PrWin FON, "BOLD-"
PrWIN TX_N, Col2,lin ,@morada

lin=lin+esplin
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"Localidade"
PrWin FON, "BOLD-"
PrWIN TX_N, Col2,lin ,@localidade
lin=lin+esplin
PrWIN TX_N, Col2+80,lin ,@cpost

lin=lin+esplin
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"C.A.E."
PrWin FON, "BOLD-"
PrWIN TX_N, Col2,lin ,@empresacae

lin=lin+esplin
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"C.R.C"
PrWin FON, "BOLD-"

PrWIN TX_N, Col2,lin ,@empresacrc


lin=lin+esplin
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"Data da constituição"
PrWin FON, "BOLD-"

PrWIN TX_N, Col2+20,lin ,@dataCri

lin=lin+esplin
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"N.I.F."
PrWin FON, "BOLD-"

PrWIN TX_N, Col2,lin ,@nif

lin=lin+esplin
PrWin FON, "BOLD+"
PrWIN TX_N, Col1,lin ,"Cap.Social"
PrWin FON, "BOLD-"

PrWIN TX_N, Col2,lin ,@EmpCapSoc



PrWIN AJT_B,  Margem, 150                 'posicao base
Prwin FON, 11
PrWin FON, "BOLD+"
col=col+5
PrWIN TX_N, col,0 ,"TERMO DE ABERTURA"
PrWIN GR_LI, col, 5, col+45, 5                     'linha
PrWin FON, "BOLD-"
Prwin FON, 10

lin=20
PrWIN TX_N, Col2,lin ,"Há-de este livro servir para a escrituração de"
lin=lin+EspLin
PrWin FON, "BOLD+"
PrWIN TX_N, Col2,lin ,@Titulo
PrWin FON, "BOLD-"


lin=lin+EspLin+EspLin
PrWIN TX_N, Col2,lin ,"Para a firma:"
lin=lin+EspLin
PrWin FON, "BOLD+"
PrWIN TX_N, Col2,lin ,@firma
PrWin FON, "BOLD-"

lin=lin+EspLin+EspLin
PrWIN TX_N, Col2,lin ,"Matriculada na:"
lin=lin+EspLin
PrWin FON, "BOLD+"
PrWIN TX_N, Col2,lin ,@empresacrc

PrWin FON, "BOLD-"

lin=lin+EspLin+EspLin
PrWIN TX_N, Col2,lin ,"Leva no fim o termo de encerramento"


lin=lin+(EspLin*4)
PrWIN TX_N, Col2,lin ,@DataHoje
lin=lin+EspLin
PrWIN TX_N, Col2,lin ,"A Gerência :"
PrWin FP
end sub


Sub Fec_Lin
?
?
?
?
?
?
?
Print PrtCmd$("[10CPILN]");
?
?
?
?
?
?
?-----------------------------------------------------------------------------
?
?              --------------------------------------------------
?              |                                                |
?              |             TERMO DE ENCERRAMENTO              |
?              |                                                |
?              --------------------------------------------------
?
?
?              Tem este livro um total de :@Folhas           #
?              todas numeradas e por nós rubricadas
?              com a rúbrica que usamos.
?
?              @DataHoje                                        #            
?              A Gerência
?
?       
?
?
?              Imposto de Selo pago por Guia.
?              Liquidação N.                  Art. 13 da T.G.I.S. #
?
?              _______________ em ___ de _______________ de _____
?
?              Registo N.
?
?
?
?
?
?
?
Print PrtCmd$("[SP]");
end sub


Sub PwFec_Lin
PrWIN AJT_B,  Margem, 60                 'posicao base
PrWIN COR_T,  CorLin

Prwin FON, 11
PrWin FON, "BOLD+"
col=60
PrWIN TX_N, col,0 ,"TERMO DE ENCERRAMENTO"
PrWIN GR_LI, col, 5, col+57, 5                     'linha
PrWin FON, "BOLD-"
Prwin FON, 10

lin=20
PrWIN TX_N, Col2,lin ,"Tem este livro um total de :"
PrWIN TX_N, Col2+48,lin ,@folhas
lin=lin+esplin
PrWIN TX_N, Col2,lin ,"todas numeradas e por nós rubricadas"
lin=lin+esplin
PrWIN TX_N, Col2,lin ,"com a rúbrica que usamos"
lin=lin+esplin
lin=lin+esplin
PrWIN TX_N, Col2,lin ,@DataHoje
lin=lin+esplin
PrWIN TX_N, Col2,lin ,"A Gerência"

lin=lin+(Esplin*15)

PrWIN TX_N, Col2,lin ,"Imposto de Selo pago por Guia"
lin=lin+esplin
PrWIN TX_N, Col2,lin ,"Liquidação N."
PrWIN TX_N, Col2+80,lin ,"Art. 13 da T.G.I.S."
lin=lin+esplin
lin=lin+esplin
PrWIN TX_N, Col2,lin ,"_________________  em ____ de ______________________de _______"
lin=lin+esplin
PrWIN TX_N, Col2,lin ,"Registo N."
End sub


'==============================================================================
'XLS - Funcoes comuns
'==============================================================================
Sub Xls_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
nfi$ = "RND:BalSel.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

'res = XlsDocCri("")                                'criar documento
end sub


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

'res = XlsWks(1)                                    'activar worksheet

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

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


'-----------------------------------------------------------------------------
' Listagem para EXCEL
'-----------------------------------------------------------------------------
Sub XlsBal_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsBal_Prep                                   'preparar
call XlsBal_Cab                                    'cabecalho
end sub


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

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


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

'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

'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 = XlsIdePsq("PO_BAS")                          'pesquisar posicao base
linBav = XlsIdePsqRes("L")                         'linha da posicao base

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


Sub XlsBal_Cab 'cabecalho
empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
empNif$ = Emp_Inf_Contrib$                         'nif da empresa

lstTit$ = MemTxt$(1)                               'titulo da listagem
lstTip$ = MemTxt$(2)                               'tipo da listagem
lstDt$  = FrmDt$("EXT", Sig_DtHoje)                'data para listagem

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

res = XlsIdeLst("Lst_Tit",  lstTit$)               'tipo da listagem
res = XlsIdeLst("Lst_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data
end sub


Sub XlsBal_Lin 'linha de valores com saldo credor
cod$ = Cta_Mst_Ct$                                 'codigo
ide$ = Cta_Mst_Nome$                               'identificacao

vmDeb = MemNum(10)                                 'mes - debito
vmCre = MemNum(11)                                 'mes - credito

vaDeb = MemNum(30)                                 'acumulado - debito
vaCre = MemNum(31)                                 'acumulado - credito

saValD= MemNum(40)                                 'saldo acumulado db - valor
saValC= MemNum(41)                                 'saldo acumulado cr - valor

call XlsBal_LinExe                                 'executar listagem da linha
end sub


Sub XlsBal_LinExe 'executar listagem da linha
res = XlsLinIns(xlsLin, 1)                         'juntar linha

res = XlsLst(xlsLin, 2, cod$)                      'codigo
res = XlsLst(xlsLin, 3, ide$)                      'identificacao

res = XlsLst(xlsLin, 4, vmDeb)                     'valor mensal - debito
res = XlsLst(xlsLin, 5, vmCre)                     'valor mensal - credito

res = XlsLst(xlsLin, 6, vaDeb)                     'valor mensal - debito
res = XlsLst(xlsLin, 7, vaCre)                     'valor mensal - credito

res = XlsLst(xlsLin, 8, saValD)                    'saldo acumulado db - valor
res = XlsLst(xlsLin, 9, saValC)                    'saldo acumulado cr - valor

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


Sub XlsBal_TotGer 'linhas de totais gerais
cod$ = ""                                          'codigo

'ideDeb$ = "Total a Débito:"                        'identificacao
'ideCre$ = "Total a Crédito:"                       'identificacao

vmDeb = MemNum(012)                                'mes - debito
vmCre = MemNum(013)                                'mes - credito

vaDeb = MemNum(032)                                'acumulado - debito
vaCre = MemNum(033)                                'acumulado - credito

saDeb = MemNum(042)                                'saldo acumulado - debito
saCre = MemNum(043)                                'saldo acumulado - credito

res = XlsLst(xlsLin, 4, vmDeb)                     'valor mensal
res = XlsLst(xlsLin, 5, vmCre)                     'valor mensal
res = XlsLst(xlsLin, 6, vaDeb)                     'valor acumulado
res = XlsLst(xlsLin, 7, vaCre)                     'valor acumulado
res = XlsLst(xlsLin, 8, saDeb)                     'saldo acumulado
res = XlsLst(xlsLin, 9, saCre)                     'saldo acumulado
end sub


Sub XlsBal_Fim 'terminar
xlsLin = xlsLin + 2                                'ajustar linha para totais
call XlsBal_TotGer                                 'listar totais gerais

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

##


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