'Nome       : StcLisCmp.sql
'Tipo       : SQL
'Data       : 2016/05/10
'Versao     : 1.0a
'Descricao  : STC - Lista de compras

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0a  ____/__/__ --------------------------------------------------
'Correccao de listagem de totais

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


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


'==============================================================================
#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}'


'------------------------------------------------------------------------------
'- Compras por Artigo/Conta ---------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=LisCmpArtCtu=+
   +SELECT MOV.*, Qu * CmpSinQ AS usaQU, Vt * CmpSinV AS usaVT +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Tdoc$   BETWEEN '{Opc_Tdoc.Ini}'  AND '{Opc_Tdoc.Fim}' +
   +AND   Ndoc$   BETWEEN '{Opc_Ndoc.Ini}'  AND '{Opc_Ndoc.Fim}' +
   +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   ArzSai  BETWEEN  {Opc_ArzSai.Ini} AND  {Opc_ArzSai.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +ORDER BY Art$, Ct$, Tdoc$, Ndoc$


'------------------------------------------------------------------------------
'- Compras por Conta/Artigo ---------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=LisCmpCtuArt=+
   +SELECT MOV.*, Qu * CmpSinQ AS usaQU, Vt * CmpSinV AS usaVT +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Tdoc$   BETWEEN '{Opc_Tdoc.Ini}'  AND '{Opc_Tdoc.Fim}' +
   +AND   Ndoc$   BETWEEN '{Opc_Ndoc.Ini}'  AND '{Opc_Ndoc.Fim}' +
   +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   ArzSai  BETWEEN  {Opc_ArzSai.Ini} AND  {Opc_ArzSai.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +ORDER BY Ct$, Art$, Tdoc$, Ndoc$


'------------------------------------------------------------------------------
'- Compras por Conta/Documento/Artigo -----------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=LisCmpCtuDocArt=+
   +SELECT MOV.*, Qu * CmpSinQ AS usaQU, Vt * CmpSinV AS usaVT +
   +FROM StcMov{Ano} AS MOV +
   +LEFT JOIN StcCmvMap AS MAP ON MOV.Cmv = MAP.Cmv +
   +WHERE RecVal <> 255 +
   +AND   CmpUsa$ = 'S' +
   +AND   Tdoc$   BETWEEN '{Opc_Tdoc.Ini}'  AND '{Opc_Tdoc.Fim}' +
   +AND   Ndoc$   BETWEEN '{Opc_Ndoc.Ini}'  AND '{Opc_Ndoc.Fim}' +
   +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   ArzSai  BETWEEN  {Opc_ArzSai.Ini} AND  {Opc_ArzSai.Fim} +
   +AND   Vend    BETWEEN  {Opc_Vnd.Ini}    AND  {Opc_Vnd.Fim} +
   +ORDER BY Ct$, Tdoc$, Ndoc$, Art$

##


'==============================================================================
'- 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]=132
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]=LisCmpArtCtu
Subtotalizadores           [SQLSbt]=Art$,Ct$
##


'==============================================================================
#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]=LisCmpCtuArt
Subtotalizadores           [SQLSbt]=Ct$,Art$
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CmpCtuDocArt,Compras Por Conta/Doc/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]=CmpCtuDocArt_Cab
Listar linhas               [FxLIN]=CmpCtuDocArt_Lin
Listar fim                  [FxFIM]=CmpCtuDocArt_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=LisCmpCtuDocArt
Subtotalizadores           [SQLSbt]=Ct$,Tdoc$,Ndoc$,Art$
##


'==============================================================================
'- 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]=LisCmpArtCtu
Subtotalizadores           [SQLSbt]=Art$,Ct$

Matriz auxiliar            [DocMat]=StcLisMov.xls
##


'==============================================================================
#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]=LisCmpCtuArt
Subtotalizadores           [SQLSbt]=Ct$,Art$

Matriz auxiliar            [DocMat]=StcLisMov.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsCmpCtuDocArt,XLS - Compras Por Conta/Doc/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]=XlsCmpCtuDocArt
Listar cabecalho            [FxCAB]=XlsCmpCtuDocArt_Cab
Listar linhas               [FxLIN]=XlsCmpCtuDocArt_Lin
Listar fim                  [FxFIM]=XlsCmpCtuDocArt_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=LisCmpCtuDocArt
Subtotalizadores           [SQLSbt]=Ct$,Tdoc$,Ndoc$,Art$

Matriz auxiliar            [DocMat]=StcLisMov.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 -------------------------------------------------------------
vaEntCod = entCod$                              'entidade - codigo
vaEntCov = entCov$                              'entidade - codigo formatado
vaEntIde = entIde$                              'entidade - identificacao

vaObs    = usaObs$                              'observacaoes

'documento
vaMovTdo = movTdo$                              'tipo de documento
vaMovNdo = movNdo$                              'numero de documento
vaMovDoc = movDoc$                              'documento
vaMovDtl = FrmDt$("",docDtl)                    'data

'artigo
vaArtCod = artCod$                              'codigo
vaArtCov = artCov$                              'codigo formatado
vaArtNom = artNom$                              'nome

'conta
vaCtCod   = CTA_MST_Ct$                         'codigo da conta
vaCtNom   = CTA_MST_Nome$                       'nome

'codigo de movimento
vaCmv    = FrmNum$(6,cmvCod)                    'codigo - espaco reduzido
vaCmvCod = cmvCtx$                              'codigo
vaCmvCov = cmvCov$                              'codigo formatado
vaCmvNom = cmvNom$                              'nome

'armazem
'vaArz    = arzCtx$                              'codigo - espaco reduzido
vaArz    = FrmNum$(6,arzCod)                    'codigo - espaco reduzido
vaArzCod = arzCod$                              'codigo
vaArzCov = arzCov$                              'codigo formatado
vaArzNom = arzNom$                              'nome

'vendedor
'vaVnd    = vndCtx$                              'codigo - espaco reduzido
vaVnd    = FrmNum$(6,vndCod)                    'codigo - espaco reduzido
vaVndCod = vndCod$                              'codigo
vaVndCov = vndCov$                              'codigo formatado
vaVndNom = vndNom$                              'nome

'quantidade/valor
vaMovQu  = FrmNum$(06.3,movQua)                 'quantidade
vaMovVt  = FrmNum$(12.2,movVto)                 'valor

vaUsaQu  = FrmNum$(06.3,movUsQ)                 'quantidade
vaUsaVt  = FrmNum$(12.2,movUsV)                 'valor


'- diversos -------------------------------------------------------------------
vaIdeSbt  = ideSbt$                             'identificacao de subtotal

'contagem
toNrg    = FrmNum$(9.0,TotCnt("vaEntCov",0))    'numero de registos - total
s1Nrg    = FrmNum$(9.0,TotCnt("vaEntCov",1))    'numero de registos - subtotal 1
s2Nrg    = FrmNum$(9.0,TotCnt("vaEntCov",2))    'numero de registos - subtotal 2
s3Nrg    = FrmNum$(9.0,TotCnt("vaEntCov",3))    'numero de registos - subtotal 3
s4Nrg    = FrmNum$(9.0,TotCnt("vaEntCov",4))    'numero de registos - subtotal 4

'quantidade/valor
toMovQu  = FrmNum$(6.3,Total("vaMovQu",0))      'quantidade - total
s1MovQu  = FrmNum$(6.3,Total("vaMovQu",1))      'quantidade - subtotal 1
s2MovQu  = FrmNum$(6.3,Total("vaMovQu",2))      'quantidade - subtotal 2
s3MovQu  = FrmNum$(6.3,Total("vaMovQu",3))      'quantidade - subtotal 3
s4MovQu  = FrmNum$(6.3,Total("vaMovQu",4))      'quantidade - subtotal 4

toMovVt  = FrmNum$(12.2,Total("vaMovVt",0))     'valor - total
s1MovVt  = FrmNum$(12.2,Total("vaMovVt",1))     'valor - subtotal 1
s2MovVt  = FrmNum$(12.2,Total("vaMovVt",2))     'valor - subtotal 2
s3MovVt  = FrmNum$(12.2,Total("vaMovVt",3))     'valor - subtotal 3
s4MovVt  = FrmNum$(12.2,Total("vaMovVt",4))     'valor - subtotal 4

toUsaQu  = FrmNum$(06.3,Total("vaUsaQu",0))     'quantidade/usar - total
s1UsaQu  = FrmNum$(06.3,Total("vaUsaQu",1))     'quantidade/usar - subtotal 1
s2UsaQu  = FrmNum$(06.3,Total("vaUsaQu",2))     'quantidade/usar - subtotal 2
s3UsaQu  = FrmNum$(06.3,Total("vaUsaQu",3))     'quantidade/usar - subtotal 3
s4UsaQu  = FrmNum$(06.3,Total("vaUsaQu",4))     'quantidade/usar - subtotal 4

toUsaVt  = FrmNum$(12.2,Total("vaUsaVt",0))     'valor/usar - total
s1UsaVt  = FrmNum$(12.2,Total("vaUsaVt",1))     'valor/usar - subtotal 1
s2UsaVt  = FrmNum$(12.2,Total("vaUsaVt",2))     'valor/usar - subtotal 2
s3UsaVt  = FrmNum$(12.2,Total("vaUsaVt",3))     'valor/usar - subtotal 3
s4UsaVt  = FrmNum$(12.2,Total("vaUsaVt",4))     'valor/usar - subtotal 4
##


'==============================================================================
#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
docTdo$ = SqlCmp$("TDOC$")                         'tipo de documento
docNdo$ = SqlCmp$("NDOC$")                         'numero de documento
docDtl  = SqlCmp("DTL")                            'data do documento

artCod$ = SqlCmp$("ART$")                          'artigo
ctuCod$ = SqlCmp$("CT$")                           'conta

cmvCod  = SqlCmp("CMV")                            'codigo de movimento
vndCod  = SqlCmp("VEND")                           'vendedor

arzEnt  = SqlCmp("ARZENT")                         'armazem - entrada
arzSai  = SqlCmp("ARZSAI")                         'armazem - saida
arzCod  = arzEnt                                   'armazem - assume entrada
if arzCod < 1 then                                 'sem armazem ?
   arzCod  = arzSai                                'usar armazem de entrada
end if

movQua  = SqlCmp("QU")                             'quantidade
movVto  = SqlCmp("VT")                             'valor

movUsQ  = SqlCmp("usaQU")                          'quantidade a usar
movUsV  = SqlCmp("usaVT")                          'valor a usar

movTdo$ = docTdo$                                  'tipo de documento
movNdo$ = FrmNdo$("46", docTdo$, docNdo$)          'numero de documento
movDoc$ = movTdo$ + " " + movNdo$                  'documento
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_PrpCmv                                'preparar variaveis - codigo de movimento
call Com_Var_PrpArz                                'preparar variaveis - armazem
'call Com_Var_PrpVnd                                'preparar variaveis - vendedor
call Com_Var_PrpCtu                                'preparar variaveis - conta
call Com_Var_PrpDoc                                'preparar variaveis - documento
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_PrpCmv 'preparar variaveis - codigo de novimento
cmvCtx$ = TxtCv$(cmvCod)                           'codigo em texto
cmvCov$ = NumTxt$(cmvCod, 4)                       'codigo formatado
cmvNom$ = "CMV " + cmvCov$                         'nome
cmvIde$ = "CMV " + cmvCov$                         'identificacao
end sub


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


Sub Com_Var_PrpVnd 'preparar variaveis - vendedor
vndCtx$ = TxtCv$(vndCod)                           'codigo em texto
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

'msgbox "",ctuCod$,res

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


Sub Com_Var_PrpDoc 'preparar variaveis - documento
docCov$ = movDoc$                                  'codigo formatado
docIde$ = ctuCov$                                  'identificacao
end sub


'-----------------------------------------------------------------------------
'- [TXT] - Listar em modo texto ----------------------------------------------
'-----------------------------------------------------------------------------
Sub Com_Txt_Cab 'cabecalho - texto
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=66C, TL=10CPI",comCabTit$)
?Data: @DataExt                                                                                                       Folha No: @Pag#
?====================================================================================================================================
?  Codigo         Nome                                      Documento               Data     Quantidade          Valor     ARZ   CMV#
'123456789.12345  123456789.123456789.123456789.123456789.  VndF1  123,456/2012  2012/01/01  12,345.123  -123,456,789.12  1234  1234#
?====================================================================================================================================
'print string$(132,"-")
end sub


Sub Com_Txt_LinExe 'executar linha
'?@vaEntCov        @vaEntIde                                 @vaMovDoc            @vaMovDtl   @vaMovQu    @vaMovVt       @vaArz@vaCmv#
?@vaEntCov        @vaEntIde                                 @vaMovDoc            @vaMovDtl   @vaUsaQu    @vaUsaVt       @vaArz@vaCmv#
end sub


Sub Com_Txt_Fim 'terminar
?====================================================================================================================================
'?           Totais:              @toNrg                                                      @toMovQu    @toMovVt                   #
?           Totais:              @toNrg                                                      @toUsaQu    @toUsaVt                   #
?====================================================================================================================================
FxDiv LstPer,SP
'Print PrtCmd$("[SP]");
end sub


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

   tmp = CntLin("INC", 3)                          'contar linhas
   print string$(132,"-")                          'listar separador
   print tab(5) titIde$                            'listar 
   print string$(132,"-")                          'listar separador
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Txt_LinSbt1 'subtotal 1
nrg = TotCnt("vaEntCov",1)                         'numero de registos

if nrg > 1 then                                    'listar numero ?
?           @vaIdeSbt            @s1Nrg                                                      @s1UsaQu    @s1UsaVt                   #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

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

x = TotLpz(1)                                      'limpar totais

ideSbt$ = ""                                       'limpar identificador de subtotal
end sub


'- grupo 2 -------------------------------------------------------------------
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_LinSbt2 'subtotal 2
nrg = TotCnt("vaEntCov",2)                         'numero de registos

if nrg > 1 then                                    'listar numero ?
?           @vaIdeSbt            @s2Nrg                                                      @s2UsaQu    @s2UsaVt                   #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

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

sepSbt2 = 0                                        'nao separar subtotal 2
x = TotLpz(2)                                      'limpar totais

ideSbt$ = ""                                       'limpar identificador de subtotal
end sub


'- grupo 3 -------------------------------------------------------------------
Sub Com_Txt_LinTit3 'titulo 3
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_LinSbt3 'subtotal 3
nrg = TotCnt("vaEntCov",3)                         'numero de registos

if nrg > 1 then                                    'listar numero ?
?           @vaIdeSbt            @s3Nrg                                                      @s3UsaQu    @s3UsaVt                   #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

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

sepSbt3 = 0                                        'nao separar subtotal 3
x = TotLpz(3)                                      'limpar totais

ideSbt$ = ""                                       'limpar identificador de subtotal
end sub


'- grupo 4 -------------------------------------------------------------------
Sub Com_Txt_LinTit4 'titulo 4
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_LinSbt4 'subtotal 4
nrg = TotCnt("vaEntCov",4)                         'numero de registos

if nrg > 1 then                                    'listar numero ?
?           @vaIdeSbt            @s4Nrg                                                      @s4UsaQu    @s4UsaVt                   #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

'sepSbt4 = 1                                        'separar subtotal 4
'sepSbt4 = 0                                        'nao separar subtotal 4
if sepSbt4 = 1 then                                'separar subtotal 4 ?
   tmp=CntLin("INC", 1)                            'contar linhas
   print                                           'separar
end if

sepSbt4 = 0                                        'nao separar subtotal 4
x = TotLpz(4)                                      'limpar totais

ideSbt$ = ""                                       'limpar identificador de subtotal
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
coIds    = 3                                       'identificqcao de subtotal
coNrg    = 4                                       'numero de registos

coCod    = 2                                       'codigo
coNom    = 3                                       'nome

coDocTdo = 4                                       'documento - tipo
coDocNdo = 5                                       'documento - numero
coDocDtl = 6                                       'documento - data

coMovQu  = 7                                       'quantidade
coMovVt  = 8                                       'valor

coMovArz = 9                                       'armazem
'coMovVnd = 10                                      'vendedor
coMovCmv = 10                                      'codigo de movimento
coMovObs = 11                                      'observacoes
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

zon$ = XlsZon$(liUsa, coCod,liUsa, coDocTdo)       'zona
res = XlsAli(zon$, "<")                            'alinhamento
end sub


Sub Com_Xls_LinSep 'linha de separacao
call XlsVnd_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_LstLinMov 'listar linha - movimento
'preparar valores
vtxDtl$ = FrmDt$("", docDtl)                       'data
vtxObs$ = ""                                       'observacoes

'listar
res = XlsLst(liUsa, coDocTdo, movTdo$)             'tipo de documento
res = XlsLst(liUsa, coDocNdo, movNdo$)             'numero de documento
res = XlsLst(liUsa, coDocDtl, vtxDtl$)             'data do documento

'res = XlsLst(liUsa, coMovQu, movQua)               'quantidade
'res = XlsLst(liUsa, coMovVt, movVto)               'valor total

'res = XlsLst(liUsa, coMovQu, usaQua)               'quantidade
'res = XlsLst(liUsa, coMovVt, usaVto)               'valor total

res = XlsLst(liUsa, coMovQu, movUsQ)               'quantidade
res = XlsLst(liUsa, coMovVt, movUsV)               'valor total

res = XlsLst(liUsa, coMovArz, arzCod)              'armazem
res = XlsLst(liUsa, coMovVnd, vndCod)              'vendedor
res = XlsLst(liUsa, coMovObs, vtxObs$)             'observacoes
'- (52) ------------------------------------------>'Comentario

'acumular valores
res = AcmExe("vaMovQu", movQua)                    'acumular - quantidade
res = AcmExe("vaMovVt", movVto)                    'acumular - valor

'res = AcmExe("vaMovQu", usaQua)                    'acumular - quantidade/usar
'res = AcmExe("vaMovVt", usaVto)                    'acumular - valor/usar
res = AcmExe("vaUsaQu", movUsQ)                    'acumular - quantidade
res = AcmExe("vaUsaVt", movUsV)                    'acumular - valor
end sub


Sub Com_Xls_LstTot 'listar totais
call XlsComLin_Fim                                 'fim de linhas

vNrg   = TotCnt("vaMovQu", 0)                      'numero de registos

vMovQu = Total("vaMovQu", 0)                       'quantidade
vMovVt = Total("vaMovVt", 0)                       'valor

vUsaQu = Total("vaUsaQu", 0)                       'quantidade/usar
vUsaVt = Total("vaUsaVt", 0)                       'valor/usar

'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, coMovQu, vMovQu)               'total quantidade
'res = XlsLst(liUsa, coMovVt, vMovVt)               'total valor

res = XlsLst(liUsa, coMovQu, vUsaQu)               'total quantidade/usar
res = XlsLst(liUsa, coMovVt, vUsaVt)               'total valor/usar
end sub


Sub Com_Xls_SbtNrg 'numero de registos do subtotal
res = XlsLst(liUsa, coNrg, vNrg)                   'numero de registos
res = XlsLst(liUsa, coIds, ideSbt$)                'identificar subtotal

'zon$ = XlsZon$(liUsa, coNrg)                       'zona
zon$ = XlsZon$(liUsa, coNom,liUsa, coDocTdo)       'zona
'msgbox "","ALI/NRG",zon$

res = XlsAli(zon$, "|")                            'alinhamento
end sub


'- grupo 1 -------------------------------------------------------------------
Sub Com_Xls_LinTit1 'titulo 1
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActB                             'activar linha em BOLD

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

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_LinSbt1 'subtotal 1
vNrg   = TotCnt("vaMovQu", 1)                      'numero de registos

vMovQu = Total("vaMovQu", 1)                       'quantidade
vMovVt = Total("vaMovVt", 1)                       'valor

vUsaQu = Total("vaMovQu", 1)                       'quantidade/usar
vUsaVt = Total("vaMovVt", 1)                       'valor/usar

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, coMovQu, vMovQu)            'total quantidade
   'res = XlsLst(liUsa, coMovVt, vMovVt)            'total valor

   res = XlsLst(liUsa, coMovQu, vUsaQu)            'total quantidade/usar
   res = XlsLst(liUsa, coMovVt, vUsaVt)            'total valor/usar
end if

call Com_Xls_IncLin                                'incrementar linha	

x = TotLpz(1)                                      'limpar totais
ideSbt$ = ""                                       'limpar identificador de subtotal
end sub


'- grupo 2 -------------------------------------------------------------------
Sub Com_Xls_LinTit2 'titulo 2
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActB                             'activar linha em BOLD

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

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_LinSbt2 'subtotal 2
vNrg   = TotCnt("vaMovQu", 2)                      'numero de registos

vMovQu = Total("vaMovQu", 2)                       'quantidade
vMovVt = Total("vaMovVt", 2)                       'valor

vUSaQu = Total("vaUsaQu", 2)                       'quantidade/usar
vUsaVt = Total("vaUsaVt", 2)                       'valor/usar

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, coMovQu, vMovQu)            'total quantidade
'   res = XlsLst(liUsa, coMovVt, vMovVt)            'total valor

   res = XlsLst(liUsa, coMovQu, vUsaQu)            'total quantidade/usar
   res = XlsLst(liUsa, coMovVt, vUsaVt)            'total valor/usar
end if

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

sepSbt2 = 0                                        'nao separar subtotal 2
x = TotLpz(2)                                      'limpar totais
ideSbt$ = ""                                       'limpar identificador de subtotal
end sub


'- grupo 3 -------------------------------------------------------------------
Sub Com_Xls_LinTit3 'titulo 3
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActB                             'activar linha em BOLD

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

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_LinSbt3 'subtotal 3
vNrg   = TotCnt("vaMovQu", 3)                      'numero de registos

'vMovQu = Total("vaMovQu", 3)                       'quantidade
'vMovVt = Total("vaMovVt", 3)                       'valor

vUsaQu = Total("vaUsaQu", 3)                       'quantidade/usar
vUsaVt = Total("vaUsaVt", 3)                       'valor/usar

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, coMovQu, vMovQu)            'total quantidade
'   res = XlsLst(liUsa, coMovVt, vMovVt)            'total valor

   res = XlsLst(liUsa, coMovQu, vUsaQu)            'total quantidade/usar
   res = XlsLst(liUsa, coMovVt, vUsaVt)            'total valor/usar
end if

sepSbt3 = 1                                        'separar subtotal 3
if sepSbt3 = 1 then                                'separar subtotal 3 ?
   call Com_Xls_IncLin                             'incrementar linha	
end if

sepSbt3 = 0                                        'nao separar subtotal 3
x = TotLpz(3)                                      'limpar totais
ideSbt$ = ""                                       'limpar identificador de subtotal
end sub


'- grupo 4 -------------------------------------------------------------------
Sub Com_Xls_LinTit4 'titulo 4
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActB                             'activar linha em BOLD

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

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_LinSbt4 'subtotal 4
vNrg   = TotCnt("vaMovQu", 4)                      'numero de registos

vMovQu = Total("vaMovQu", 4)                       'quantidade
vMovVt = Total("vaMovVt", 4)                       'valor

vUsaQu = Total("vaUsaQu", 4)                       'quantidade/usar
vUsaVt = Total("vaUsaVt", 4)                       'valor/usar

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, coMovQu, vMovQu)            'total quantidade
'   res = XlsLst(liUsa, coMovVt, vMovVt)            'total valor

   res = XlsLst(liUsa, coMovQu, vUsaQu)            'total quantidade/usar
   res = XlsLst(liUsa, coMovVt, vUsaVt)            'total valor/usar
end if

if sepSbt4 = 1 then                                'separar subtotal 4 ?
   call Com_Xls_IncLin                             'incrementar linha	
end if

sepSbt4 = 0                                        'nao separar subtotal 4
x = TotLpz(4)                                      'limpar totais
ideSbt$ = ""                                       'limpar identificador de subtotal
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
ideSbt$ = "Subtotal do artigo"                     'identificacao de subtotal
call Com_Txt_LinSbt1                               'listar
end sub


Sub CmpArtCtu_LinTit2 'titulo 2
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCtu                                'preparar variaveis - conta

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


Sub CmpArtCtu_LinSbt2 'subtotal 2
'sepSbt2 = 0                                        'nao separar subtotal 2
ideSbt$ = "Subtotal da conta"                      'identificacao de subtotal
call Com_Txt_LinSbt2                               '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
ideSbt$ = "Subtotal da conta"                      'identificacao de subtotal
call Com_Txt_LinSbt1                               'listar
end sub


Sub CmpCtuArt_LinTit2 'titulo 2
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

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


Sub CmpCtuArt_LinSbt2 'subtotal 2
'sepSbt2 = 0                                        'nao separar subtotal 2
ideSbt$ = "Subtotal do artigo"                     'identificacao de subtotal
call Com_Txt_LinSbt2                               'listar
end sub


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

call Com_Txt_Cab                                   'listar
end sub


Sub CmpCtuDocArt_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 CmpCtuDocArt_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


'- grupo 1 -------------------------------------------------------------------
Sub CmpCtuDocArt_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 CmpCtuDocArt_LinSbt1 'subtotal 1
ideSbt$ = "Subtotal da conta"                      'identificacao de subtotal
call Com_Txt_LinSbt1                               'listar
end sub


'- grupo 2 -------------------------------------------------------------------
Sub CmpCtuDocArt_LinTit2 'titulo 2
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpDoc                                'preparar variaveis - documento

titIde$ = docIde$                                  'titulo
'call Com_Txt_LinTit2                               'listar
end sub


Sub CmpCtuDocArt_LinSbt2 'subtotal 2
'sepSbt2 = 0                                        'nao separar subtotal 2
ideSbt$ = "Subtotal do tipo de documento"          'identificacao de subtotal
'call Com_Txt_LinSbt2                               'listar
end sub


'- grupo 3 -------------------------------------------------------------------
Sub CmpCtuDocArt_LinTit3 'titulo 3
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpNdo                                'preparar variaveis - numero de documento

titIde$ = docIde$                                  'titulo
'call Com_Txt_LinTit3                               'listar
end sub


Sub CmpCtuDocArt_LinSbt3 'subtotal 3
'sepSbt3 = 0                                        'nao separar subtotal 3
ideSbt$ = "Subtotal do documento"                  'identificacao de subtotal
call Com_Txt_LinSbt3                               'listar
end sub


'- grupo 4 -------------------------------------------------------------------
Sub CmpCtuDocArt_LinTit4 'titulo 4
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

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


Sub CmpCtuDocArt_LinSbt4 'subtotal 4
'sepSbt4 = 1                                        'separar subtotal 4
sepSbt4 = 0                                        'nao separar subtotal 4

ideSbt$ = "Subtotal do artigo"                     'identificacao de subtotal
call Com_Txt_LinSbt4                               'listar
end sub


'==============================================================================
'- [XLS] - Listar para XLS ----------------------------------------------------
'==============================================================================
'------------------------------------------------------------------------------
'- [XLS] - Compras por artigo/conta -------------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpArtCtu_DocIni 'inicializar documento
comXlsFic$ = "StcLisMov.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_LstLinMov                             'listar movimento
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
ideSbt$ = "Subtotal do artigo"                     'identificacao de subtotal
call Com_Xls_LinSbt1                               'listar
end sub


Sub XlsCmpArtCtu_LinTit2 'titulo 2
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCtu                                'preparar variaveis - conta

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


Sub XlsCmpArtCtu_LinSbt2 'subtotal 2
ideSbt$ = "Subtotal da conta"                      'identificacao de subtotal
call Com_Xls_LinSbt2                               'listar
end sub


'------------------------------------------------------------------------------
'- [XLS] - Compras por conta/artigo -------------------------------------------
'------------------------------------------------------------------------------
Sub XlsCmpCtuArt_DocIni 'inicializar documento
comXlsFic$ = "StcLisMov.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_LstLinMov                             'listar movimento
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
ideSbt$ = "Subtotal da conta"                      'identificacao de subtotal
call Com_Xls_LinSbt1                               'listar
end sub


Sub XlsCmpCtuArt_LinTit2 'titulo 2
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

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


Sub XlsCmpCtuArt_LinSbt2 'subtotal 2
ideSbt$ = "Subtotal do artigo"                     'identificacao de subtotal
call Com_Xls_LinSbt2                               'listar
end sub


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

call Com_Xls_DocIni                                'inicializar documento
end sub


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


Sub XlsCmpCtuDocArt_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_LstLinMov                             'listar movimento
end sub


Sub XlsCmpCtuDocArt_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


'- grupo 1 -------------------------------------------------------------------
Sub XlsCmpCtuDocArt_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 XlsCmpCtuDocArt_LinSbt1 'subtotal 1
ideSbt$ = "Subtotal da conta"                      'identificacao de subtotal
call Com_Xls_LinSbt1                               'listar
end sub


'- grupo 2 -------------------------------------------------------------------
Sub XlsCmpCtuDocArt_LinTit2 'titulo 2
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpDoc                                'preparar variaveis - documento

titIde$ = docIde$                                  'titulo
'call Com_Xls_LinTit2                               'listar
end sub


Sub XlsCmpCtuDocArt_LinSbt2 'subtotal 2
ideSbt$ = "Subtotal do tipo de documento"          'identificacao de subtotal
call Com_Xls_LinSbt2                               'listar
end sub


'- grupo 3 -------------------------------------------------------------------
Sub XlsCmpCtuDocArt_LinTit3 'titulo 3
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpDoc                                'preparar variaveis - documento

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


Sub XlsCmpCtuDocArt_LinSbt3 'subtotal 3
ideSbt$ = "Subtotal da documento"                  'identificacao de subtotal
call Com_Xls_LinSbt3                               'listar
end sub


'- grupo 4 -------------------------------------------------------------------
Sub XlsCmpCtuDocArt_LinTit4 'titulo 4
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpArt                                'preparar variaveis - artigo

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


Sub XlsCmpCtuDocArt_LinSbt4 'subtotal 4
'sepSbt4 = 1                                        'separar subtotal 4
sepSbt4 = 0                                        'nao separar subtotal 4

ideSbt$ = "Subtotal do artigo"                     'identificacao de subtotal
call Com_Xls_LinSbt4                               'listar
end sub

##


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

