'Nome       : ImoCta.std
'Tipo       : LST
'Data       : 2008/05/20
'Versao     : 2.0a
'Descricao  : Documento para contabilidade

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 2.0a  2008/05/20 --------------------------------------------------
'Correccoes no posicionamento das linhas dos centros de custo

'- Versao : 2.0   2007/04/26 --------------------------------------------------
'Listagens em modo gráfico

'- Versao : 1.1   2003/11/19 --------------------------------------------------
'Listagens para imputação a centro de custo

'- Versao : 1.0a  2000/11/19 --------------------------------------------------
'Listagens para imputação mensal

'- Versao : 1.0   2000/01/16 --------------------------------------------------
'Versao base



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


'==============================================================================
#ESP - Campos especificos
'==============================================================================
Especifico                 [OpcEsp]=
##


'==============================================================================
#DOC - Documento para contabilidade
'==============================================================================
Tipo                       [DocTip]=ImoCta
Nome                       [DocNom]=ImoCta,Documento para Contabilidade

'formato
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]=XXX=Xyz

'funcoes de listagem
Listar cabecalho            [FxCAB]=Doc_Cab
Listar linhas               [FxLIN]=Doc_Lin; Deb; Cre; CcuIde,2; CcuVal; CcuTot,2
Listar fim                  [FxFIM]=Doc_Fim
##


'==============================================================================
#DOC - Documento para Contabilidade (modo gráfico)
=============================================================================
Tipo                       [DocTip]=ImoCta
Nome                       [DocNom]=ImoCta_G,Documento para Contabilidade (Gráfico)
Vias                       [DocVia]=Original

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

Especifico do documento    [DocEsp]=XXX=Xyz

'funcoes de listagem
Listar cabecalho            [FxCAB]=ImoCtaG_Cab
Listar linhas               [FxLIN]=ImoCtaG_Lin; CcuIde; CcuVal; CcuTot
Listar fim                  [FxFIM]=ImoCtaG_Fim
##


'==============================================================================
#DOC - Imputacao mensal - conferencia
'==============================================================================
Tipo                       [DocTip]=ImoIpm
Nome                       [DocNom]=ImoIpm,Imputação Mensal

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=Ipm_Cab
Listar linhas               [FxLIN]=Ipm_Lin
Listar fim                  [FxFIM]=Ipm_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'MemTxt$(1)    - tipo

'MemTxt$(21)   - codigo do bem
'MemTxt$(22)   - nome do bem

'MemTxt$(51)   - codigo da conta
'MemTxt$(52)   - nome da conta

'MemNum(21)    - valor do bem

'MemNum(61)    - valor a debito
'MemNum(62)    - valor a credito

'MemNum(71)    - centro de custo - numero
'MemNum(72)    - centro de custo - valor

'valores a listar
Tipo     = MemTxt$(1)
Pag      = Doc_CntPag
DataExt  = FrmVal$(Sig_DtHoje,45,0)

'contabilizacao
ctCod    = MemTxt$(51)
ctIde    = MemTxt$(52)
ctDeb    = FrmVal$(MemNum(61),20,13.2)
ctCre    = FrmVal$(MemNum(62),20,13.2)

totDeb   = FrmVal$(total(ctDeb),20,13.2)
totCre   = FrmVal$(total(ctCre),20,13.2)

'centro de custo
ccuNum   = FrmNum$(-4.0,MemNum(71))
ccuVal   = FrmNum$(13.2,MemNum(72))
'ccuTot   = FrmNum$(13.2,total(ccuVal))
ccuTot   = FrmNum$(13.2,totCcu)

'imputacao mensal - conferencia
BemCod   = MemTxt$(21)
BemIde   = MemTxt$(22)
BemVl    = FrmNum$(13.2,MemNum(21))

tBemVl   = FrmNum$(13.2,total(BemVl))
##


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


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'-----------------------------------------------------------------------------
' Funcoes para inicializacao
'-----------------------------------------------------------------------------
SUB FxIni 'inicializacao base
cnt=0                                  'limpar contador
Call SigLstIni
end sub


SUB FxFim 'funcao de finalizacao
end sub


'-----------------------------------------------------------------------------
' Contabilizacao
'-----------------------------------------------------------------------------
SUB Doc_Cab
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI","Contabilização")
?Data : @DataExt                                                 Folha No : @Pag#
?+------------------------------------------------------------------------------+#
?|    Conta    |         Descrição            |     Debito     |     Credito    |
?+------------------------------------------------------------------------------+#
'| 123456789.12|123456789.123456789.123456789.|1,123,456,789.00|1,123,456,789.00|
end sub


SUB Doc_Lin
?| @CtCod      |@CtIde                        |@CtDeb          |@CtCre          |
end sub


SUB Doc_FimAjt
?+==============================================================================+#
FxDiv LstPer,SP
end sub


SUB Doc_Fim
?+==============================================================================+#
?|                  Totais                    |@totDeb         |@totCre         |
?+==============================================================================+#
FxDiv LstPer,SP
'Print PrtCmd("[SP]");
end sub


SUB Doc_LinCcuIde 'identificar centro de custo
?|             |                              |                |                |
?|             |Centro de custo: @CcuNum      |                |                |
totCcu=0
end sub


SUB Doc_LinCcuVal 'valor para centro de custo
?| @CtCod      |@CtIde                        |@CcuVal         |                |
totCcu=totCcu+MemNum(72)
end sub


SUB Doc_LinCcuTot 'total do centro de custo
?|             |     Total do Centro de custo |@CcuTot         |                |
?|             |                              |                |                |
end sub


'-----------------------------------------------------------------------------
' Imputacao mensal por bem
'-----------------------------------------------------------------------------
SUB Ipm_Cab
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI","Imputação Mensal")
?Data : @DataExt                                                 Folha No : @Pag#
?+==============================================================================+#
?|     Bem      |              Descrição                      |       Valor     |
?+==============================================================================+#
'| 123456789.12345|123456789.123456789.123456789.123456789.123|12,123,456,789.00|
end sub


SUB Ipm_Lin
?| @BemCod      | @BemIde                                     | @BemVl          |
end sub


SUB Ipm_FimAjt
?+==============================================================================+#
FxDiv LstPer,SP
end sub


SUB Ipm_Fim
?+==============================================================================+#
?|                      Total                                 | @tBemVl         |
?+==============================================================================+#
FxDiv LstPer,SP
'Print PrtCmd("[SP]");
end sub


'================================================================================
'LISTAGENS EM MODO GRAFICO
'================================================================================
Sub PosLinGr 'posicionar linha em modo grafico
PrWIN AJT_B,  Margem, 32 + Doc_CntLin * 4       'posicao base
end sub


Sub PosFimGr 'posicionar fim de pagina em modo grafico
PrWIN AJT_B,  Margem, 36 + Doc_CntLin * 4       'posicao base
end sub


'================================================================================
'[GRF] - Contabilizacao ---------------------------------------------------------
'================================================================================
Sub ImoCtaG_CabIni 'inicializar documento
Titulo$="Documento para Contabilidade"                       'titulo para listagem
SigCabNorOpcTit=2                                            'inicializar opcao para titulo
end sub


Sub ImoCtaG_Cab 'cabecalho
Cmax  =190
FimDoc=272

Call SigLstCab 

PrWIN FON  , 13,   4                        	   'activar fonte
PrWIN AJT_B,  Margem, 26                           'posicao base
PrWIN COR_T,CorTraco                               'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0               	   'desenhar linha
PrWIN GR_LI, 0, 6, Cmax, 6                         'desenhar linha

TCol1=   5                                         'coluna 1
TCol2=  70                                         'coluna 2
TCol3= 130                                         'coluna 3
TCol4= 170                                         'coluna 4

PrWIN COR_T,  CorTitLst                            'cor de titulo
PrWIN FON  , 8,   1                                'activar fonte

PrWIN FON, "BOLD+"                                 'activar bold
PrWIN TX_N,  TCol1,1.5,"Conta"                     'titulo
PrWIN TX_N,  TCol2,1.5,"Descrição"                 'titulo
PrWIN TX_N,  TCol3,1.5,"Débito"                    'titulo
PrWIN TX_N,  TCol4,1.5,"Crédito"                   'titulo
PrWIN FON, "BOLD-"                                 'desactivar bold
PrWin COR_T, CorLin                                'activar cor linhas
end sub


SUB ImoCtaG_CabFim 'finalizar documento
end sub


Sub ImoCtaG_Lin 'linha de valores
LCol1=   1
LCol2=  43
LCol3= 125
LCol4= 163

InicioLinhas=28
tmp=CntLin("INC",1)                              'contar linha

PrWin COR_T, CorLin
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*2.5  'posicao base
PrWIN TX_NP,  LCol1  ,0,"N",@CtCod               'conta 
PrWIN TX_NP,  LCol2  ,0,"N",@CtIde               'descricao
PrWIN TX_NP,  LCol3  ,0,"N",@CtDeb               'debito
PrWIN TX_NP,  LCol4  ,0,"N",@CtCre               'credito
End sub


SUB ImoCtaG_Fim 'finalizar documento
FCol1= 110
FCol2= 125
FCol3= 163

PrWIN COR_T,CorTraco                                             'cor de linhas
PrWIN AJT_B,Margem,FimDoc-4                                      'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	                 'linha
PrWIN GR_LI,     0,  5, Cmax, 5            	                 'linha

PrWin FON, "BOLD+"                                               'activar bold
PrWIN TX_N,   FCol1  ,0.8,"TOTAIS :"                             'titulo
PrWIN TX_NP,  FCol2  ,0.8,"N",@totDeb                            'total debito
PrWIN TX_NP,  FCol3  ,0.8,"N",@totCre                            'total credito
PrWin FON, "BOLD-"

Call SigLstRod
PrWin FP
end sub


SUB ImoCtaG_LinCcuIde 'linha 
FCol1= 110

tmp=CntLin("INC",1)                                               'contar linha
PrWIN COR_T,CorTraco                                              'cor de linhas
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*2.5                 'posicao base
PrWIN GR_LI,     0,  1, Cmax, 1            	                  'linha
PrWIN GR_LI,     0,  5, Cmax, 5            	                  'linha

PrWin FON, "BOLD+"                                                'activar bold
PrWIN TX_N,   FCol1    ,1.25,"Centro de Custo : "                  'titulo
PrWIN TX_N,   FCol1+30 ,1.25,@CcuNum                               'titulo
PrWin FON, "BOLD-"

totCcu=0                                                          'limpar totalizador
end sub


SUB ImoCtaG_LinCcuVal 'linha 
LCol1=   1
LCol2=  43
LCol3= 125

InicioLinhas=28
tmp=CntLin("INC",1)                                               'contar linha

PrWin COR_T, CorLin
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*2.5                 'posicao base
PrWIN TX_NP,  LCol1  ,0.5,"N",@CtCod                             'conta 
PrWIN TX_NP,  LCol2  ,0.5,"N",@CtIde                             'descricao
PrWIN TX_NP,  LCol3  ,0.5,"N",@CcuVal                            'valor

totCcu=totCcu+MemNum(72)
end sub


SUB ImoCtaG_LinCcuTot 'linha 
FCol1= 110
FCol2= 125
FCol3= 163

tmp=CntLin("INC",1)                                               'contar linha

'InicioLinhas=28
PrWIN COR_T,CorTraco                                              'cor de linhas
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*2.5                 'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	                  'linha
PrWIN GR_LI,     0,  5, Cmax, 5            	                  'linha

PrWin FON, "BOLD+"                                                'activar bold
PrWIN TX_N,   FCol1-25,0.5,"Total do Centro de Custo "            'titulo
PrWIN TX_N,   FCol1+12,0.5,@CcuNum                                'titulo
PrWIN TX_NP,  FCol2   ,0.5,"N",@CcuTot                             'total debito
end sub
##


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

