'Nome       : ImeCpa.std
'Tipo       : LST
'Data       : 2003/11/21
'Versao     : 1.0
'Descricao  : Comparacao de anos

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2003/??/?? --------------------------------------------------
'Versao base


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


'==============================================================================
#ESP - Campos especificos
'==============================================================================
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Cpa
Nome                       [DocNom]=CpaAno,Resumo anual

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=Ano_Cab
Listar linhas               [FxLIN]=Ano_Lin
Listar fim                  [FxFIM]=Ano_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Cpa
Nome                       [DocNom]=CpaMes,Valores Mensais (XLS)

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

'funcoes de listagem
Base para documento         [FxDOC]=MesXls
Listar cabecalho            [FxCAB]=MesXls_Cab
Listar linhas               [FxLIN]=MesXls_Lin,0
Listar fim                  [FxFIM]=MesXls_Fim

Matriz auxiliar            [DocMat]=ImeCpa.xls
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'MemTxt$(1)    - titulo
'MemTxt$(2)    - identificacao da listagem

'MemNum(11)    - ano

'quantidades
'MemNum(20)    - total do ano
'MemNum(21)    - mes 01 - Janeiro
'MemNum(22)    - mes 02 - Fevereiro
'MemNum(23)    - mes 03 - Marco
'MemNum(24)    - mes 04 - Abril
'MemNum(25)    - mes 05 - Maio
'MemNum(26)    - mes 06 - Junho
'MemNum(27)    - mes 07 - Julho
'MemNum(28)    - mes 08 - Agosto
'MemNum(29)    - mes 09 - Setembro
'MemNum(30)    - mes 10 - Outubro
'MemNum(31)    - mes 11 - Novembro
'MemNum(32)    - mes 12 - Dezembro


'valores
'MemNum(40)    - total do ano
'MemNum(41)    - mes 01 - Janeiro
'MemNum(42)    - mes 02 - Fevereiro
'MemNum(43)    - mes 03 - Marco
'MemNum(44)    - mes 04 - Abril
'MemNum(45)    - mes 05 - Maio
'MemNum(46)    - mes 06 - Junho
'MemNum(47)    - mes 07 - Julho
'MemNum(48)    - mes 08 - Agosto
'MemNum(49)    - mes 09 - Setembro
'MemNum(50)    - mes 10 - Outubro
'MemNum(51)    - mes 11 - Novembro
'MemNum(52)    - mes 12 - Dezembro


Pag       = Doc_CntPag
DataExt   = FrmVal$(Sig_DtHoje,45,0)

LstTit    = MemTxt$(1)
LstIde    = MemTxt$(2)

'diversos
CpaAno    = FrmNum$(-4.0,MemNum(11))


'quantidades por mes
vCpaQ00   = FrmNum$(10.1,MemNum(20))
vCpaQ01   = FrmNum$(10.1,MemNum(21))
vCpaQ02   = FrmNum$(10.1,MemNum(22))
vCpaQ03   = FrmNum$(10.1,MemNum(23))
vCpaQ04   = FrmNum$(10.1,MemNum(24))
vCpaQ05   = FrmNum$(10.1,MemNum(25))
vCpaQ06   = FrmNum$(10.1,MemNum(26))
vCpaQ07   = FrmNum$(10.1,MemNum(27))
vCpaQ08   = FrmNum$(10.1,MemNum(28))
vCpaQ09   = FrmNum$(10.1,MemNum(29))
vCpaQ10   = FrmNum$(10.1,MemNum(20))
vCpaQ11   = FrmNum$(10.1,MemNum(21))
vCpaQ12   = FrmNum$(10.1,MemNum(22))


'valores por mes
vCpaV00   = FrmNum$(14.2,MemNum(40))
vCpaV01   = FrmNum$(14.2,MemNum(41))
vCpaV02   = FrmNum$(14.2,MemNum(42))
vCpaV03   = FrmNum$(14.2,MemNum(43))
vCpaV04   = FrmNum$(14.2,MemNum(44))
vCpaV05   = FrmNum$(14.2,MemNum(45))
vCpaV06   = FrmNum$(14.2,MemNum(46))
vCpaV07   = FrmNum$(14.2,MemNum(47))
vCpaV08   = FrmNum$(14.2,MemNum(48))
vCpaV09   = FrmNum$(14.2,MemNum(49))
vCpaV10   = FrmNum$(14.2,MemNum(50))
vCpaV11   = FrmNum$(14.2,MemNum(51))
vCpaV12   = FrmNum$(14.2,MemNum(52))

##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)

Sub FxIni 'funcao de inicializacao
end sub


Sub FxFim 'funcao de finalizacao
end sub


Sub Lst_AJT 'ajuste
end sub


'-----------------------------------------------------------------------------
' Resumo Anual
'-----------------------------------------------------------------------------
Sub Ano_Cab 'cabecalho
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI","Vendas por Ano")
print "Data : " FrmVal$(Sig_DtHoje,45,0);
print tab(65) "Folha No : " Doc_CntPag
?================================================================================
?   Ano                                             Quant.              Valor   #
?================================================================================
end sub


Sub Ano_Lin 'linha de valores
?  @CpaAno                                      @vCpaQ00        @vCpaV00        #
End sub


Sub Ano_Fim 'fim
print string$(80,"=")                           'separador
FxDiv LstPer,SP                                 'fim de pagina
'Print PrtCmd("[SP]");                          'fim de pagina
end sub


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


'-----------------------------------------------------------------------------
' Valores Mensais
'-----------------------------------------------------------------------------
Sub MesXls_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call MesXls_Prep                                   'preparar
end sub


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

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub MesXls_Prep 'inicializar EXCEL
res = XlsWks("Valores")                            'activar worksheet

empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTip$ = MemTxt$(2)                               'tipo da listagem
'lstDt$  = FrmDt$("", Sig_DtHoje)                   'data para 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_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 MesXls_Lin 'linha de valores
res = XlsLinIns(xlsLin, 1)                         'juntar linha

'valores totais
res = XlsLst(xlsLin, 2, MemNum(11))                'listar ano
res = XlsLst(xlsLin, 3, MemNum(20))                'listar quantidade
res = XlsLst(xlsLin, 4, MemNum(40))                'listar valor

'valores
kCo =  6                                           'factor para coluna
kVl = 40                                           'factor para valor
res = XlsLst(xlsLin, kCo, MemNum(11))              'listar ano
for mes = 1 to 12
co = mes + kCo                                     'coluna
vc = MemNum(mes + kVl)                             'valor para coluna
res = XlsLst(xlsLin, co, vc)                       'listar
next
vc = MemNum(kVl)                                   'total
co = 13 + kCo                                      'coluna
res = XlsLst(xlsLin, co, vc)                       'listar quantidade

'quantidades
kCo = 21                                           'factor para coluna
kVl = 20                                           'factor para valor
res = XlsLst(xlsLin, kCo, MemNum(11))              'listar ano
for mes = 1 to 12
co = mes + kCo                                     'coluna
vc = MemNum(mes + kVl)                             'valor para coluna
res = XlsLst(xlsLin, co, vc)                       'listar quantidade
next
vc = MemNum(kVl)                                   'total
co = 13 + kCo                                      'coluna
res = XlsLst(xlsLin, co, vc)                       'listar quantidade

'seguinte
xlsLin = xlsLin + 1                                'numero de linhas
End sub

##


