'Nome       : StcCmpRes.sql
'Tipo       : SQL
'Data       : 2016/05/17
'Versao     : 1.1
'Descricao  : STC - Resumo de compras

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.1   ____/__/__ --------------------------------------------------
'Correccao de referencias para vendas

'- Versao : 1.0   2015/06/02 --------------------------------------------------
'Versao base


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


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


'==============================================================================
#SQL - Comandos SQL
'==============================================================================
Base de dados           [BD]=EmpFic$("EMP","Cemp,Emp_Dat.mdb")
'Base de dados           [BD]=EmpFic$("EMP","Stc,Stc.mdb")


'------------------------------------------------------------------------------
'- generico -------------------------------------------------------------------
'------------------------------------------------------------------------------
Nome do artigo [Cmd]=ArtNom=+
   +SELECT Nome1$ as [NOME$] +
   +FROM {TB_StcMst} +
   +WHERE Art$ = '{ART.COD}'


'==============================================================================
'= ART ========================================================================
'==============================================================================
'------------------------------------------------------------------------------
'- Compras por Artigo/Armazem -------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=ResCmpArtArz=+
   +SELECT Art$ AS ART, ArzEnt as ARZ, +
   +SUM(Qu * CmpSinQ) AS RQU, SUM(Vt * CmpSinV) AS RVT, COUNT(*) as NRG +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Ct$     BETWEEN '{Opc_Ct.Ini}'    AND '{Opc_Ct.Fim}' +
   +AND   Art$    BETWEEN '{Opc_Art.Ini}'   AND '{Opc_Art.Fim}' +
   +AND   Dtl     BETWEEN  {Opc_Dtl.Ini}    AND  {Opc_Dtl.Fim} +
   +AND   ArzEnt  BETWEEN  {Opc_ArzEnt.Ini} AND  {Opc_ArzEnt.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +GROUP BY Art$, ArzEnt +
   +ORDER BY Art$, ArzEnt


'------------------------------------------------------------------------------
'- Compras por Artigo/Conta ---------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=ResCmpArtCtu=+
   +SELECT Art$ AS ART, Ct$ AS CTU, +
   +SUM(Qu * CmpSinQ) AS RQU, SUM(Vt * CmpSinV) AS RVT, COUNT(*) as NRG +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Ct$     BETWEEN '{Opc_Ct.Ini}'    AND '{Opc_Ct.Fim}' +
   +AND   Art$    BETWEEN '{Opc_Art.Ini}'   AND '{Opc_Art.Fim}' +
   +AND   Dtl     BETWEEN  {Opc_Dtl.Ini}    AND  {Opc_Dtl.Fim} +
   +AND   ArzEnt  BETWEEN  {Opc_ArzEnt.Ini} AND  {Opc_ArzEnt.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +GROUP BY Art$, Ct$ +
   +ORDER BY Art$, Ct$


'------------------------------------------------------------------------------
'- Compras por Artigo/Conta/Armazem -------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=ResCmpArtCtuArz=+
   +SELECT Art$ AS ART, Ct$ AS CTU, ArzEnt as ARZ, +
   +SUM(Qu * CmpSinQ) AS RQU, SUM(Vt * CmpSinV) AS RVT, COUNT(*) as NRG +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Ct$     BETWEEN '{Opc_Ct.Ini}'    AND '{Opc_Ct.Fim}' +
   +AND   Art$    BETWEEN '{Opc_Art.Ini}'   AND '{Opc_Art.Fim}' +
   +AND   Dtl     BETWEEN  {Opc_Dtl.Ini}    AND  {Opc_Dtl.Fim} +
   +AND   ArzEnt  BETWEEN  {Opc_ArzEnt.Ini} AND  {Opc_ArzEnt.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +GROUP BY Art$, Ct$, ArzEnt +
   +ORDER BY Art$, Ct$, ArzEnt


'==============================================================================
'= ARZ ========================================================================
'==============================================================================
'------------------------------------------------------------------------------
'- Compras por Armazem/Artigo -------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=ResCmpArzArt=+
   +SELECT ArzEnt as ARZ, Art$ AS ART,  +
   +SUM(Qu * CmpSinQ) AS RQU, SUM(Vt * CmpSinV) AS RVT, COUNT(*) as NRG +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Ct$     BETWEEN '{Opc_Ct.Ini}'    AND '{Opc_Ct.Fim}' +
   +AND   Art$    BETWEEN '{Opc_Art.Ini}'   AND '{Opc_Art.Fim}' +
   +AND   Dtl     BETWEEN  {Opc_Dtl.Ini}    AND  {Opc_Dtl.Fim} +
   +AND   ArzEnt  BETWEEN  {Opc_ArzEnt.Ini} AND  {Opc_ArzEnt.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +GROUP BY ArzEnt, Art$ +
   +ORDER BY ArzEnt, Art$


'------------------------------------------------------------------------------
'- Compras por Armazem/Conta --------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=ResCmpArzCtu=+
   +SELECT ArzEnt as ARZ, Ct$ AS CTU,+
   +SUM(Qu * CmpSinQ) AS RQU, SUM(Vt * CmpSinV) AS RVT, COUNT(*) as NRG +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Ct$     BETWEEN '{Opc_Ct.Ini}'    AND '{Opc_Ct.Fim}' +
   +AND   Art$    BETWEEN '{Opc_Art.Ini}'   AND '{Opc_Art.Fim}' +
   +AND   Dtl     BETWEEN  {Opc_Dtl.Ini}    AND  {Opc_Dtl.Fim} +
   +AND   ArzEnt  BETWEEN  {Opc_ArzEnt.Ini} AND  {Opc_ArzEnt.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +GROUP BY ArzEnt, Ct$ +
   +ORDER BY ArzEnt, Ct$


'==============================================================================
'= CTU ========================================================================
'==============================================================================
'------------------------------------------------------------------------------
'- Compras por Conta/Artigo ---------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=ResCmpCtuArt=+
   +SELECT Ct$ AS CTU, Art$ AS ART, +
   +SUM(Qu * CmpSinQ) AS RQU, SUM(Vt * CmpSinV) AS RVT, COUNT(*) as NRG +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Ct$     BETWEEN '{Opc_Ct.Ini}'    AND '{Opc_Ct.Fim}' +
   +AND   Art$    BETWEEN '{Opc_Art.Ini}'   AND '{Opc_Art.Fim}' +
   +AND   Dtl     BETWEEN  {Opc_Dtl.Ini}    AND  {Opc_Dtl.Fim} +
   +AND   ArzEnt  BETWEEN  {Opc_ArzEnt.Ini} AND  {Opc_ArzEnt.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +GROUP BY Ct$, Art$ +
   +ORDER BY Ct$, Art$


'------------------------------------------------------------------------------
'- Compras por Conta/Armazem --------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=ResCmpCtuArz=+
   +SELECT Ct$ AS CTU, ArzEnt as ARZ, +
   +SUM(Qu * CmpSinQ) AS RQU, SUM(Vt * CmpSinV) AS RVT, COUNT(*) as NRG +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Ct$     BETWEEN '{Opc_Ct.Ini}'    AND '{Opc_Ct.Fim}' +
   +AND   Art$    BETWEEN '{Opc_Art.Ini}'   AND '{Opc_Art.Fim}' +
   +AND   Dtl     BETWEEN  {Opc_Dtl.Ini}    AND  {Opc_Dtl.Fim} +
   +AND   ArzEnt  BETWEEN  {Opc_ArzEnt.Ini} AND  {Opc_ArzEnt.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +GROUP BY Ct$, ArzEnt +
   +ORDER BY Ct$, ArzEnt

##


'==============================================================================
'- TXT ------------------------------------------------------------------------
'==============================================================================
'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CmpArtCtu,Compras Por Artigo/Conta

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=CmpArtCtu_Cab
Listar linhas               [FxLIN]=CmpArtCtu_Lin
Listar fim                  [FxFIM]=CmpArtCtu_Fim

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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CmpCtuArt,Compras Por Conta/Artigo

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=CmpCtuArt_Cab
Listar linhas               [FxLIN]=CmpCtuArt_Lin
Listar fim                  [FxFIM]=CmpCtuArt_Fim

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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CmpArzArt,Compras Por Armazem/Artigo

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=CmpArzArt_Cab
Listar linhas               [FxLIN]=CmpArzArt_Lin
Listar fim                  [FxFIM]=CmpArzArt_Fim

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


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CmpArtArz,Compras Por Artigo/Armazem

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=CmpArtArz_Cab
Listar linhas               [FxLIN]=CmpArtArz_Lin
Listar fim                  [FxFIM]=CmpArtArz_Fim

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


'==============================================================================
'- XLS ------------------------------------------------------------------------
'==============================================================================

'==============================================================================
'= ART ========================================================================
'==============================================================================

'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsCmpArtArz,XLS - Compras Por Artigo/Armazem

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsCmpArtArz
Listar cabecalho            [FxCAB]=XlsCmpArtArz_Cab
Listar linhas               [FxLIN]=XlsCmpArtArz_Lin
Listar fim                  [FxFIM]=XlsCmpArtArz_Fim

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

Matriz auxiliar            [DocMat]=StcResMov.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsCmpArtCtu,XLS - Compras Por Artigo/Conta

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsCmpArtCtu
Listar cabecalho            [FxCAB]=XlsCmpArtCtu_Cab
Listar linhas               [FxLIN]=XlsCmpArtCtu_Lin
Listar fim                  [FxFIM]=XlsCmpArtCtu_Fim

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

Matriz auxiliar            [DocMat]=StcResMov.xls
##


'==============================================================================
'= ARZ ========================================================================
'==============================================================================

'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsCmpArzArt,XLS - Compras Por Armazem/Artigo

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsCmpArzArt
Listar cabecalho            [FxCAB]=XlsCmpArzArt_Cab
Listar linhas               [FxLIN]=XlsCmpArzArt_Lin
Listar fim                  [FxFIM]=XlsCmpArzArt_Fim

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

Matriz auxiliar            [DocMat]=StcResMov.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsCmpArzCtu,XLS - Compras Por Armazem/Conta

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsCmpArzCtu
Listar cabecalho            [FxCAB]=XlsCmpArzCtu_Cab
Listar linhas               [FxLIN]=XlsCmpArzCtu_Lin
Listar fim                  [FxFIM]=XlsCmpArzCtu_Fim

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

Matriz auxiliar            [DocMat]=StcResMov.xls
##


'==============================================================================
'= CTU ========================================================================
'==============================================================================

'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsCmpCtuArt,XLS - Compras Por Conta/Artigo

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsCmpCtuArt
Listar cabecalho            [FxCAB]=XlsCmpCtuArt_Cab
Listar linhas               [FxLIN]=XlsCmpCtuArt_Lin
Listar fim                  [FxFIM]=XlsCmpCtuArt_Fim

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

Matriz auxiliar            [DocMat]=StcResMov.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsCmpCtuArz,XLS - Compras Por Conta/Armazem

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsCmpCtuArz
Listar cabecalho            [FxCAB]=XlsCmpCtuArz_Cab
Listar linhas               [FxLIN]=XlsCmpCtuArz_Lin
Listar fim                  [FxFIM]=XlsCmpCtuArz_Fim

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

Matriz auxiliar            [DocMat]=StcResMov.xls
##


'==============================================================================
'- EXP ------------------------------------------------------------------------
'==============================================================================
'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=ExpCmpArtCtu,Exp. Compras: Artigo/Conta (XLS)

'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]=ExpCmpArtCtu
Listar cabecalho            [FxCAB]=ExpCmpArtCtu_Cab
Listar linhas               [FxLIN]=ExpCmpArtCtu_Lin
Listar fim                  [FxFIM]=ExpCmpArtCtu_Fim

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

Matriz auxiliar            [DocMat]=StcResMovExp.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=ExpCmpArtCtuArz,Exp. Compras: Artigo/Conta/Armazem (XLS)

'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]=ExpCmpArtCtuArz
Listar cabecalho            [FxCAB]=ExpCmpArtCtuArz_Cab
Listar linhas               [FxLIN]=ExpCmpArtCtuArz_Lin
Listar fim                  [FxFIM]=ExpCmpArtCtuArz_Fim

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

Matriz auxiliar            [DocMat]=StcResMovExp.xls
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
Tipo     = MemTxt$(1)
Pag      = Doc_CntPag
Tit080   = TxTit$("TT=10CPI, LD, PT=40C",Memtxt$(1))
Tit132   = TxTit$("TT=16CPI, LD, PT=66C",Memtxt$(1))
DataExt  = FrmVal$(Sig_DtHoje,45,0)

'- dados a listar -------------------------------------------------------------
vEntCod  = entCod$                              'entidade - codigo
vEntCov  = entCov$                              'entidade - codigo formatado
vEntIde  = entIde$                              'entidade - identificacao

vObs     = usaObs$                              'observacaoes

'resumo
vaResQu  = FrmNum$(06.3,resQu)                  'quantidade
vaResVt  = FrmNum$(12.2,resVt)                  'valor
vaResVm  = FrmNum$(12.2,resVm)                  'valor medio
vaResNr  = FrmNum$(08.0,resNr)                  'numero de registos

'artigo
vArtCod  = artCod$                              'codigo
vArtCov  = artCov$                              'codigo formatado
vArtNom  = artNom$                              'nome

'conta
vCtCod   = CTA_MST_Ct$                          'codigo da conta
vCtNom   = CTA_MST_Nome$                        'nome

'armazem
vArzCod  = arzCod$                              'codigo
vArzCov  = arzCov$                              'codigo formatado
vArzNom  = arzNom$                              'nome

'vendedor
vVndCod  = vndCod$                              'codigo
vVndCov  = vndCov$                              'codigo formatado
vVndNom  = vndNom$                              'nome

'- diversos -------------------------------------------------------------------
'contagem
toNrg    = FrmNum$(9.0,TotCnt("vEntCov",0))     'numero de registos - total
s1Nrg    = FrmNum$(9.0,TotCnt("vEntCov",1))     'numero de registos - subtotal 1
s2Nrg    = FrmNum$(9.0,TotCnt("vEntCov",2))     'numero de registos - subtotal 2

'resumo
toResQu  = FrmNum$(6.3,Total("vaResQu",0))      'quantidade - total
s1ResQu  = FrmNum$(6.3,Total("vaResQu",1))      'quantidade - subtotal 1
s2ResQu  = FrmNum$(6.3,Total("vaResQu",2))      'quantidade - subtotal 2

toResVt  = FrmNum$(12.2,Total("vaResVt",0))     'valor - total
s1ResVt  = FrmNum$(12.2,Total("vaResVt",1))     'valor - subtotal 1
s2ResVt  = FrmNum$(12.2,Total("vaResVt",2))     'valor - subtotal 2

toResNr  = FrmNum$(08.0,Total("vaResNr",0))     'numero de registos - total
s1ResNr  = FrmNum$(08.0,Total("vaResNr",1))     'numero de registos - subtotal 1
s2ResNr  = FrmNum$(08.0,Total("vaResNr",2))     'numero de registos - subtotal 2
##


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


Sub FxIni 'funcao de inicializacao
'nada a excutar
end sub


Sub FxFim 'funcao de finalizacao
'nada a excutar
end sub


Sub Lst_AJT 'ajuste
'nada a excutar
end sub


'=============================================================================
'- Comum ---------------------------------------------------------------------
'=============================================================================
'-----------------------------------------------------------------------------
'- [VAR] - Variaveis ---------------------------------------------------------
'-----------------------------------------------------------------------------
Sub Com_Var_Con 'consultar variaveis
artCod$ = SqlCmp$("ART")                           'artigo
ctuCod$ = SqlCmp$("CTU")                           'conta

arzCod  = SqlCmp("ARZ")                            'armazem
vndCod  = SqlCmp("VND")                            'vendedor

resQu   = SqlCmp("RQU")                            'quantidade
resVt   = SqlCmp("RVT")                            'valor
resVm   = resVt / resQu                            'valor medio

resNr   = SqlCmp("NRG")                            'numero de registos

'msgbox "","NRG",resNr
end sub


Sub Com_Var_Prp 'preparar variaveis
usaObs$ = ""                                       'anular observacoes
call Com_Var_Con                                   'consultar variaveis

'preparar valores
call Com_Var_PrpArt                                'preparar variaveis - artigo
call Com_Var_PrpArz                                'preparar variaveis - armazem
call Com_Var_PrpVnd                                'preparar variaveis - vendedor
call Com_Var_PrpCtu                                'preparar variaveis - conta
end sub


Sub Com_Var_PrpArt 'preparar variaveis - artigo
res     = SqlOpcAct("Art.Cod",artCod$)             'registar artigo
res     = SqlCalc("ARTNOM")                        'preparar nome do artigo

artCov$ = StcCodFrm$(artCod$)                      'codigo formatado
artNom$ = SqlOpcCon$("NOME$")                      'nome
artIde$ = artCov$ + " - " + artNom$                'identificacao
end sub


Sub Com_Var_PrpArz 'preparar variaveis - armazem
'arzCov$ = TxtCv$(arzCod)                          'codigo formatado
'arzCov$ = NumTxt$(arzCod, 2)                      'codigo formatado
arzCov$ = NumTxt$(arzCod, 3)                       'codigo formatado
arzNom$ = "Armazem " + arzCov$                     'nome
arzIde$ = "Armazem " + arzCov$                     'identificacao
end sub


Sub Com_Var_PrpVnd 'preparar variaveis - vendedor
vndCov$ = NumTxt$(vndCod, 2)                       'codigo formatado
vndNom$ = EmpTabCon$("VEND", vndCod, "NOME")       'nome
vndIde$ = vndCov$ + " - " + vndNom$                'identificacao
end sub


Sub Com_Var_PrpCtu 'preparar variaveis - conta
res  = CtaContaLer(ctuCod$)                        'preparar dados da conta

ctuCov$ = CTA_MST_Ct$                              'codigo formatado
ctuNom$ = CTA_MST_Nome$                            'nome
ctuIde$ = ctuCov$ + " - " + ctuNom$                'identificacao
end sub


'-----------------------------------------------------------------------------
'- [TXT] - Listar em modo texto ----------------------------------------------
'-----------------------------------------------------------------------------
Sub Com_Txt_Cab 'cabecalho - texto
'cabTit$ = "Titulo"
FxDiv LstIde,10CPI,0
'print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI",comCabTit$)
print TxTit$("TT=10CPI, LD, PT=66C, TL=10CPI",comCabTit$)
?Data: @DataExt                                                                                                       Folha No: @Pag#
?====================================================================================================================================
?  Codigo         Nome                              Quantidade           Valor         V. Médio     Registos   Observaçõss          #
'123456789.12345  123456789.123456789.123456789.12  12,345.123   -123,456,789.12   -123,456,789.12   123,456                        #
?====================================================================================================================================
end sub


Sub Com_Txt_LinExe 'executar linha
'?@vEntCov        @vEntIde                           @vaResQu     @vaResVt       #
?@vEntCov        @vEntIde                           @vaResQu     @vaResVt          @vaResVm         @vaResNr                        #
end sub


Sub Com_Txt_Fim 'terminar
?====================================================================================================================================
?   Totais: @toNrg                                  @toResQu     @toResVt                           @toResNr                        #
?====================================================================================================================================
FxDiv LstPer,SP
'Print PrtCmd$("[SP]");
end sub


Sub Com_Txt_LinTit1 'titulo 1
if titIde$ <> "" then                              'ha titulo ?
   tmp = CntLin("INC", 1)                          'contar linhas
   print tab(5) titIde$                            'listar 
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Txt_LinTit2 'titulo 2
if titIde$ <> "" then                              'ha titulo ?
   tmp = CntLin("INC", 1)                          'contar linhas
   print tab(5) titIde$                            'listar 
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Txt_LinSbt1 'subtotal 1
nrg = TotCnt("vEntCov",1)                          'numero de registos
vResNr = Total("vaResNr",1)                        'numero de registos - subtotal 1

if nrg > 1 then                                    'listar numero ?
?           @s1Nrg                                  @s1ResQu     @s1ResVt                           @s1ResNr                        #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

tmp=CntLin("INC", 1)                               'contar linhas
print                                              'separar

x = TotLpz(1)                                      'limpar totais
end sub


Sub Com_Txt_LinSbt2 'subtotal 2
nrg = TotCnt("vEntCov",2)                          'numero de registos
vResNr = Total("vaResNr",2)                        'numero de registos - subtotal 2

if nrg > 1 then                                    'listar numero ?
?           @s2Nrg                                  @s2ResQu     @s2ResVt                           @s2ResNr                        #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

if sepSbt2 = 1 then                                'separar subtotal 2 ?
   tmp=CntLin("INC", 1)                            'contar linhas
   print                                           'separar
end if

sepSbt2 = 1                                        'separar subtotal 2
x = TotLpz(2)                                      'limpar totais
end sub


'------------------------------------------------------------------------------
'- [XLS] - Listar para EXCEL --------------------------------------------------
'------------------------------------------------------------------------------
Sub Com_Xls_DocIni 'inicializar documento
xlsOpcNfi$ = "RND:" + comXlsFic$                   'nome do ficheiro a gerar
xlsOpcWks$ = ""                                    'nome da woorksheet

call XlsComDoc_IniMat                              'inicializar documento por matriz

'preparacao especifica
res = XlsWks("Valores")                            'activar worksheet

'preparar cabecalho
empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTit$ = comCabTit$                               '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$)               'titulo da listagem
res = XlsIdeLst("Lst_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data

call XlsComLin_Ini                                 'iniciar linhas

'definicao das colunas
coNrg    = 2                                       'numero de registos - total
coNrs    = 3                                       'numero de registos - subtotal

coCod    = 2                                       'codigo
coNom    = 3                                       'nome

coResQu  = 4                                       'quantidade
coResVt  = 5                                       'valor
end sub


Sub Com_Xls_DocFim 'terminar documento
'res = XlsWksAct("A", 1)                            'activar worksheet
call XlsComDoc_Fim                                 'terminar/mostrar documento
end sub


Sub Com_Xls_IncLin 'incrementar linha
'call XlsComLin_Inc                                 'incrementar linha
call XlsComLin_IncRep                              'incrementar linha + repor formato normal

zon$ = XlsZon$(liUsa, coCod,liUsa, coNom)          'zona
'zon$= XlsZonNum$("L", liUsa)                      'zona da linha
res = XlsAli(zon$, "<")                            'alinhamento
end sub


Sub Com_Xls_LinSep 'linha de separacao
call XlsCmp_IncLin                                 'incrementar linha
end sub


Sub Com_Xls_LstLinIde 'listar linha - identificacao (codigo e nome)
res = XlsLst(liUsa, coCod, vaCod$)                 'codigo
res = XlsLst(liUsa, coNom, vaNom$)                 'nome
end sub


Sub Com_Xls_LstLinArt 'listar linha - artigo
res = XlsLst(liUsa, coArtCod, artCod$)             'codigo
res = XlsLst(liUsa, coArtNom, artNom$)             'nome
end sub


Sub Com_Xls_LstLinArz 'listar linha - armazem
res = XlsLst(liUsa, coArzCod, arzCod)              'codigo
end sub


Sub Com_Xls_LstLinVnd 'listar linha - vendedor
res = XlsLst(liUsa, coVndCod, vndCod)              'codigo
end sub


Sub Com_Xls_LstLinCtu 'listar linha - conta
res = XlsLst(liUsa, coCtuCod, ctuCod$)             'codigo
res = XlsLst(liUsa, coCtuNom, ctuNom$)             'nome
end sub


Sub Com_Xls_LstLinRes 'listar linha - resumo
res = XlsLst(liUsa, coResQu, resQu)                'quantidade
res = XlsLst(liUsa, coResVt, resVt)                'valor total
'- (52) ------------------------------------------>'Comentario

res = AcmExe("vaResQu", resQu)                     'acumular - quantidade
res = AcmExe("vaResVt", resVt)                     'acumular - valor
end sub


Sub Com_Xls_LstTot 'listar totais
call XlsComLin_Fim                                 'fim de linhas

vNrg   = TotCnt("vaResQu", 0)                      'numero de registos
vResQu = Total("vaResQu", 0)                       'quantidade
vResVt = Total("vaResVt", 0)                       'valor

'listar
liUsa = linFim                                     'linha a usar

call XlsComLin_ActBI                               'activar linha em BOLD+ITALICO
res = XlsLst(liUsa, coNrg, vNrg)                   'numero de registos
res = XlsLst(liUsa, coResQu, vResQu)               'total quantidade
res = XlsLst(liUsa, coResVt, vResVt)               'total valor
end sub


Sub Com_Xls_LinTit1 'titulo 1
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	

   res = XlsLst(liUsa, coNom, titIde$)             'listar identificacao
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_LinTit2 'titulo 2
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	

   res = XlsLst(liUsa, coNom, titIde$)             'listar identificacao
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_SbtNrg 'numero de registos do subtotal
res = XlsLst(liUsa, coNrs, vNrg)                   'numero de registos

zon$ = XlsZon$(liUsa, coNrs)                       'zona
res = XlsAli(zon$, "|")                            'alinhamento
end sub


Sub Com_Xls_LinSbt1 'subtotal 1
vNrg   = TotCnt("vaResQu", 1)                      'numero de registos
vResQu = Total("vaResQu", 1)                       'quantidade
vResVt = Total("vaResVt", 1)                       'valor

if vNrg > 1 then                                   'listar numero ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActBI                            'activar linha em BOLD+ITALICO

   call Com_Xls_SbtNrg                             'numero de registos do subtotal
   res = XlsLst(liUsa, coResQu, vResQu)            'total quantidade
   res = XlsLst(liUsa, coResVt, vResVt)            'total valor
end if

call Com_Xls_IncLin                                'incrementar linha	

x = TotLpz(1)                                      'limpar totais
end sub


Sub Com_Xls_LinSbt2 'subtotal 2
vNrg   = TotCnt("vaResQu", 2)                      'numero de registos
vResQu = Total("vaResQu", 2)                       'quantidade
vResVt = Total("vaResVt", 2)                       'valor

if vNrg > 1 then                                   'listar numero ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActBI                            'activar linha em BOLD+ITALICO

   call Com_Xls_SbtNrg                             'numero de registos do subtotal
   res = XlsLst(liUsa, coResQu, vResQu)            'total quantidade
   res = XlsLst(liUsa, coResVt, vResVt)            'total valor
end if

if sepSbt2 = 1 then                                'separar subtotal 2 ?
   call Com_Xls_IncLin                             'incrementar linha	
end if

sepSbt2 = 1                                        'separar subtotal 2
x = TotLpz(2)                                      'limpar totais
end sub


'==============================================================================
'- [TXT] - Listar em modo texto -----------------------------------------------
'==============================================================================
'------------------------------------------------------------------------------
'- [TXT] - Compras por artigo/conta -------------------------------------------
'------------------------------------------------------------------------------
Sub CmpArtCtu_Cab 'cabecalho
comCabTit$ = "Compras por Artigo/Conta"            'titulo

call Com_Txt_Cab                                   'listar
end sub


Sub CmpArtCtu_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis

entCod$ = ctuCod$                                  'entidade - codigo
entCov$ = ctuCov$                                  'entidade - codigo formatado
entIde$ = ctuNom$                                  'entidade - identificacao

call Com_Txt_LinExe                                'executar linha
end sub


Sub CmpArtCtu_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


Sub CmpArtCtu_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

titIde$ = artIde$                                  'titulo
call Com_Txt_LinTit1                               'listar
end sub


Sub CmpArtCtu_LinSbt1 'subtotal 1
call Com_Txt_LinSbt1                               'listar
end sub


'------------------------------------------------------------------------------
'- [TXT] - Compras por conta/artigo -------------------------------------------
'------------------------------------------------------------------------------
Sub CmpCtuArt_Cab 'cabecalho
comCabTit$ = "Compras por Conta/Artigo"            'titulo

call Com_Txt_Cab                                   'listar
end sub


Sub CmpCtuArt_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis

entCod$ = artCod$                                  'entidade - codigo
entCov$ = artCov$                                  'entidade - codigo formatado
entIde$ = artNom$                                  'entidade - identificacao

call Com_Txt_LinExe                                'executar linha
end sub


Sub CmpCtuArt_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


Sub CmpCtuArt_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCtu                                'preparar variaveis - conta

titIde$ = ctuIde$                                  'titulo
call Com_Txt_LinTit1                               'listar
end sub


Sub CmpCtuArt_LinSbt1 'subtotal 1
call Com_Txt_LinSbt1                               'listar
end sub


'------------------------------------------------------------------------------
'- [TXT] - Compras por armazem/artigo -----------------------------------------
'------------------------------------------------------------------------------
Sub CmpArzArt_Cab 'cabecalho
comCabTit$ = "Compras por Armazem/Artigo"          'titulo

call Com_Txt_Cab                                   'listar
end sub


Sub CmpArzArt_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis

entCod$ = artCod$                                  'entidade - codigo
entCov$ = artCov$                                  'entidade - codigo formatado
entIde$ = artNom$                                  'entidade - identificacao

call Com_Txt_LinExe                                'executar linha
end sub


Sub CmpArzArt_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


Sub CmpArzArt_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArz                                'preparar variaveis - armazem

titIde$ = arzIde$                                  'titulo
call Com_Txt_LinTit1                               'listar
end sub


Sub CmpArzArt_LinSbt1 'subtotal 1
call Com_Txt_LinSbt1                               'listar
end sub


'------------------------------------------------------------------------------
'- [TXT] - Compras por artigo/armazem -----------------------------------------
'------------------------------------------------------------------------------
Sub CmpArtArz_Cab 'cabecalho
comCabTit$ = "Compras por Artigo/Armazem"          'titulo

call Com_Txt_Cab                                   'listar
end sub


Sub CmpArtArz_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis

entCod$ = arzCod$                                  'entidade - codigo
entCov$ = "   " + arzCov$                          'entidade - codigo formatado
entIde$ = arzIde$                                  'entidade - identificacao

call Com_Txt_LinExe                                'executar linha
end sub


Sub CmpArtArz_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


Sub CmpArtArz_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

titIde$ = artIde$                                  'titulo
call Com_Txt_LinTit1                               'listar
end sub


Sub CmpArtArz_LinSbt1 'subtotal 1
call Com_Txt_LinSbt1                               'listar
end sub


'==============================================================================
'- [XLS] - Listar para XLS ----------------------------------------------------
'==============================================================================

'==============================================================================
'= ART ========================================================================
'==============================================================================

'------------------------------------------------------------------------------
'- [XLS] - Compras por artigo/armazem -----------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpArtArz_DocIni 'inicializar documento
comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Artigo/Armazem"          'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsCmpArtArz_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsCmpArtArz_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

vaCod$  = arzCov$                                  'entidade - codigo formatado
vaNom$  = arzNom$                                  'entidade - identificacao

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub XlsCmpArtArz_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsCmpArtArz_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

titIde$ = artIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsCmpArtArz_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub


'------------------------------------------------------------------------------
'- [XLS] - Compras por artigo/conta -------------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpArtCtu_DocIni 'inicializar documento
comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Artigo/Conta"            'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsCmpArtCtu_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsCmpArtCtu_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

vaCod$  = ctuCov$                                  'entidade - codigo formatado
vaNom$  = ctuNom$                                  'entidade - identificacao

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub XlsCmpArtCtu_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsCmpArtCtu_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

titIde$ = artIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsCmpArtCtu_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub


'==============================================================================
'= ARZ ========================================================================
'==============================================================================

'------------------------------------------------------------------------------
'- [XLS] - Compras por armazem/Artigo -----------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpArzArt_DocIni 'inicializar documento
comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Armazem/Artigo"          'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsCmpArzArt_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsCmpArzArt_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

vaCod$  = artCov$                                  'codigo
vaNom$  = artNom$                                  'nome

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub XlsCmpArzArt_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsCmpArzArt_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArz                                'preparar variaveis - armazem

titIde$ = arzIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsCmpArzArt_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub


'------------------------------------------------------------------------------
'- [XLS] - Compras por armazem/Conta ------------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpArzCtu_DocIni 'inicializar documento
comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Armazem/Conta"           'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsCmpArzCtu_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsCmpArzCtu_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

vaCod$  = ctuCov$                                  'entidade - codigo formatado
vaNom$  = ctuNom$                                  'entidade - identificacao

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub XlsCmpArzCtu_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsCmpArzCtu_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArz                                'preparar variaveis - armazem

titIde$ = arzIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsCmpArzCtu_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub



'==============================================================================
'= CTU ========================================================================
'==============================================================================

'------------------------------------------------------------------------------
'- [XLS] - Compras por conta/artigo -------------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpCtuArt_DocIni 'inicializar documento
comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Conta/Artigo"            'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsCmpCtuArt_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsCmpCtuArt_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

vaCod$  = artCov$                                  'codigo
vaNom$  = artNom$                                  'nome

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub XlsCmpCtuArt_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsCmpCtuArt_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCtu                                'preparar variaveis - conta

titIde$ = ctuIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsCmpCtuArt_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub


'------------------------------------------------------------------------------
'- [XLS] - Compras por conta/armazem ------------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpCtuArz_DocIni 'inicializar documento
comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Conta/Armazem"           'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsCmpCtuArz_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsCmpCtuArz_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

vaCod$  = arzCov$                                  'codigo
vaNom$  = arzNom$                                  'nome

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub XlsCmpCtuArz_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsCmpCtuArz_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCtu                                'preparar variaveis - conta

titIde$ = ctuIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsCmpCtuArz_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub


'==============================================================================
'- [EXP] - Exportar para XLS --------------------------------------------------
'==============================================================================
'------------------------------------------------------------------------------
'- [EXP] - Compras por artigo/conta -------------------------------------------
'------------------------------------------------------------------------------
Sub ExpCmpArtCtu_DocIni 'inicializar documento
comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Artigo/Conta"            'titulo

call Com_Xls_DocIni                                'inicializar documento

'definicao das colunas
coNrg    = 2                                       'numero de registos

coArtCod = 2                                       'artigo - codigo
coArtNom = 3                                       'artigo - nome

coCtuCod = 4                                       'conta - codigo
coCtuNom = 5                                       'conta - nome

coArzCod = 6                                       'armazem - codigo
coVndCod = 7                                       'vendedor - codigo

coResQu  = 8                                       'quantidade
coResVt  = 9                                       'valor
end sub


Sub ExpCmpArtCtu_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub ExpCmpArtCtu_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

'listar
call Com_Xls_LstLinArt                             'listar artigo
call Com_Xls_LstLinCtu                             'listar conta
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub ExpCmpArtCtu_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


'------------------------------------------------------------------------------
'- [EXP] - Compras por artigo/conta/armazem -----------------------------------
'------------------------------------------------------------------------------
Sub ExpCmpArtCtuArz_DocIni 'inicializar documento
'msgbox "", "ResXLS", "DocIni"

comXlsFic$ = "StcResMov.xls"                       'nome do ficheiro
comCabTit$ = "Compras por Artigo/Conta/Armazem"    'titulo

call Com_Xls_DocIni                                'inicializar documento

'definicao das colunas
coNrg    = 2                                       'numero de registos

coArtCod = 2                                       'artigo - codigo
coArtNom = 3                                       'artigo - nome

coCtuCod = 4                                       'conta - codigo
coCtuNom = 5                                       'conta - nome

coArzCod = 6                                       'armazem - codigo
coVndCod = 7                                       'vendedor - codigo

coResQu  = 8                                       'quantidade
coResVt  = 9                                       'valor
end sub


Sub ExpCmpArtCtuArz_DocFim 'terminar documento
'msgbox "", "ResXLS", "DocFim"
call Com_Xls_DocFim                                'terminar documento
end sub


Sub ExpCmpArtCtuArz_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

'listar
call Com_Xls_LstLinArt                             'listar artigo
call Com_Xls_LstLinCtu                             'listar conta
call Com_Xls_LstLinArz                             'listar armazem
call Com_Xls_LstLinRes                             'listar resumo
end sub


Sub ExpCmpArtCtuArz_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub

##


'==============================================================================
#INC - Funcoes comuns
'==============================================================================
Funcoes comuns                         =[SIG_Dir.Div],LsComPgm.std
Funcoes comuns XLS                     =[SIG_LST_DIR.XLS],XlsCom_Pgm.inc
##
