'Nome       : AgpRes.std
'Tipo       : LST
'Data       : 2009/11/05
'Versao     : 1.0
'Descricao  : AGP - Resumo

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


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


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


'==============================================================================
#SQL - Comandos SQL
'==============================================================================
Base de dados           [BD]=VarCom$("Dbu_RES")


Gerador de dados       [Cmd]=GerDat=+
   +SELECT Art$, Cor$, Tam$, + 
   +EntRqu, SaiRqu, +
   +EntRqu - SaiRqu as ExiRqu +
   +FROM ResAgp +
   +WHERE Art$   BETWEEN '{Opc_Art.Ini}' AND '{Opc_Art.Fim}' +
   +AND   Cor$   BETWEEN '{Opc_Cor.Ini}' AND '{Opc_Cor.Fim}' +
   +AND   Tam$   BETWEEN '{Opc_Tam.Ini}' AND '{Opc_Tam.Fim}'

Gerador de dados       [Cmd]=GerDat_01=+
   +SELECT Art$, Cor$, Tam$, + 
   +EntRqu, SaiRqu, +
   +EntRqu - SaiRqu as ExiRqu +
   +FROM ResAgp

Gerador de dados       [Cmd]=GerDat_dbg=+
   +SELECT TOP 5 Art$, Cor$, Tam$, + 
   +EntRqu, SaiRqu, +
   +EntRqu - SaiRqu as ExiRqu +
   +FROM ResAgp

##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=AGP_SQL,AGP - Resumo (XLS/SQL)

'formato
Saida/Impressora           [DocPrt]=NULA
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]=ResPvt
Listar cabecalho            [FxCAB]=ResPvt_Cab
Listar linhas               [FxLIN]=ResPvt_Lin,0
Listar fim                  [FxFIM]=ResPvt_Fim

Matriz auxiliar            [DocMat]=

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=GerDat
Subtotalizadores           [SQLSbt]=

##


'==============================================================================
#DOC_x - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PVT
Nome                       [DocNom]=AGP_PVT,AGP - Resumo (XLS)

'formato
Saida/Impressora           [DocPrt]=NULA
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]=ResPvt
Listar cabecalho            [FxCAB]=ResPvt_Cab
Listar linhas               [FxLIN]=ResPvt_Lin,0
Listar fim                  [FxFIM]=ResPvt_Fim

Matriz auxiliar            [DocMat]=

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=
Subtotalizadores           [SQLSbt]=

##


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

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

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

'diversos
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'- 13 -     - info
'- 25 ----------------->'
'- 28 -------------------->'
'- 40 -------------------------------->'
'- 43 ----------------------------------->'
'- 46 -------------------------------------->'
'- 49 ----------------------------------------->'
'- 52 -------------------------------------------->'
'- 55 ----------------------------------------------->'
'- 58 -------------------------------------------------->'
'- 61 ----------------------------------------------------->'
'- 64 -------------------------------------------------------->'
'- 67 ----------------------------------------------------------->'
'- 70 -------------------------------------------------------------->'


'=============================================================================
' COM - Funcoes comuns
'=============================================================================
Sub FxIni 'funcao de inicializacao
cnt=0                                           'limpar contador
'msgbox "","FxIni",""
end sub


Sub FxFim 'funcao de finalizacao
end sub


Sub Lst_AJT 'ajuste
end sub


'=============================================================================
' LST - Listagens
'=============================================================================
'-----------------------------------------------------------------------------
'PVT - Listagem para pivot table
'-----------------------------------------------------------------------------
Sub ResPvt_DocIni 'inicializar documento
'res = MsgUtz("","DOC", "Inicializar")
'------------------------------------->'Comentario (40)

xlsOpcNfi$ = "RND:AgpRes.xls"          'nome do ficheiro a gerar
xlsOpcWks$ = ""                        'nome da worksheet

call XlsComDoc_IniPvt                  'inicializar documento para pivot table
res = XlsPvtPrp("")                    'preparar pivot table

pvtTpv$ = VarCom$("PVT_TPV")           'tipo de valor a listar

if pvtTpv$ = "" then
   msgbox "", "PVT",""
   pvtTpv$ = "EXI"
end if

'definicao das colunas
coChvArt = 1                           'artigo
coChvCor = 2                           'cor
coChvTam = 3                           'tamanho
coQuaEnt = 4                           'entradas
coQuaSai = 5                           'saidas
coQuaExi = 6                           'existencia

PvtColBas = 1                          'coluna base
cmpNum    = 6                          'numero de colunas
coIni     = PvtColBas                  'coluna inicial
coFim     = coIni + cmpNum - 1         'coluna final

PvtIdvPag$ = "Art"                     'campos na pagina
PvtIdvCol$ = "Tam"                     'campos nas colunas
PvtIdvLin$ = "Cor"                     'campos nas linhas

PvtIdvDat$ = "Exi,+"                   'campo de dados
PvtIdvDat$ = pvtTpv$ + ",+"            'campo de dados
end sub


Sub ResPvt_PrpLst 'preparar aspecto
'res = MsgUtz("","LST", "Preparar")
'------------------------------------->'Comentario (40)

'preparar colunas
'res = XlsPvtDatZco(coIni, coFim)       'posicao das colunas
res = XlsPvtDatZco(1, 6)               'posicao das colunas

res = XlsPvtRegIdc(coChvArt, "Art")    'registar coluna
res = XlsPvtRegIdc(coChvCor, "Cor")    'registar coluna
res = XlsPvtRegIdc(coChvTam, "Tam")    'registar coluna
res = XlsPvtRegIdc(coQuaEnt, "Ent")    'registar coluna
res = XlsPvtRegIdc(coQuaSai, "Sai")    'registar coluna
res = XlsPvtRegIdc(coQuaExi, "Exi")    'registar coluna
'next

res = XlsPvtPrpDat("")                 'preparar zona de dados
end sub


Sub ResPvt_DocFim 'terminar documento
'res = MsgUtz("","Doc Fim","")
'------------------------------------->'Comentario (40)

call XlsComDoc_FimPvt                  'terminar documento - pivot table
end sub


Sub ResPvt_Lin 'linha de valores
'res = MsgUtz("","LIN","")
'------------------------------------->'Comentario (40)

xlslin = XlsLin + 1                    'contar linha

vArt$ = "'" + SqlCmp$("Art$")          'artigo
vCor$ = "'" + SqlCmp$("Cor$")          'cor
vTam$ = "'" + SqlCmp$("Tam$")          'tamanho
vEnt  = SqlCmp$("EntRqu")              'entradas
vSai  = SqlCmp$("SaiRqu")              'saidas
vExi  = SqlCmp$("ExiRqu")              'existencia

res = XlsLst(xlsLin, coChvArt, vArt$)  'registar valor
res = XlsLst(xlsLin, coChvCor, vCor$)  'registar valor
res = XlsLst(xlsLin, coChvTam, vTam$)  'registar valor
res = XlsLst(xlsLin, coQuaEnt, vEnt)   'registar valor
res = XlsLst(xlsLin, coQuaSai, vSai)   'registar valor
res = XlsLst(xlsLin, coQuaExi, vExi)   'registar valor
End sub


Sub ResPvt_Fim 'terminar
'res = MsgUtz("","Fim","")
'------------------------------------->'Comentario (40)

nli = xlsLin                           'numero de linhas
res = XlsPvtDatZli(1, nli)             'posicao das linhas
res = XlsPvtCri("")                    'criar pivot table

res = XlsPvtCmpPag(PvtIdvPag$)         'campos na pagina
res = XlsPvtCmpCol(PvtIdvCol$)         'campos nas colunas
res = XlsPvtCmpLin(PvtIdvLin$)         'campos nas linhas
res = XlsPvtCmpDat(PvtIdvDat$)         'campo de dados

res = XlsPvtAsp("")                    'aspecto
end sub

##


'==============================================================================
#INC - Inclusao de ficheiros
'==============================================================================
Funcoes comuns XLS                     =[SIG_LST_DIR.XLS],XlsCom_Pgm.inc
##

