'Nome       : BALCCU.STD
'Tipo       : LST
'Data       : 2000/12/12
'Versao     : 2.0a
'Descricao  : Balancete centros de custo (1 linha e 3 linhas)

'------------------------------------------------------------------------------
'#VER - Historia de modificacoes
'------------------------------------------------------------------------------
'- Versao : 1.0  1998/11/23 ---------------------------------------------------
'versao base

'- Versao : 2.0  2000/02/16 ---------------------------------------------------
'Usar numero de decimais da moeda da empresa
'Alteracao de aspecto do balancete

'- Versao : 2.0a  2000/??/?? ---------------------------------------------------
'Impressao em modo grafico, alterado radicais das funcoes de listagem



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


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


'-----------------------------------------------------------------------------
' Configuracao do documento
'-----------------------------------------------------------------------------
#DOC
Tipo                       [DocTip]=BalCc
Nome                       [DocNom]=Bal1L,Balancete 1 linha

'formato
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_Cab1
Listar linhas               [FxLIN]=TX_Lin1; Deb ; Cre
Listar fim                  [FxFIM]=TX_Fim1
##


#DOC
Tipo                       [DocTip]=BalCc
Nome                       [DocNom]=Bal3L,Balancete 3 linhas

'formato
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_Cab3
Listar linhas               [FxLIN]=TX_Lin3,4
Listar fim                  [FxFIM]=TX_Fim3
##


'------------------------------------------------------------------------------
'Impressao grafica
'------------------------------------------------------------------------------
#DOC
Tipo                       [DocTip]=BalCc
Nome                       [DocNom]=Bmg1L_G,Balancete de uma linha

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=PW_Cab1
Listar linhas               [FxLIN]=PW_Lin1; Deb ; Cre
Listar fim                  [FxFIM]=PW_Fim1
##

'-----------------------------------------------------------------------------
' Variaveis
'-----------------------------------------------------------------------------
#VAR
'MemTxt$(1)    - titulo
'MemTxt$(2)    - numero do centro de custo
'MemTxt$(3)    - identificacao do centro de custo (nome da conta)
'MemTxt$(11)   - tipo do saldo (D/C)

'MemNum(1)     - digitos de centro de custo
'MemNum(2)     - digitos de radical+numero de centro de custo (90xxxx)
'MemNum(3)     - digito inicial da conta da geral (MemNum(2)+1)

'periodo anterior
'MemNum(11)    - debito
'MemNum(12)    - credito
'MemNum(13)    - saldo devedor ou zero
'MemNum(14)    - saldo credor  ou zero
'MemNum(15)    - saldo

'valores do mes
'MemNum(21)    - debito
'MemNum(22)    - credito
'MemNum(23)    - saldo devedor ou zero
'MemNum(24)    - saldo credor  ou zero
'MemNum(25)    - saldo

'periodo actual
'MemNum(31)    - debito
'MemNum(32)    - credito
'MemNum(33)    - saldo devedor ou zero
'MemNum(34)    - saldo credor  ou zero
'MemNum(35)    - saldo

'totais - periodo anterior
'MemNum(51)    - debito
'MemNum(52)    - credito
'MemNum(53)    - saldo devedor ou zero
'MemNum(54)    - saldo credor  ou zero
'MemNum(55)    - saldo

'totais - do mes
'MemNum(61)    - debito
'MemNum(62)    - credito
'MemNum(63)    - saldo devedor ou zero
'MemNum(64)    - saldo credor  ou zero
'MemNum(65)    - saldo

'totais - periodo actual
'MemNum(71)    - debito
'MemNum(72)    - credito
'MemNum(73)    - saldo devedor ou zero
'MemNum(74)    - saldo credor  ou zero
'MemNum(75)    - saldo


Pag     = Doc_CntPag
'Cnt     = FrmVal$(CntAux(1),21,4)
DataExt = FrmVal$(Sig_DtHoje,45,0)
Titulo  = TxTit$("TT=16CPI, LD, PT=65C, TL=10CPI",MemTxt$(1))
CcuIde  = TxTit$("TT=16CPI, LD, PT=65C, TL=10CPI",MemTxt$(2)+" - "+MemTxt$(3))

Ct      = Cta_Mst_Ct$
CtGer   = mid$(Cta_Mst_Ct$,MemNum(3))
'CtGer   = MemTxt$(12)
RadCcu  = left$(Cta_Mst_Ct$,MemNum(2))

CtB3    = left$(Cta_Mst_Ct$,MemNum(2))+" "+mid$(Cta_Mst_Ct$,MemNum(3))
RadCcuB3= left$(Cta_Mst_Ct$,2)+" "+mid$(Cta_Mst_Ct$,3,MemNum(1))

Nome    = left$(Cta_Mst_Nome$,29)
Nome3   = left$(Cta_Mst_Nome$,38)
DataBal  = MemTxt$(5)
TitPer   = MemTxt$(6)

'periodo anterior
AntDeb  = FrmMoe$("",16,MemNum(11))
AntCre  = FrmMoe$("",16,MemNum(12))
AntDeS  = FrmMoe$("",16,MemNum(13))
AntCrS  = FrmMoe$("",16,MemNum(14))
AntSal  = FrmMoe$("",16,MemNum(15))

'valores do mes
MesDeb  = FrmMoe$("",16,MemNum(21))
MesCre  = FrmMoe$("",16,MemNum(22))
MesDeS  = FrmMoe$("",16,MemNum(23))
MesCrS  = FrmMoe$("",16,MemNum(24))
MesSal  = FrmMoe$("",16,MemNum(25))

'periodo actual
ActDeb  = FrmMoe$("",16,MemNum(31))
ActCre  = FrmMoe$("",16,MemNum(32))
ActDeS  = FrmMoe$("",16,MemNum(33))
ActCrS  = FrmMoe$("",16,MemNum(34))
ActSal  = FrmMoe$("",16,abs(MemNum(35)))

'saldo
SalDeb  = FrmMoe$("",17,MemNum(33))+" D"
SalCre  = FrmMoe$("",17,MemNum(34))+" C"
S       = MemTxt$(11)


'totais
AntDebT  = FrmMoe$("",17,MemNum(51))
AntCreT  = FrmMoe$("",17,MemNum(52))
AntDeST  = FrmMoe$("",17,MemNum(53))
AntCrST  = FrmMoe$("",17,MemNum(54))

MesDebT  = FrmMoe$("",17,MemNum(61))
MesCreT  = FrmMoe$("",17,MemNum(62))
MesDeST  = FrmMoe$("",17,MemNum(63))
MesCrST  = FrmMoe$("",17,MemNum(64))

ActDebT  = FrmMoe$("",17,MemNum(71))
ActCreT  = FrmMoe$("",17,MemNum(72))
ActDeST  = FrmMoe$("",17,MemNum(73))
ActCrST  = FrmMoe$("",17,MemNum(74))

SalDebT  = FrmMoe$("",17,MemNum(73))+"D"
SalCreT  = FrmMoe$("",17,MemNum(74))+"C"
##



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


'- Balancete de 1 linha ------------------------------------------------------
SUB TX_Cab1
Print PrtCmd$("[16CPILN]");
FxDiv LstIde,16CPI,0
?@Titulo                                                                                                                            #
?@CcuIde                                                                                                                            #
Print PrtCmd$("[16CPILN]");
?Data: @DataExt                                                                                                        Folha No: @Pag 
?====================================================================================================================================
?                                                     Movimento do Mes                Acumulados Actuais               Saldo        #
?   Conta           Nome                           Debito          Credito         Debito          Credito        Devedor / Credor  #
?====================================================================================================================================
end sub


SUB TX_Lin1Deb
?@CtGer        @Nome                        |@MesDeb         |@MesCre         |@ActDeb         |@ActCre         |@SalDeb            #
end sub


SUB TX_Lin1Cre
?@CtGer        @Nome                        |@MesDeb         |@MesCre         |@ActDeb         |@ActCre         |  @SalCre          #
end sub


SUB TX_Fim1
?====================================================================================================================================
?  Total debito                              @MesDebT                          @ActDebT                          @SalDebT           #
?  Total credito                                              @MesCreT                          @ActDebT           @SalCreT         #
?====================================================================================================================================
'Print PrtCmd$("[SP]");
FxDiv LstPer,SP
end sub


'- Balancete de 3 linhas -----------------------------------------------------
SUB TX_Cab3
FxDiv LstIde,16CPI,0
?@Titulo                                                                                                                             #
?@CcuIde                                                                                                                            #
Print PrtCmd$("[16CPILN]");
?Data: @DataExt                                                                                                         Folha No: @Pag
?=====================================================================================================================================
?|                                      |        |                    |                    |                    |                    |
?|          Conta                       | Movim. |       Debito       |      Credito       |   Saldo  Devedor   |    Saldo Credor    |
?|                                      |        |                    |                    |                    |                    |
?=====================================================================================================================================
end sub


SUB TX_Lin3
?|   @RadCcuB3                          |  Ant.  | @AntDeb            | @AntCre            | @AntDeS            | @AntCrS            |
?|@CtGer                                |  Mes   | @MesDeb            | @MesCre            | @MesDeS            | @MesCrS            |
?|@Nome3                                |  Act.  | @ActDeb            | @ActCre            | @ActDeS            | @ActCrS            |
?|                                      |        |                    |                    |                    |                    |
end sub


SUB TX_Fim3
?=====================================================================================================================================
?|                                      |  Ant.  |@AntDebT            |@AntCreT            |@AntDeST            |@AntCrST            |
?|           TOTAIS                     |  Mes   |@MesDebT            |@MesCreT            |@MesDeST            |@MesCrST            |
?|                                      |  Act.  |@ActDebT            |@ActCreT            |@ActDesT            |@ActCrST            |
?=====================================================================================================================================
'Print PrtCmd$("[SP]");
FxDiv LstPer,SP
end sub




'------------------------------------------------------------------------------
'Impressao grafica
'------------------------------------------------------------------------------
SUB FxIni 'funcao de inicializacao
'modo WIN
PrWIN AJT_F, 56.7,  56.7                           'ajuste para milimetros
PrWIN AJT_D,-280.0,-280.0                          'deslocamento de ajuste
PrWIN ET,  2                                       'espessura de traco

dimLinNor=4.4                                      'altura de uma linha normal
dimLinCab=6.6                                      'altura de uma linha de cabecalho

cnt=0                                              'limpar contador
end sub

'-- Balancete 1 linha ---------------------------------------------------------
SUB PW_Cab1 'cabecalho
CabLin = 2                                         'linhas de cabecalho
call Cab132                                        'listar cabecalho
PrWIN AJT_B,  8.0, 0.0                             'posicao base
PrWin FON, "BOLD+"                                 'activar bold
call PW_CabCol                                   'titulos das colunas
PrWin FON, "BOLD-"                                 'desactivar bold
end sub


Sub Cab132 'cabecalho para 132 colunas
PrWIN AJT_B, 10.0, 0.0                             'posicao base

cabX1=3                                            'limite X1
'cabX2=270                                          'limite X2
cabX2=278                                          'limite X2
cabY1=25                                           'limite Y1
cabY2=cabY1+CabLin*dimLinCab                       'limite Y2
cabYm=cabY2+35*dimLinNor                           'limite Y maximo

PrWIN COR_F, 15                                    'cor de fundo
PrWIN FON, 10, 1                                   'activar fonte

PrWIN TX_N, cabX2-100,  5,SigLstInf$("EMPIDE")     'identificacao da empresa

PrWIN FON, 18, 1                             	   'activar fonte
PrWin FON, "BOLD+"                                 'activar bold
PrWIN TX_CTR,  cabX1, 5, cabX2, cabY1,MemTxt$(1)   'titulo centrado
PrWin FON, "BOLD-"                                 'desactivar bold
PrWIN FON, 10, 1                             	   'activar fonte

py   =cabY1-dimLinNor-1                            'posicao Y
pxFol=CabX2-30                                     'posicao X para folha
pxPag=CabX2-10                                     'posicao X para pagina

PrWIN TX_N,   05, py,"Data :"                      'data
PrWIN TX_N,   16, py,@DataBal                      'listar data
PrWIN TX_N,pxFol, py,"Folha No :"                  'folha
PrWIN TX_N,pxPag, py,@Pag                          'numero da folha

PrWIN COR_E, 200, 200, 200                         'cor de enchimento RGB
PrWIN GR_ME, 0                                     'modo de enchimento

PrWIN GR_CE,  cabX1, cabY1, cabX2, cabY2, 2        'caixa do cabecalho
PrWIN GR_CX,  cabX1, cabY1, cabX2, cabYm, 2        'caixa envolvente

PrWIN FON, 8, 1                             	   'activar fonte
PrWIN TX_N, cabX1+5,cabYm+3,SigLstInf$("PERSON")   'personalizacao
PrWIN FON, 10, 1                             	   'activar fonte

'call Bmg1_Zto                                      'zona de totais
End Sub


SUB PW_Lin1Deb 'linha para saldo a debito
call PW_LinPos                                   'posicionar linha

PrWIN TX_N,  6.0,0,@Ct
PrWIN TX_N, 41,0,@Nome
PrWIN TX_NP, 98.4,0,"N",@MesDeb
PrWIN TX_NP,134.1,0,"N",@MesCre
PrWIN TX_NP,169.8,0,"N",@ActDeb
PrWIN TX_NP,205.5,0,"N",@ActCre
PrWIN TX_NP,241.2,0,"N",@SalDeb
end sub


SUB Pw_Lin1Cre 'linha para saldo a credito
call PW_LinPos                                   'posicionar linha

PrWIN TX_N,  6.0,0,@Ct
PrWIN TX_N, 41,0,@Nome
PrWIN TX_NP, 98.4,0,"N",@MesDeb
PrWIN TX_NP,134.1,0,"N",@MesCre
PrWIN TX_NP,169.8,0,"N",@ActDeb
PrWIN TX_NP,205.5,0,"N",@ActCre
PrWIN TX_NP,241.2,0,"N",@SalCre
end sub


SUB Pw_Zto 'zona de totais
px1=  5                                            'X inicial
px2=280                                            'X final

yS1=CabYm-12                                       'Y para separador 1
yS2=yS1                                            'Y para separador 2
yTD=yS1+1.5                                        'Y para total a debito
yTC=yTD+4.5                                        'Y para total a credito

PrWIN AJT_B,  8, yS1                               'posicao base
PrWIN GR_LI,px1,0,px2,0, 2                         'linha para totais
end sub


SUB Pw_Fim1 'fim de listagem
call PW_Zto                                      'zona de totais

PrWIN AJT_B,  8, yTD                               'posicao base
PrWIN TX_N, 41,0,"Total a débito:"
PrWIN TX_NP, 98.4,0,"N",@MesDebT
PrWIN TX_NP,169.8,0,"N",@ActDebT
PrWIN TX_NP,241.2,0,"N",@SalDebT

PrWIN AJT_B,  8, yTC                               'posicao base
PrWIN TX_N, 41,0,"Total a crédito:"
PrWIN TX_NP,134.1,0,"N",@MesCreT
PrWIN TX_NP,205.5,0,"N",@ActCreT
PrWIN TX_NP,241.2,0,"N",@SalCreT

PrWIN FP                                           'fim de pagina
end sub


'SUB Pw_FimAjt 'fim de pagina intermedia
'PrWIN FP                                           'fim de pagina
'end sub


SUB Pw_CabCol
yZt=cabY1+dimLinCab
xZ1= 97.4
xZ2=133.1
xZ3=168.8
xZ4=204.5
xZ5=240.2

PrWIN TX_CTR,  5.0,cabY1, 40,cabY2,"Conta"
PrWIN TX_CTR, 40,cabY1, 97.4,cabY2,"Nome"
PrWIN TX_CTR,xZ1,cabY1,xZ3,yZT  ,@TitPer
PrWIN TX_CTR,xZ1,yZT  ,xZ2,cabY2,"Débito"
PrWIN TX_CTR,xZ2,yZT  ,xZ3,cabY2,"Crédito"
PrWIN TX_CTR,xZ3,cabY1,xZ5,yZT  ,"Acumulados Actuais"
PrWIN TX_CTR,xZ3,yZT,xZ4  ,cabY2,"Débito"
PrWIN TX_CTR,xZ4,yZT,xZ5  ,cabY2,"Crédito"
PrWIN TX_CTR,240.2,cabY1,281.8,cabY2,"Saldos"

PrWIN GR_LI, xZ1,yZT,xZ5,yZT,2
PrWIN GR_LI, 40,cabY1, 40,cabYm,2
PrWIN GR_LI, 97.4,cabY1, 97.4,cabYm,2
PrWIN GR_LI,133.1,yzT  ,133.1,cabYm,2
PrWIN GR_LI,168.8,cabY1,168.8,cabYm,2
PrWIN GR_LI,204.5,yZT  ,204.5,cabYm,2
PrWIN GR_LI,240.2,cabY1,240.2,cabYm,2
end sub


SUB Pw_LinPos 'posicao de linha
PrWIN AJT_B,  8, 37+Doc_CntLin*4.4                 'posicao base
'PrWIN TX_N,  -3,  0,Doc_CntLin                     'numero da linha - DEBUG
end sub
##

